====== Zabbix ====== ===== Установка ===== [[https://www.zabbix.com/documentation/current|Документация]] [[https://www.zabbix.com/download|Download]] [[https://www.zabbix.com/documentation/4.2/manual/installation/install_from_packages/win_msi?s[]=msi|Windows agent installation from MSI]]\\ [[https://www.zabbix.com/documentation/4.2/ru/manual/appendix/config/zabbix_agentd_win|Параметры конфигурации агента]], [[https://www.zabbix.com/documentation/4.2/ru/manual/appendix/install/windows_agent|настройка]] [[https://www.zabbix.com/integrations|Библиотека шаблонов]] ++++ Для устройств ARM | актуального репозитория нет, надо собирать из исходников по [[https://www.zabbix.com/documentation/3.4/manual/installation/install|инструкции]]. Во время сборки возникли следующие проблемы:\\ error: MySQL library not found\\ error: Not found NET-SNMP library\\ error: LIBXML2 library not found\\ error: Unable to use libevent (libevent check failed)\\ error: Unable to use libpcre (libpcre check failed)\\ error: Curl library not found Решение: apt-get install libmysqlclient-dev libsnmp-dev libxml2-dev libevent-dev libpcre3-dev libcurl4-openssl-dev http://neskripit.ru/blogs/blogs-all/viewpost/724\\ https://www.zabbix.com/forum/showthread.php?t=58580 После запуска веб-установщика надо привести в порядок параметры и [[https://www.zabbix.com/documentation/3.4/manual/installation/requirements|удовлетворить зависимости]]. # правка конфига PHP nano /etc/php/7.2/apache2/php.ini # поставить модули apt-get install php7.2-gd php7.2-bcmath php7.2-mbstring php7.2-xml php7.2-mysql Просто так к пустой базе MySQL подключиться нельзя, её нужно сначала [[https://www.zabbix.com/documentation/3.4/manual/appendix/install/db_scripts|специально разметить]]. mysql -uroot -p create database zabbix character set utf8 collate utf8_bin; grant all privileges on zabbix.* to zabbix@localhost identified by ''; quit; # stop here if you are creating database with Zabbix packages cd database/mysql mysql -uzabbix -p zabbix < schema.sql # stop here if you are creating database for Zabbix proxy mysql -uzabbix -p zabbix < images.sql mysql -uzabbix -p zabbix < data.sql ++++ ===== Настройка ===== ==== GSM-модем ==== В современных системах модем должен сразу определяться правильно (например, в Ubuntu 20.04), но если он виден как CD-ROM и не виден как USB-устройство, необходимо его переопределение. # Установить пакет usb-modeswitch apt install usb-modeswitch # Узнать ID lsusb Bus 004 Device 002: ID 12d1:1446 Huawei Technologies Co., Ltd. Broadband stick (modem on) # Переключить usb_modeswitch -v 12d1 -p 1446 -J # Посмотреть, появились ли USB-устройства ls /dev/ttyUSB* Это нужно сделать в любом случае, иначе в интерфейсе будет писать, что нет прав на устройство: # Включить Заббикс в группу dialout usermod -aG dialout zabbix # Перезапустить службу systemctl restart zabbix-server Далее в интерфейсе Заббикса добавить /dev/ttyUSB0 в SMS Media types. === Проверка отправки SMS в терминале === apt install gammu -y gammu-config Прописать порт (здесь: ''/dev/ttyUSB0'').\\ {{:service:pasted:20220419-100759.png}} gammu identify Device : /dev/ttyUSB0 Manufacturer : Huawei Model : E150 (E150) Firmware : 11.609.82.02.143 IMEI : 000000000000000 SIM IMSI : 000000000000000 gammu sendsms TEXT '+70000000000' -unicode -report -text 'Test sms' If you want break, press Ctrl+C… Sending SMS 1/1…waiting for network answer..OK, message reference=178 https://onedev.net/post/835 Модем периодически перестаёт слать SMS. Попытка оживить модем с помощью команд диагностики (upd: не помогает): gammu identify gammu monitor 1 gammu networkinfo Следующая попытка - использовать ID вместо TTY: root@ls-zabbix:~# ls -la /dev/serial/by-id/ total 0 drwxr-xr-x 2 root root 80 Nov 1 17:45 . drwxr-xr-x 4 root root 80 Nov 1 17:45 .. lrwxrwxrwx 1 root root 13 Nov 1 17:45 usb-HUAWEI_Technology_HUAWEI_Mobile-if00-port0 -> ../../ttyUSB0 lrwxrwxrwx 1 root root 13 Nov 1 17:45 usb-HUAWEI_Technology_HUAWEI_Mobile-if01-port0 -> ../../ttyUSB1 Соответствено, в Заббиксе указываем не ''/dev/ttyUSB0'', а ''/dev/serial/by-id/usb-HUAWEI_Technology_HUAWEI_Mobile-if00-port0''. https://github.com/gammu/gammu/issues/198 ==== Агенты ==== На Windows ставятся из [[https://www.zabbix.com/documentation/current/ru/manual/installation/install_from_packages/win_msi|пакетов .msi]] в %programfiles%\zabbix. Пакеты для Linux: https://repo.zabbix.com/zabbix === Zabbix agent 2 === Server=monitoring ServerActive=monitoring AllowKey=system.run[*] LogFile=C:\Program Files\zabbix\zabbix_agent2.log HostnameItem=system.hostname[host] HostMetadataItem=system.uname PidFile=/var/run/zabbix/zabbix_agent2.pid LogFile=/var/log/zabbix/zabbix_agent2.log LogFileSize=0 ControlSocket=/run/zabbix/agent.sock Server=192.168.1.33 ServerActive=192.168.1.33 HostnameItem=system.hostname # system.hostname[host]? HostMetadataItem=system.uname # Include config files for plugins Include=/etc/zabbix/zabbix_agent2.d/*.conf Include=./zabbix_agent2.d/plugins.d/*.conf === Zabbix agent === LogFile=C:\Program Files\zabbix\zabbix_agentd.log # Warning: EnableRemoteCommands parameter is deprecated, use AllowKey=system.run[*] or DenyKey=system.run[*] instead # EnableRemoteCommands=1 AllowKey=system.run[*] Server=monitoring ServerActive=monitoring HostnameItem=system.hostname[host] HostMetadataItem=system.uname PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 EnableRemoteCommands=1 Server=192.168.1.33 ServerActive=192.168.1.33 HostnameItem=system.hostname Include=/etc/zabbix/zabbix_agentd.d/ HostMetadataItem=system.uname # Проверка соединения с агентом - на сервере выполнить nc -vz 10050 === CentOS, RedHat === https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/ # Чтобы установить агента, выполните yum install zabbix-agent # Чтобы запустить агента, выполните: service zabbix-agent start === Debian, Ubuntu === # Ubuntu 16.04 wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix/zabbix-agent_4.2.4-1%2Bxenial_amd64.deb # Ubuntu 14.04 wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix/zabbix-agent_4.2.4-1%2Btrusty_amd64.deb dpkg -i za # TAB rm /etc/zabbix/zabbix_agentd.conf && nano /etc/zabbix/zabbix_agentd.conf # вставить конфиг для Linux, сохранить файл, перезапустить агента service zabbix-agent restart # Иногда система ругается на отсутствие curl, поставить apt-get -f install apt-get install curl # На очень старых системах типа Ubuntu 8.04, Debian 5 Lenny последняя рабочая версия агента - 1.8.3. wget http://old-releases.ubuntu.com/ubuntu/pool/universe/z/zabbix/zabbix-agent_1.8.3-2ubuntu1_i386.deb https://support.zabbix.com/browse/ZBX-3395 ==== Оповещение в Telegram ==== https://www.zabbix.com/ru/integrations/telegram\\ https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/telegram Установка: - media_telegram.yaml импортировать в Administration -> Media types - Сделать бота в https://t.me/BotFather, добавить его токен в свойствах Телеграма в Заббиксе - В Configuration -> Actions -> Trigger actions настроить триггеры на Телеграм (проще всего - клонировать SMS-триггеры и сменить там способ оповещения). Настройка получателя: - Узнать свой ID, воспользовавшись ботом https://t.me/myidbot (команда ''/getid'' для пользователя, ''/getgroupid'' для группы).\\ {{:service:pasted:20221031-100048.png}} - Добавить свой ID в свойства своей учётки в Заббиксе, добавив туда Телеграм. - Чтобы бот мог слать сообщения в личку, нужно начать с ним чат. Настройка группы получателей: - Добавить @myidbot в группу - Послать в группу ''/getgroupid@myidbot'' - Добавить полученный ID группы в свойства учётки в Заббиксе, созданной для оповещения в группу - Послать команду ''/start@your_bot_name_here'' в группу. ==== Информация о пакетах, установленных в системе Linux ==== Ключ [[https://www.zabbix.com/documentation/current/en/manual/config/items/itemtypes/zabbix_agent#system.sw.packagesregexpmanagerformat|system.sw.packages]] ===== Обновление ===== Ubuntu\\ https://www.zabbix.com/documentation/current/en/manual/installation/upgrade/packages/debian_ubuntu CentOS # Добавить репозиторий (в данном случае версию 3.4) rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm # Обновление репозитория, если уже прописан репозиторий предыдущей версии: yum update http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm yum clean all # Почистить кэш, иначе обновление не увидится # Обновиться (вариант для MySQL) yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent ==== You do not have the SUPER privilege and binary logging is enabled ==== Zabbix после обновления ругается на версию базы и не запускается. В логах: 2606691:20230412:144648.589 starting automatic database upgrade 2606691:20230412:144648.589 [Z3005] query failed: [1419] You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) [create trigger hosts_insert after insert on hosts for each row insert into changelog (object,objectid,operation,clock) values (1,new.hostid,1,unix_timestamp())] 2606691:20230412:144648.589 database upgrade failed on patch 06010049, exiting in 10 seconds Решение: mysql> SET GLOBAL log_bin_trust_function_creators = 1; https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/447359-unable-to-initialize-mysql-database-in-6-2-per-documentation?p=447768#post447768 ===== Переезд на другой сервант ===== # На новом сервере apt install php mysql-server language-pack-ru mysql create database zabbix character set utf8 collate utf8_bin; create user 'zabbix'@'localhost' identified by 'password'; grant all privileges on zabbix.* to 'zabbix'@'localhost'; quit; # На старом сервере mysqldump -u root -p zabbix > zabbix.sql scp zabbix.sql user@192.168.1.10:/home/user # На новом сервере mysql -u zabbix -p zabbix < /home/user/zabbix.sql Дальше установить новую версию Заббикса по инструкции, но не запускать.\\ Сначала нужно: - Привести в соответствие конфиг ''/etc/zabbix/zabbix_server.conf'' - Создать ''/etc/zabbix/web/zabbix.conf.php'', скопировав туда конфиг со старого сервера. - В файле''/etc/zabbix/apache.conf'' настроить часовой пояс. Затем: systemctl start zabbix-server systemctl enable zabbix-server # После запуска пойдёт обновление базы # Посмотреть, обновилась ли база: cat /var/log/zabbix/zabbix_server.log |grep database Если в логе есть сообщение **database is not upgraded to use double precision values:**\\ Остановить сервер.\\ Добавить в ''/etc/zabbix/web/zabbix.conf.php'' параметр ''$DB['DOUBLE_IEEE754'] = 'true';''\\ Затем обязательно: mysql use zabbix; ALTER TABLE trends MODIFY value_min DOUBLE PRECISION DEFAULT '0.0000' NOT NULL, MODIFY value_avg DOUBLE PRECISION DEFAULT '0.0000' NOT NULL, MODIFY value_max DOUBLE PRECISION DEFAULT '0.0000' NOT NULL; ALTER TABLE history MODIFY value DOUBLE PRECISION DEFAULT '0.0000' NOT NULL; quit; Запустить сервер.\\ https://serveradmin.ru/oshibka-zabbix-database-is-not-upgraded-to-use-double-precision-values/ ===== Мониторинг Wi-Fi ===== В данном случае агент установлен на Raspbian. /etc/zabbix/zabbix-agentd.conf: PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix-agent/zabbix_agentd.log EnableRemoteCommands=1 Server=192.168.1.100 ServerActive=192.168.1.100 # Link Quality (здесь шкала в 70 единиц, надо проверять в каждом конкретном случае) UserParameter=wifi.linkquality,iwconfig wlan0 | grep Quality | cut -d '=' -f2 | cut -d '/' -f1 # Signal level (dBm) UserParameter=wifi.signallevel,iwconfig wlan0 | grep level | cut -d '=' -f3 | cut -c1-3 # TX Power (dBm) UserParameter=wifi.txpower,iwconfig wlan0 | grep Tx-Power | cut -d '=' -f3 | cut -c1-2 # Access Point MAC-address - без последнего знака и двоеточий # В Заббиксе преобразовывается в десятичное число и настроен value mapping "Wi-Fi AP MAC addresses", # где десятичные числа, полученные из MAC-адресов, сопоставляются с именами AP. UserParameter=wifi.apmac,iwgetid --ap -r | sed 's/://g' | cut -c1-11 # SSID (Item в Заббиксе - текст) UserParameter=wifi.ssid,iwgetid -r # UserParameter=wifi.ssid,iwconfig wlan0 | grep SSID | cut -d '"' -f2 | cut -d '"' -f1 # Канал UserParameter=wifi.channel,iwgetid --channel -r # Частота (в Item указывать значение Hz для автоматического пересчёта в GHz) UserParameter=wifi.freq,iwgetid --freq -r # Доступность сайтов - код возврата HTTP, в норме 200 (настроить value mapping) UserParameter=wifi.avail.ya,curl --interface wlan0 -sI -w "%{http_code}" https://ya.ru -o /dev/null UserParameter=wifi.avail.google,curl --interface wlan0 -sI -w "%{http_code}" https://www.google.com -o /dev/null # Доступность серверов, если 0 - нет потери пакета, всё ОК (настроить value mapping) UserParameter=wifi.avail.serv4,ping -I wlan0 192.168.1.231 -c 1 | grep packet | cut -d ' ' -f6 | cut -d '%' -f1 UserParameter=wifi.avail.serv5,ping -I wlan0 192.168.1.209 -c 1 | grep packet | cut -d ' ' -f6 | cut -d '%' -f1 UserParameter=wifi.avail.serv9,ping -I wlan0 192.168.1.210 -c 1 | grep packet | cut -d ' ' -f6 | cut -d '%' -f1 # Время отклика (ms) UserParameter=wifi.avail.serv4.time,ping -I wlan0 192.168.1.231 -c 1 | grep time= | cut -d '=' -f4 | cut -d ' ' -f1 UserParameter=wifi.avail.serv5.time,ping -I wlan0 192.168.1.209 -c 1 | grep time= | cut -d '=' -f4 | cut -d ' ' -f1 UserParameter=wifi.avail.serv9.time,ping -I wlan0 192.168.1.210 -c 1 | grep time= | cut -d '=' -f4 | cut -d ' ' -f1 [[https://www.ylsoftware.com/news/485|Мониторинг уровня сигнала на Wi-Fi адаптере с помощью Zabbix]] ==== Items в Zabbix ==== ^ Name ^ Key ^ Interval ^ History ^ Trends ^ Type ^ Application ^ Type of information ^ Units ^ | Wi-Fi Access Point | wifi.apmac | 1m | 7d | 365d | Zabbix agent | wifi | Numeric (insigned) | | | Wi-Fi channel | wifi.channel | 1m | 3d | 365d | Zabbix agent | wifi | Numeric (insigned) | | | Wi-Fi frequency | wifi.freq | 1h | 3d | 365d | Zabbix agent | wifi | Numeric (float) | Hz | | Wi-Fi link quality | wifi.linkquality | 1m | 7d | 365d | Zabbix agent | wifi | Numeric (insigned) | / 70 | | Wi-Fi signal level | wifi.signallevel | 1m | 7d | 365d | Zabbix agent | wifi | Numeric (float) | dBm | | Wi-Fi SSID | wifi.ssid | 1h | 7d | 365d | Zabbix agent | wifi | Text | | | Wi-Fi TX power | wifi.txpower | 1h | 3d | 365d | Zabbix agent | wifi | Numeric (insigned) | dBm | | Время ответа Server4 через wlan0 (ping) | wifi.avail.serv4.time | 1m | 7d | 365d | Zabbix agent | wifi | Numeric (float) | | | Доступность google.com через wlan0 (curl https) | wifi.avail.google | 1m | 7d | 365d | Zabbix agent | web | Numeric (float) | | | Недоступность Server4 через wlan0 (потеря ping) | wifi.avail.serv4 | 1m | 7d | 365d | Zabbix agent | wifi | Numeric (insigned) | | Графики удобно объединять так: - Сигнал Wi-Fi (Wi-Fi link quality, Wi-Fi signal level, Wi-Fi TX power, Wi-Fi channel) - Недоступность серверов по Wi-Fi (потеря ping) (все Items "Недоступность Server* через wlan0 (потеря ping)") - Время ответа серверов по Wi-Fi (все Items "Время ответа Server* через wlan0 (ping)") - Доступность внешних ресурсов по Wi-Fi (все Items "Доступность * через wlan0 (curl https)") Создать комплексный экран в шаблоне с этими графиками и выводить туда ещё текстом частоту, SSID и имена AP. ===== Мониторинг MySQL ===== Доп. конфиг userparameter_mysql.conf настраивается на чтение /etc/zabbix/.my.cnf, где прописаны учётные данные для входа в MySQL. Перед этим, конечно, пользователя надо завести в MySQL и дать ему права. mysql CREATE USER 'zabbix'@'%' IDENTIFIED BY 'password_here'; GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zabbix'@'%'; quit; /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf # For all the following commands HOME should be set to the directory that has .my.cnf file with password information. # Flexible parameter to grab global variables. On the frontend side, use keys like mysql.status[Com_insert]. # Key syntax is mysql.status[variable]. UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/etc/zabbix mysql -N | awk '{print $$2}' # Flexible parameter to determine database or table size. On the frontend side, use keys like mysql.size[zabbix,history,data]. # Key syntax is mysql.size[,,]. # Database may be a database name or "all". Default is "all". # Table may be a table name or "all". Default is "all". # Type may be "data", "index", "free" or "both". Both is a sum of data and index. Default is "both". # Database is mandatory if a table is specified. Type may be specified always. # Returns value in bytes. # 'sum' on data_length or index_length alone needed when we are getting this information for whole database instead of a single table UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ $ UserParameter=mysql.ping,HOME=/etc/zabbix mysqladmin ping | grep -c alive UserParameter=mysql.version,mysql -V /etc/zabbix/.my.cnf [client] user=zabbix password=password_here Перезапустить агента, привязать к хосту на сервере шаблон Template DB MySQL. ===== Мониторинг fail2ban ===== Шаблоны: https://github.com/zabbix/community-templates/tree/main/Applications/Firewall/template_fail2ban\\ Настройка целевой системы для работы мониторинга.\\ Добавить файл ''/etc/zabbix/zabbix_agentd.d/fail2ban.conf'' (для Zabbix agent 2 - ''/etc/zabbix/zabbix_agentd2.d/fail2ban.conf''): UserParameter=fail2ban.status[*],fail2ban-client status '$1' | grep 'Currently banned:' | grep -E -o '[0-9]+' UserParameter=fail2ban.discovery,fail2ban-client status | grep 'Jail list:' | sed -e 's/^.*:\W\+//' -e 's/\(\(\w\|-\)\+\)/{"{#JAIL}":"\1"}/g' -e 's/.*/{"data":[\0]}/' Добавить группу для fail2ban, добавить туда пользователя zabbix и дать этой группе права к сокету, т. к. изначально права есть только у рута. groupadd fail2ban usermod -aG fail2ban zabbix chown root:fail2ban /var/run/fail2ban/fail2ban.sock chmod g+rwx /var/run/fail2ban/fail2ban.sock sudo -u zabbix fail2ban-client status # Проверка # Если выдаётся предупреждение warning: cannot change directory to /var/lib/zabbix/: No such file or directory mkdir /var/lib/zabbix chown zabbix:zabbix /var/lib/zabbix # To persist on a system where fail2ban is managed by systemd, add the following to the fail2ban service override file systemctl edit fail2ban [Service] ExecStartPost=/bin/sh -c "while ! [ -S /run/fail2ban/fail2ban.sock ]; do sleep 1; done" ExecStartPost=/bin/chgrp fail2ban /run/fail2ban/fail2ban.sock ExecStartPost=/bin/chmod g+w /run/fail2ban/fail2ban.sock systemctl restart zabbix-agent.service [[https://github.com/hermanekt/zabbix-fail2ban-discovery-|https://github.com/hermanekt/zabbix-fail2ban-discovery-]] ===== Мониторинг EventLog ===== Создаётся шаблон, например, EventLog. Создать в нём Item под названием 1СUser (надо следить за событиями пользователя 1СUser). Ключ ([[https://www.zabbix.com/documentation/current/en/manual/config/items/itemtypes/zabbix_agent/win_keys#eventlog|справка по ключу eventlog]]) eventlog[Security,1СUser,,,,1,skip] Триггер, например, # Name {HOST.NAME} - 1CUser has been disabled # Expression logeventid(/EventLog/eventlog[Security,1CUser,,,,1,skip],,4725)=1 # Recovery Expression (по успешному входу) logeventid(/EventLog/eventlog[Security,1CUser,,,,1,skip],,4624)=1 Включить Allow manual close. **События ИБ MS Windows Server Security Log** ^Описание EventID ^2008 Server ^2003 Server ^ |Очистка журнала аудита |1102 |517 | |Вход с учётной записью выполнен успешно |4624 |528, 540 | |Учётной записи не удалось выполнить вход в систему |4625 |529-535, 539 | |Создана учётная запись пользователя |4720 |624 | |Попытка сбросить пароль учётной записи |4724 |628 | |Отключена учётная запись пользователя |4725 |629 | |Удалена учётная запись пользователя |4726 |630 | |Создана защищённая локальная группа безопасности |4731 |635 | |Добавлен участник в защищённую локальную группу |4732 |636 | |Удален участник из защищённой локальной группы |4733 |637 | |Удалена защищённая локальная группа безопасности |4734 |638 | |Изменена защищённая локальная группа безопасности |4735 |639 | |Изменена учётная запись пользователя |4738 |642 | |Заблокирована учётная запись пользователя |4740 |644 | |Имя учётной записи было изменено |4781 |685 | https://habr.com/ru/articles/215509/ ===== Ping с агента ===== Добавить в конфиг агента на Windows: UserParameter=remote.ping[*], powershell -command "if (Test-Connection $1 -Count 1 -quiet) {echo '1'} else {echo '0'}" На Linux ([[https://www.zabbix.com/forum/in-russian/48070-ping-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D0%B0%D0%B3%D0%B5%D0%BD%D1%82|Zabbix forum]]): UserParameter=remote.ping[*], ping -c 1 $1 >/dev/null 2>&1 && echo 1 || echo 0 Перезапустить агента. Item:\\ Name: ICMP Ping - important server\\ Type: Zabbix agent (active)\\ Key: remote.ping[192.168.21.1]\\ Update interval: 1m\\ Zhow value: service state\\ Applications: Status ===== HP iLO ===== iLO4 и новее отлично мониторится через SNMP встроенным шаблоном. Для более старых версий есть {{ :service:ipmi-ilo.zip |самописное решение через скрипт}}. Проблемы: # При проверке: nano /usr/lib/zabbix/externalscripts/ilo_discovery.pl when is experimental at /usr/lib/zabbix/externalscripts/ilo_discovery.pl line 78. when is experimental at /usr/lib/zabbix/externalscripts/ilo_discovery.pl line 81. when is experimental at /usr/lib/zabbix/externalscripts/ilo_discovery.pl line 84. # Решение: sed -i '/use warnings;/c no warnings;' /usr/lib/zabbix/externalscripts/ilo_discovery.pl https://www.zabbix.com/forum/zabbix-cookbook/37024-hp-servers-monitoring-via-ilo?p=238081#post238081 ===== Squid ===== UserParameter=squid.filedesc.current,squidclient mgr:info |grep 'Number of file desc currently in use:' UserParameter=squid.filedesc.max,squidclient mgr:info |grep 'Maximum number of file descriptors:' UserParameter=squid.filedesc.curlargest,squidclient mgr:info |grep 'Largest file desc currently in use:' UserParameter=squid.filedesc.avail,squidclient mgr:info |grep 'Available number of file descriptors:' Preprocessing: Regular expression, ''([0-9]+)'', ''\1'' ==== cache.log ==== key: # key, чтобы не попадали строки, содержащие unsupported, assuming mismatch и BUG 3556 log[/var/log/squid/cache.log,"^((?:(?![Uu]nsupported|Assuming mismatch|BUG 3556).)*$)"] # log time format yyyy/MM/dd hh:mm:ss # tags Application: Squid https://www.zabbix.com/documentation/current/en/manual/config/items/itemtypes/log_items\\ https://www.zabbix.com/documentation/current/en/manual/regular_expressions#example ===== SNMP ===== SNMP agent - [[https://www.zabbix.com/documentation/4.2/ru/manual/config/items/itemtypes/snmp|документация]].\\ Найти SNMP под Windows - [[https://www.manageengine.com/products/mibbrowser-free-tool/download.html|MIB Browser]]. MIB Browser показывает ключи SNMP как, например, hrSystemUptime.0 или, если зайти в свойства этого OID, .1.3.6.1.2.1.25.1.1. В то же время, в линуксе то же самое отображается как iso.3.6.1.2.1.25.1.1.0, т. е., искать OID удобно через программу, но вставлять OID в Zabbix лучше так, как они отображаются в линуксе, иначе item может просто не работать. Хотя, возможны варианты:\\ .1.3.6.1.2.1.25.1.1.0\\ 1.3.6.1.2.1.25.1.1.0 ===== Макросы ===== Помимо [[https://www.zabbix.com/documentation/4.2/manual/appendix/macros/supported_by_location|системных]], существуют [[https://www.zabbix.com/documentation/4.2/manual/config/macros/usermacros|пользовательские]], которые удобны для гибкой настройки значений триггеров и т. п. Главное удобство в наследовании - т. е., первый приоритет имеет макрос хоста, потом идёт непосредственно привязанный шаблон, потом шаблон второго уровня, третьего и т. д., и в конце - глобальное значение макроса, если на предыдущих уровнях ничего не нашлось. Это даёт гибкость переопределения значений на нижних уровнях иерархии. Также имеются [[https://www.zabbix.com/documentation/4.2/manual/config/macros/lld_macros|макросы низкоуровневого обнаружения]], которые позволяют, например, задавать [[https://www.youtube.com/watch?v=XZXboQ4dHRU|разные значения триггеров для разных дисков на компьютере]]. ===== Решение проблем ===== ==== Zabbix icmp pinger processes more than 75% busy ==== sudo nano /etc/zabbix/zabbix_server.conf StartPingers=5 sudo service zabbix-server restart https://ixnfo.com/reshenie-problemyi-zabbix-icmp-pinger-processes-more-than-75-busy.html ==== Веб-проверки через SSL не работают: SSL routines:tls12_check_peer_sigalg:wrong signature type ==== Причина в кривой версии openssl (1.1.1f), входящей в дистрибутив Ubuntu 20.04 LTS, необходимо обновить её хотя бы до 1.1.1g. Лучше всего пакетом (.deb), но можно и скомпилировать: # проверка версии openssl version wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz tar -zxf openssl-1.1.1k.tar.gz && cd openssl-1.1.1k ./config # Может сначала понадобиться apt install make gcc make make test mv /usr/bin/openssl ~/tmp make install. ln -s /usr/local/bin/openssl /usr/bin/openssl ldconfig https://askubuntu.com/questions/1102803/how-to-upgrade-openssl-1-1-0-to-1-1-1-in-ubuntu-18-04