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

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


linux:zabbix

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
linux:zabbix [2021/11/24 06:30]
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, используя указанные команды
   * **Calculate** - проверки, сопоставляя имеющиеся данные, + можно нивелировать погрешность пинга между агентом и основным сервером, разместив прокси рядом с агентами   * **Calculate** - проверки, сопоставляя имеющиеся данные, + можно нивелировать погрешность пинга между агентом и основным сервером, разместив прокси рядом с агентами
- 
  
 Основная логическая единица это **Узлы сети** (host), наблюдаемые машины. У каждого есть описание и адрес (dns/ip). Узлы объединяются в **группы**.\\ Основная логическая единица это **Узлы сети** (host), наблюдаемые машины. У каждого есть описание и адрес (dns/ip). Узлы объединяются в **группы**.\\
Строка 23: Строка 24:
 Так же, можно создавать **узлы-шаблоны**, они так же содержат элементы данных, но не мониторятся, а используются только для сбора в себе и назначения предопределенных (групп) пар-ов.\\ Так же, можно создавать **узлы-шаблоны**, они так же содержат элементы данных, но не мониторятся, а используются только для сбора в себе и назначения предопределенных (групп) пар-ов.\\
  
-Настройка **условий-триггеров**настройка уведомлений на почту/jabber/sms с помощью gsm-модема, либо принятие предопределенных действий. Графики, карты сетей, комплексные отчеты.\\+ 
 +==== Триггеры ==== 
 +Логические выражения со значениями **False**, **True**, **Unknown**, используемые для обработки данных.\\ 
 +У каждого существует уровень серьезности угрозы: 
 +  * **Без классификации** - серый 
 +  * **Информация** - светло-синий 
 +  * **Предупреждение** - желтый 
 +  * **Средняя** - оранжевый 
 +  * **Высокая** - светло-красный 
 +  * **Чрезвычайная** красный 
 + 
 +Функции триггеров
 +  * **abschange, change** - разница между последним-предпоследним значениями 
 +  * **avg** - среднее за определенный интервал 
 +  * **count, sum** - кол-во отчетов по критерию 
 +  * **date, dayofweek, now, time** - дата/время 
 +  * **last, prev, max\min ** - определенные значения 
 + 
 + 
 +==== Действия ==== 
 +Заданная реакция на событие, авто/созданная в ручную\\ 
 +  * **Event source** - может служить: **авторегистрация**, **обнаружение** или **триггер** 
 +  * **Enable escalations, Period** - разрешение на эскалацию, период времени шага эскалации 
 +  * **Default subject, Default message** - извещенец по умолчанию, стандартный текст сообщения 
 +  * **Recovery subject/message** - тоже самое, только после устранения 
 +  * **Status** - вкл/выкл видимо 
 + 
 + 
 +==== Операции ==== 
 +Операции/группы операций, указываются для событий\\ 
 +  * **Operation type** - д-я на определенном шаге 
 +  * **Event source** - источник события 
 +  * **Send message to** - отдельное/групповое сообщение 
 +  * **Subject/Default message/Message** - оповещенец, текст сообщения 
 +  * **Remote command** команда для удаленного управления 
 + 
 + 
 +==== Низкоуровневое обнаружение ==== 
 +Авто-создание элементов и триггеров, для отслеживания системнаблюдаемого сервера.\\ 
 +**Позволяет обнаружить**: OID SNMP, сетевые интерфейсы, процессоры и ядра, файловые системы, службы windows, ODBC\\ 
 +Так же, можно задать собственные типы обнаружения, с применением JSON, типы проверок типа: ssh, ldap, smtp, ftp, http и т.д.\\ 
 + 
 + 
 + 
 +===== Установка ===== 
 +Основные ресурсы: [[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.1637735420.txt.gz · Последнее изменение: 2021/11/24 06:30 — admin