Инструменты пользователя

Инструменты сайта


linux:zabbix

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
linux:zabbix [2021/11/24 07:15]
admin
linux:zabbix [2022/11/18 14:25] (текущий)
admin
Строка 1: Строка 1:
 ====== Zabbix ====== ====== Zabbix ======
  
 +Документация:
 +  * Параметры агента https://www.zabbix.com/documentation/current/ru/manual/config/items/itemtypes/zabbix_agent
  
 ===== Описание ===== ===== Описание =====
Строка 12: Строка 14:
 **Кроме агентов**, есть целый ряд доп возможностей для сбора информации: **Кроме агентов**, есть целый ряд доп возможностей для сбора информации:
   * **Simple check** - простые операции в т.ч. пинг   * **Simple check** - простые операции в т.ч. пинг
-  * **Zabbix trapper** - сбор инфы с т.н. трапперов, некие "мосты" между используемыми сервисами и самой системой+  * **Zabbix trapper** - Траппер элементы данных принимают входящие данные вместо запроса этих данных. Это полезно для любых данных, которые вы возможно захотите "запихнуть" в Zabbix
   * **Zabbix aggregate** - сбор совокупной информации из БД   * **Zabbix aggregate** - сбор совокупной информации из БД
   * **SSH agent** - подключение по SSH, используя указанные команды   * **SSH agent** - подключение по SSH, используя указанные команды
Строка 66: Строка 68:
  
  
 +===== Установка =====
 +Основные ресурсы: [[https://www.dmosk.ru/miniinstruktions.php?mini=zabbix-server-ubuntu#zabbix]]\\
 +[[https://www.zabbix.com/download|Официальная инструкция на все платформы]] \\
  
  
-===== =====+==== Подготовка сервера ==== 
 +**Автосинхронизация серверного времени**\\ 
 +Текущий часовой пояс: 
 +<code bash># timedatectl set-timezone Asia/Omsk</code>
  
 +Сервис синхронизации времени:
 +<code bash># apt install chrony && systemctl {enable,start} chrony</code>
  
 +**Брандмауэр**: нужны порты 80/443 и 10050/10051- агенты/трапперы\\
  
 +Установка версии 6.0, alma/postgres/apache\\
 +<code bash>
 +rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
 +dnf clean all
 +
 +dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
 +
 +dnf install postgresql-server
 +service postgresql initdb либо /usr/pgsql-11/bin/postgresql-11-setup initdb
 +chkconfig postgresql on
 +systemctl enable postgresql
 +systemctl start postgresql
 +
 +sudo -u postgres createuser --pwprompt zabbix
 +sudo -u postgres createdb -O zabbix zabbix
 +
 +zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
 +
 +"DBPassword=password" >> /etc/zabbix/zabbix_server.conf
 +
 +systemctl restart zabbix-server zabbix-agent httpd php-fpm
 +systemctl enable zabbix-server zabbix-agent httpd php-fpm
 +
 +  # Post
 +set "host all all 127.0.0.1/32 password" in /var/lib/pgsql/data/pg_hba.conf
 +
 +sudo su - postgres & psql
 +\c zabbix
 +update users set passwd=md5('ddd') where username='Admin';
 +
 +# Так же в параметрах возможно нужно указать схему public
 +</code>
 +
 +
 +
 +<details>
 +<summary>:!: **Установка 11ой версии postgresql**</summary>
 +<code bash>
 +sudo dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
 +sudo dnf module disable postgresql
 +sudo dnf clean all
 +sudo dnf -y install postgresql11-server postgresql11
 +</code>
 +</details>
 +
 +
 +
 +<details>
 +<summary>:!: **Перенос расположения postgresql**</summary>
 +
 +При установке директории создаются в **/usr/pgsql-11**, там бинарники и **/var/lib/pgsql**, там данные и папка БД по дефолту\\
 +Сама структура создается командой **initdb**. Путь есть в конфиге службы, **/usr/lib/systemd/system/postgresql11.service**, так же есть в файле **/var/lib/pgsql/.bash_profile**
 +</details>
 +
 +
 +
 +<details>
 +<summary>:!: Подробное описание </summary>
 +** База данных **\\
 +** MariaDB **\\
 +[[linux:mysql|Установка MariaDB]]
 +
 +Cоздаем базу и пользователя:
 +<code mysql>mysql> create database zabbix character set utf8 collate utf8_bin;
 +mysql> create user zabbix@localhost identified by 'password';
 +mysql> grant all privileges on zabbix.* to zabbix@localhost;
 +mysql> quit;</code>
 +
 +Разворачиваем схему базы:
 +<code bash># zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix </code>
 +
 +
 +** Postgresql **\\
 +<code bash># apt install postgresql postgresql-contrib</code>
 +
 +Настройка базы
 +<code bash>sudo -u postgres createuser --pwprompt zabbix
 +sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
 +zcat /usr/share/zabbix-server-pgsql/schema.sql.gz | sudo -u zabbix psql zabbix
 +zcat /usr/share/zabbix-server-pgsql/images.sql.gz | sudo -u zabbix psql zabbix
 +zcat /usr/share/zabbix-server-pgsql/data.sql.gz | sudo -u zabbix psql zabbix</code>
 +
 +
 +** Web-сервер **\\
 +** Nginx **\\
 +[[linux:nginx|Установка Nginx]] (можно просто поставить, без всего лишнего)\\
 +
 +**PHP, PHP-FPM**\\
 +<code bash># apt install php php-fpm php-mysql php-pear php-cgi php-common php-ldap php-mbstring php-snmp php-gd php-xml php-gettext php-bcmath</code>
 +
 +Редактируем конфиг: **/etc/php/7.3/fpm/php.ini**
 +<code bash>date.timezone = "Asia/Omsk"
 +...
 +max_execution_time = 300
 +...
 +post_max_size = 16M
 +...
 +max_input_time = 300
 +...
 +max_input_vars = 10000</code>
 +<code bash># systemctl {enable,start} php7.3-fpm</code>
 +
 +
 +**Nginx+ php**\\
 +**/etc/nginx/sitex-enabled/default**\\
 +<code bash># В 'Location /' добавляем 'index.php'
 +...
 +location ~ \.php$ {
 +        set $root_path /var/www/html;
 +        fastcgi_buffer_size 32k;
 +        fastcgi_buffers 4 32k;
 +        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
 +        fastcgi_index index.php;
 +        fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
 +        include fastcgi_params;
 +        fastcgi_param DOCUMENT_ROOT $root_path;
 +}</code>
 +Проверяем настройки и ребутим
 +<code bash># nginx -t && systemctl restart nginx</code>
 +
 +
 +** Apache **\\
 +<code bash># apt install apache2 apache2-utils</code>
 +
 +<code bash>
 +# Отключите информацию о сервере, изменив следующие параметры в /etc/apache2/conf-enabled/security.conf
 +ServerTokens Prod
 +ServerSignature Off
 +
 +# Включите файл конфигурации Zabbix в Apache:
 +cp /etc/apache2/conf-available/zabbix-frontend-php.conf /etc/apache2/conf-enabled/zabbix.conf
 +
 +# Установите часовой пояс для Zabbix в формате /etc/apache2/conf-enabled/zabbix.conf.
 +</code>
 +
 +
 +** Сервер zabbix **\\
 +Ставим сам zabbix (тут скачивается файл для настройки репозиториев, сам дистр ставится из репы)
 +<code bash>$ wget https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian10_all.deb
 +$ dpkg -i zabbix-release_5.4-1+debian10_all.deb
 +$ apt update && apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent</code>
 +
 +Либо, если база postgres: 
 +<code bash># apt install zabbix-server-pgsql zabbix-frontend-php</code>
 +
 +
 +Так же, правим конфиг (все данные от БД): **/etc/zabbix/zabbix_server.conf**
 +<code bash>
 +DBHost=<host>
 +DBName=zabbix
 +DBUser=zabbix
 +DBPassword=<password>
 +</code>
 +
 +Создаем пару папок (иногда не создаются автоматом) и ребут "zabbix-server"
 +<code bash>
 +mkdir /etc/zabbix/zabbix_server.conf.d
 +mkdir /var/log/zabbix-server
 +chown zabbix:zabbix /var/log/zabbix-server
 +</code>
 +
 +</details>
 +
 +
 +
 +
 +==== Настройка ====
 +
 +Открываем web-форму (http://ip-addr/zabbix/setup.php) и завершаем ее настройку\\
 +После установки пользователь был "Admin" оО\\
 +Список пользователей хранится в созданной БД забикса, таблица "user", там же можно сбрасывать пароли:
 +
 +<code mysql>
 +update users set passwd=md5('new_pass') where alias='test_admin';
 +</code>
 +
 +:!: Для авто-конвертации данных итема нужно указать ед. измерения. В условии триггера значение (для сравнения) указывается в байтах (по крайней мере из коробки так)
 +
 +:!: Опер данные в триггере - {ITEM.LASTVALUE1}
 +
 +:!: Зависимости указываются сверху вниз т.е. дочернему триггеру ставится зависимость базового, тогда при срабатывании обоих будет показан только базовый. У трех (и более) последовательных зависимостей не обязательно ставить единого предка, если они логически "в цепочке"
 +
 +
 +
 +
 +==== zabbix агент ====
 +Для использования "JMX" нужен софт "zabbix-java-gateway", ставится отдельно\\
 +
 +<code bash> </code>
  
  
linux/zabbix.1637738133.txt.gz · Последнее изменение: 2021/11/24 07:15 — admin