Zabbix templates/official templates

Введение

За основу мониторинга Mikrotik я возьму стандартный шаблон Zabbix от разработчиков. Он очень качественно сделан. Забирает информацию по snmp. Итемы и триггеры настраиваются через автообнаружение. Вот основные метрики, которые в нем реализованы:

  1. Состояние процессоров (загрузка, температура).
  2. Статус и характеристика интерфейсов (трафик, активность, ошибки, тип, скорость).
  3. Хранилища (общий объем и используемый).
  4. Использование оперативной памяти.
  5. Проверка доступности пингом.
  6. Версия прошивки, модель, система, серийный номер, расположение, описание устройства.
  7. Время работы (uptime).

Для всех основных метрик есть графики. На все значимые события настроены триггеры:

  • Высокая температура процессора.
  • Изменение серийного номера, прошивки.
  • Сетевая недоступность по icmp.
  • Высокая загрузка памяти или процессора.
  • Окончание свободного места на хранилищах.
  • Уменьшилась скорость на интерфейсе.
  • Высокая утилизация интерфейса.
  • Большое количество ошибок на интерфейсе.
  • Интерфейс отключился.

Шаблон настолько хорош и полон, что я даже не придумал, чего в нем не хватает. По метрикам есть все. Для полного мониторинга Микротика мне не хватало только оповещений о том, что к нему кто-то подключился. Я реализовал это по своему, о чем расскажу далее подробно. В двух словах мониторинг подключений выглядит так:

  1. Mikrotik отправляет логи подключений на удаленный syslog сервер.
  2. На syslog сервере логи анализирует zabbix-agent.
  3. По определенному шаблону агент определяет имя и ip адрес подключившегося к микротику и отправляет эту информацию в уведомлении.

В целом, никаких сложностей в этой настройке нет. У меня уже есть статьи по сбору логов с микротиков — отправка в elk stack и на удаленный rsyslog сервер. Сегодня я актуализирую эту информацию и опишу еще раз.

Если вы не очень хорошо знакомы с описываемым роутером, рекомендую мою статью по базовой настройке микротика.

Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:

  1. Установка CentOS 8.
  2. Настройка CentOS 8.
  3. Установка и настройка zabbix сервера.

То же самое на Debian 10, если предпочитаете его:

  1. Установка Debian 10.
  2. Базовая настройка Debian.
  3. Установка и настройка zabbix на debian.

Готовые шаблоны Zabbix для устройств NetPing

Устройство Описание Назначение Скачать шаблон
UniPing server solution v3/SMS

Автоматическое обнаружение необходимых параметров:

  • датчиков температуры;
  • датчиков влажности;
  • IO линий;
  • реле;
  • датчика дыма (токового датчика);
  • GSM модема

Автоматическое создание графиков:

  • датчиков температуры;
  • датчиков влажности;
  • IO линий;
  • реле;
  • датчика дыма (токового датчика)

Автоматическое создание триггеров на изменения статусов:

  • датчиков температуры;
  • датчиков влажности;
  • датчика дыма (токового датчика);
  • GSM модема
Шаблон Zabbix
UniPing server solution v3

Автоматическое обнаружение необходимых параметров:

  • датчиков температуры;
  • датчиков влажности;
  • IO линий;
  • реле;
  • датчика дыма (токового датчика)

Автоматическое создание графиков:

  • датчиков температуры;
  • датчиков влажности;
  • IO линий;
  • реле;
  • датчика дыма (токового датчика)

Автоматическое создание триггеров на изменения статусов:

  • датчиков температуры;
  • датчиков влажности;
  • датчика дыма (токового датчика)
Шаблон Zabbix
UniPing v3

Автоматическое обнаружение необходимых параметров:

  • датчиков температуры;
  • датчика влажности;
  • IO линий;
  • реле;
  • датчика дыма (токового датчика)

Автоматическое создание графиков:

  • датчиков температуры;
  • датчика влажности;
  • IO линий;
  • реле;
  • датчика дыма (токового датчика)

Автоматическое создание триггеров на изменения статусов:

  • датчиков температуры;
  • датчика влажности;
  • датчика дыма (токового датчика)
Шаблон Zabbix
NetPing SMS

Автоматическое обнаружение необходимых параметров:

GSM модема

Автоматическое создание триггеров на изменения статусов:

GSM модема

Шаблон Zabbix
NetPing IO v2

Автоматическое обнаружение необходимых параметров:

IO линий (логический уровень, счетчик входных импульсов)

Автоматическое создание графиков:

IO линий (логический уровень, счетчик входных импульсов)

Шаблон Zabbix
NetPing 8/PWR-220 v3/SMS

Автоматическое обнаружение необходимых параметров:

  • датчиков температуры;
  • датчика влажности;
  • IO линий;
  • реле;
  • GSM модема

Автоматическое создание графиков:

  • датчиков температуры;
  • датчика влажности;
  • IO линий;
  • реле

Автоматическое создание триггеров на изменения статусов:

  • датчиков температуры;
  • датчика влажности;
  • реле;
  • GSM модема
Шаблон Zabbix
NetPing 4/PWR-220 v3/SMS

Автоматическое обнаружение необходимых параметров:

  • датчиков температуры;
  • датчиков влажности;
  • реле;
  • GSM модема;
  • источника питания

Автоматическое создание графиков:

  • датчиков температуры;
  • датчиков влажности;
  • реле;
  • источника питания

Автоматическое создание триггеров на изменения статусов:

  • датчиков температуры;
  • датчиков влажности;
  • реле;
  • GSM модема;
  • источника питания
Шаблон Zabbix
NetPing 2/PWR-220 v2/SMS

Автоматическое обнаружение необходимых параметров:

  • датчиков температуры;
  • датчика влажности;
  • IO линий;
  • реле;
  • GSM модема;
  • источника питания

Автоматическое создание графиков:

  • датчиков температуры;
  • датчика влажности;
  • IO линий;
  • реле;
  • источника питания

Автоматическое создание триггеров на изменения статусов:

  • датчиков температуры;
  • датчика влажности;
  • реле;
  • GSM модема;
  • источника питания
Шаблон Zabbix
NetPing 2/PWR-220 v3/ETH

Автоматическое обнаружение необходимых параметров:

  • датчиков температуры;
  • датчика влажности;
  • IO линий;
  • реле

Автоматическое создание графиков:

  • датчиков температуры;
  • датчика влажности;
  • IO линий;
  • реле

Автоматическое создание триггеров на изменения статусов:

  • датчиков температуры;
  • датчика влажности;
  • реле
Шаблон Zabbix

Шаг 8 — Настройка брандмауэра для Zabbix

В этом случае я использую UFW, вы должны были на первом шаге его настроить . Далее нам нужно разрешить порты протокола HTTP, HTTPS и зарезервированные порты для работы с Zabbix агентами.

Проверяем есть ли строки в файле services, если нет дописываем

# cat /etc/services | grep Zabbix
zabbix-agent	10050tcp			# Zabbix Agent
zabbix-agent	10050udp			# Zabbix Agent
zabbix-trapper	10051tcp			# Zabbix Trapper
zabbix-trapper	10051udp			# Zabbix Trapper

Команды для UFW

$ sudo ufw allow 'Apache Full'
$ sudo ufw allow 10050
$ sudo ufw allow 10051

В итоге должна получится такая настройка фаервола:

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
 
To                         Action      From
--                         ------      ----
22tcp (OpenSSH)           ALLOW IN    Anywhere
80,443tcp (Apache Full)   ALLOW IN    Anywhere
10050                      ALLOW IN    Anywhere
10051                      ALLOW IN    Anywhere
22tcp (OpenSSH (v6))      ALLOW IN    Anywhere (v6)
80,443tcp (Apache Full (v6)) ALLOW IN    Anywhere (v6)
10050 (v6)                 ALLOW IN    Anywhere (v6)
10051 (v6)                 ALLOW IN    Anywhere (v6)

Дополнительные сведения

Мониторинг репликации master — master

При использовании двухсторонней репликации, мы должны мониторить slave на обоих серверах. Для этого настраиваем по шагам мониторинг для каждого из серверов.

innotop

Мониторинг MySQL/MariaDB также можно выполнить с помощью утилиты innotop. Она может показать состояние репликации, общее время работы сервера баз данных, количество подключений и так далее.

Пользоваться утилитой просто. Для начала ее нужно установить.

а) Если используем систему Red Hat / CentOS / Fedora:

yum install innotop

б) Если используем систему Debian / Ubuntu:

apt-get install mysql-client

Пример подключения к базе:

innotop -uroot -ppassword -h 192.168.0.15

* в данном примере мы подключимся к серверу 192.168.0.15.

Шаг 5 — Настройка базы данных MySQL для Zabbix

Импортируем схему базы данных для Zabbix сервера. Логинемся на сервер MySQL с учетной записью root и создаем базу данных MySQL и пользователя с помощью следующих команд.

# mysql -uroot -p
password
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;

Импорт начальной схему и данных Заббикс производим от пользователя MySQL созданного выше.

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Enter password

Настроим подключение Заббикса к базе данных, для это следует отредактировать файл /etc/zabbix/zabbix_server.conf и задать пароль для подключения к MySQL. Остальные 3 параметра уже настроены, если вы конечно не извращались с именем пользователя и базы данных.

DBPassword=password
DBHost=localhost
DBName=zabbix
DBUser=zabbix

Скрипт для получения состояния репликации

Суть проверки сводится к выполнению двух запросов — на мастере pg_current_xlog_location, на слейве pg_last_xlog_replay_location. В ответ мы получаем отправленные запросы с master (current) и обработанные запросы сервером slave (replay). Полученные ответы имеют вид 0/304E310, где нужное нам значение идет после / — то есть, в данном примере, 304E310. Данное значение хранится в шестнадцатеричной системе счисления, чтобы получить привычное представление данных, мы будем его переводить в десятичную систему. Полученные результаты мы будем сравнивать для pg_current_xlog_location и pg_last_xlog_replay_location — их разница показывает отставание реплики и должна либо равняться нулю, либо отличаться на небольшое число.

Устанавливаем bc.

а) если используем Red Hat / CentOS / Fedora:

yum install bc

а) если используем Ubuntu / Debian:

apt-get install bc

* программа bc выполняем вычисления. В нашем случае, преобразует строку в число.

Создаем сам файл скрипта:

vi /etc/zabbix/zabbix_agentd.d/repl_pg_mon.sh

* путь до скрипта repl_pg_mon.sh может быть любой. В данном примере мы разместили его в каталог агента заббикс — во-первых, для порядка, во-вторых, не будет проблем с SELinux (если он используется).

Содержимое скрипта:

#!/bin/bash
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PGPASSWORD=’repl_password3′
master_status=`psql -Umon_replication template1 -h127.0.0.1 -c «SELECT pg_current_xlog_location();» | grep ‘/’ | awk -F «/» {‘print $2’}`
master_queue=`echo «ibase=16; $master_status» | bc`
slave_status=`psql -Umon_replication template1 -h192.168.1.11 -c «SELECT pg_last_xlog_replay_location();» | grep ‘/’ | awk -F «/» {‘print $2’}`
slave_queue=`echo «ibase=16; $slave_status» | bc`
export PGPASSWORD=»
let replication_queue=$master_queue-$slave_queue
if
then
    echo «0»
    exit 0
fi
echo «1»
exit 0

* в данном скрипте мы подключаемся к базе мастер и получаем позицию репликации последней отправки данных на слейв, затем к базе вторичного сервера и получаем позицию репликации последнего получения данных; после — мы парсим значения двух параметров и преобразовываем шестнадцатеричное их значение в десятичное. Если разница этих значений больше 1, скрипт вернет , иначе — 1. В Zabbix мы будем проверять значение и реагировать на значение . Разница значений на 1 — очень чувствительный показатель и для больших баз, которые активно используются, слишком мал — его нужно вычислить экспериментально.

Устанавливаем права на скрипт — разрешаем запуск на выполнение и задаем владельца zabbix:

chmod 770 /etc/zabbix/zabbix_agentd.d/repl_pg_mon.sh

chown zabbix:zabbix /etc/zabbix/zabbix_agentd.d/repl_pg_mon.sh

Можно проверить работу скрипта, запустив его:

/etc/zabbix/zabbix_agentd.d/repl_pg_mon.sh

Получение состояния репликации

Состояние репликации можно получить sql-командой:

> show slave status\G;

В ответ мы получим ряд параметров, из которых нам нужны 2:

  1. Slave_IO_Running — состояние работы получения бинарного лога с сервера Master. Если состояние будет NO, то репликация не работает.
  2. Slave_SQL_Running — статус выполнения команд из лога на сервере Slave. Если состояние будет NO, то репликация не работает.

На данном этапе мы напишем скрипт, с помощью которого мы будем подключаться к базе и вытаскивать данные параметры состояния репликации.

Для начала, подключаемся к командной оболочке SQL:

mysql -uroot -p

Создаем пользователя, от которого мы будем подключаться к базе и смотреть состояние репликации:

> GRANT REPLICATION CLIENT ON *.* TO ‘replmon’@’localhost’ IDENTIFIED BY ‘repl_password3’;

* данной командой мы создаем пользователя replmon с паролем repl_password3. У него будут права на получение статуса репликации для СУБД.

Выходим из командной оболочки mysql:

> \q

На сервере Slave создаем скрипт для получения статуса репликации:

vi /etc/zabbix/zabbix_agentd.d/repl_mon.sh

* путь до скрипта repl_mon.sh может быть любой. В данном примере мы разместили его в каталог агента заббикс — во-первых, для порядка, во-вторых, не будет проблем с SELinux (если он используется).

Содержимое скрипта:

#!/bin/bash
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
myuser=’replmon’
mypass=’repl_password3′
Slave_IO=`mysql -u${myuser} -p${mypass} —vertical -e «SHOW SLAVE STATUS» | grep «Slave_IO_Running» | cut -d»:» -f2 | tr -d » » 2>&1`
Slave_SQL=`mysql -u${myuser} -p${mypass} —vertical -e «SHOW SLAVE STATUS» | grep «Slave_SQL_Running» | cut -d»:» -f2 | tr -d » » 2>&1`
if
then
    echo «0»
    exit 0
fi
if
then
    echo «0»
    exit 0
fi
echo «1»
exit 0

* в данном скрипте мы подключаемся к базе и получаем статус репликации, после — мы парсим значения двух параметров (Slave_IO_Running и Slave_SQL_Running). Если значение этих параметров не равно Yes, скрипт вернет , иначе — 1. В Zabbix мы будем проверять значение и реагировать на значение .

Устанавливаем права на скрипт — разрешаем запуск на выполнение и задаем владельца zabbix:

chmod 770 /etc/zabbix/zabbix_agentd.d/repl_mon.sh

chown zabbix:zabbix /etc/zabbix/zabbix_agentd.d/repl_mon.sh

Можно проверить работу скрипта, запустив его:

/etc/zabbix/zabbix_agentd.d/repl_mon.sh

Template Details

Zabbix Configuration

You can tune the following macros, which are used by some triggers:

  • {$CPU.UTIL.CRIT} = 80
  • {$MEMORY.UTIL.MAX} = 80
  • {$IF_ID1} = 1; IF ID where Egress Shaping is configured
  • {$IF_IN_ID1} = 2; IF ID where Ingress Shaping is configured

Templates Included

The following templates were included into this one (instead of linked)
due to several users having issues during import process when the default
templates are not present on their Zabbix install. All data and discovery
was simply copied from them into this template.

  • Template Module EtherLike-MIB
  • Template Module Generic
  • Template Module Interfaces

Discovery Rules

  • CPU Cores
  • Network Interfaces (standard and FOS specific metrics)
  • SD-WAN Performance SLA
  • SOC3 Processor
  • High Availability
  • Interface-based Shaping (Ingress and Egress)
  • Wireless (FortiAP)
  • Virtual Domain

Items Collected

  • General

    • System contact details, System description
    • System location, System name, System object ID
  • Network Interfaces

    • Bits received/sent, discards, errors
    • Type, operational status, speed
    • Estimated bandwidth (upstream and downstream)
  • CPU

    • CPU usage
    • CPU usage per core (1m and 5s)
    • CPU usage per process type over 1m (System and User)
  • Memory

    Memory usage

  • Storage

    • Hard Disk Capacity
    • Hard Disk Usage
    • Hard Disk Usage Rate
  • Inventory

    • Serial Number
    • Model Description
    • Operating System
    • Firmware Version
  • Session

    IPv4 Active sessions

  • Status

    • ICMP Loss
    • ICMP Response Time
    • Uptime
    • SNMP data collection availability
  • VPN

    • Active IPsec VPN tunnels
    • Active SSL VPN users
    • SSL VPN state
  • SD-WAN

    • Health Check Name
    • Health Check State
    • Health Check Latency, Jitter, Packet Loss
    • Health Packets Sent and Received
    • Health Check VDOM
    • Available Bandwidth Incoming / Outgoing
  • High Availability

    • HA Mode, Group ID, Cluster Name, Member Priority
    • Master Override, Master SN, Config Sync, Config Checksum
    • CPU, Memory, Network Usage per member
    • Session Count, Packet and Bytes Processed per member
    • AV and IPS event rate per member
    • Hostname, Sync Status, Sync Time (Success and Failure)
  • Hardware Sensor

    • Hardware Sensor Alarm Count
    • Hardware Sensor Alarm Name and State
  • IPS (Intrusion Prevention System)

    • Intrusions detected and blocked
      • Detected by severity level
      • Detected by signature or anomaly
  • Interface-based Shaping (Ingress and Egress)

    • Allocated, Guaranteed, Maximum and Current Bandwidth
    • Byte rate and Packet drops
  • Wireless

    • Controller Location, Name
    • Station Capacity/Count
    • WTP (Wireless Termination Point/FortiAP) Capacity, Managed and Sessions
    • FAP Serial Number (ID), Status, Admin Status, Base MAC Address,
    • Connected Clients, CPU/Memory Usage, Version (Bootloader, SW and HW)
    • IP Address, IP Address Type, Local IP Address, Local IP Address Type
    • Model Number, FAP Name, Profile Name, Uptime (Device, Daemon and Session)
    • Capabilities Enabled (Background Scan, Automatic Power Control and Limits)
    • Byte Count Rate (Tx/Rx)
  • Virtual Domain

    • VDOM Name
    • VDOM Count, VDOM Max Count
    • VDOM Operation Mode
    • CPU usage per VDOM
    • Memory usage per VDOM
    • HA Member state per VDOM
    • Active Sessions per VDOM
    • Session Rate per VDOM

Triggers

  • CPU

    High CPU usage

  • Memory

    High memory usage

  • ICMP

    • High ICMP ping response time
    • High ICMP ping loss
  • SD-WAN

    Health Check State Down

  • Wireless

    • FortiAP is down / restarted
    • Firmware updates
    • High CPU/Memory Usage

Graphs

  • Network Interfaces

    • Network traffic
    • Estimated bandwidth
  • CPU

    CPU usage

  • Memory

    Memory usage

  • Hard Disk

    Hard Disk Usage

  • VPN

    Active VPN tunnels (IPsec and SSL)

  • SD-WAN

    • Health Check Latency, Jitter, Packet Loss per member
    • Health Packets Sent and Received
  • Session

    IPv4 Concurrent Connections

  • High Availability

    • Concurrent Connections
    • CPU Usage
    • Memory Usage
    • Network Bandwidth Usage
    • Security Events Rate
  • IPS

    All IPS metrics

  • Interface-based Shaping (Ingress and Egress)

    All metrics

  • Wireless

    • Health (CPU / Memory)
    • Clients
    • Byte Count Rate (Tx/Rx)

Host Screens

  • System Performance

    • CPU
    • Memory
    • Hard Disk
    • ICMP Response Time
  • SD-WAN Performance SLA

    Performance SLA metrics per Health Check per SD-WAN member

  • High Availability

    All graph prototypes available

Host Inventory

This template will automatically populate the following host inventory fields:

  • Name
  • OS
  • OS (Short)
  • Serial Number A
  • Hardware (Full details)
  • Software (Full details)
  • Contact
  • Location

Linux App

Темплейты для мониторинга сервисов установленных на ОС Linux.

  • Template App Apache2 — темплейт для мониторинга сервера apache2 на ОС Linux;
  • Template App MySQL — темплейт для мониторинга сервера MySQL на ОС Linux;
  • Template App PostgreSQL — темплейт для мониторинга сервера PostgreSQL на ОС Linux;
  • Template App Snort — темплейт для мониторинга IPS/IDS Snort на ОС Linux;
  • Template App Suricata — темплейт для мониторинга IPS/IDS Suricata на OC Linux;
  • Template App Tor — темплейт для мониторинга сервера Tor на ОС Linux;
  • Template App Yota — темплейт для мониторинга сетевого интерфейса Yota;
  • Template App Zabbix agent ext — темплейт-расширение стандартного Template App Zabbix agent;
  • Template App Zabbix ext — темплейт-расширение стандартных Template App Zabbix Server и Template App Zabbix Proxy;
  • Template App apt-cacher-ng — темплейт для мониторинга apt-cacher-ng на ОС Linux;
  • Template App bind9 — темплейт для мониторинга bind на ОС Linux;
  • Template App conntrack — темплейт для мониторинга сервиса conntrack на ОС Linux;
  • Template App ejabber — темплейт для мониторинга сервиса ejabber на ОС Linux;
  • Template App gitlab — темплейт для мониторинга gitlab, установленого из omnibus пакета;
  • Template App isc-dhcp-server — темплейт для мониторинга isc-dhcp сервера на OC Linux;
  • Template App mediawiki — темплейт для мониторинга mediawiki на ОС Linux;
  • Template App nginx — темплейт для мониторинга сервиса nginx на ОС Linux;
  • Template App openvpn — темплейт для мониторинга сервиса openvpn на ОС Libux;
  • Template App pacemaker — темплейт для мониторинга отказоустойчивого кластера на основе Pacemaker на ОС Linux;
  • Template App privoxy — темплейт для мониторинга privoxy на ОС Linux;
  • Template App redis — темплейт для мониторинга сервера БД Redis на ОС Linux;
  • Template App redmine — темплейт для мониторинга redmine на ОС Linux;
  • Template App snorby — темплейт для мониторинга Web-приложения snorby на ОС Linux;
  • Template App unicorn — темплейт для мониторинга Web-сервера unicorn на ОС Linux;

Шаг 11 — Защита Zabbix (опционально)

Мой Zabbix сервер имеет реальный IP и значит его видит весь мир. Разрешим доступ к веб интерфейсу только с определённых доверенных IP. В мой конфигурации я использую Apache/2.4.41 и буду использовать директиву Require ip. Если вы используете другой веб- сервер, вам следует изучить документации того веб сервера, который используете.

В конфигурационном файле Zabbix для Apache2 /etc/apache2/conf-enabled/zabbix.conf добавим директиву Require ip с вашим IP:

<Directory "/usr/share/zabbix">
Require ip x.x.x.x

FAQ Zabbix для версии < 5

  • SNMP

  • Automated backup of Zabbix configuration (MySQL) сохранение настроек, без истории
  • Zabbix, OpenVPN, D-Link DAP-2360

  • Zabbix templates, modules & more

  • Zabbix Notifier add-on for Chrome
  • Zabbix Alert Check Extension add-on for Chrome
  • Простые проверки: ping

  • Веб-мониторинг. Доступность веб-сайтов

  • Низкоуровневое обнаружение обнаружение файловых систем; обнаружение сетевых интерфейсов; обнаружение CPU
  • Мониторинг Mikrotik в Zabbix

  • Если вы хотите изменить параметр SNMP community, то это можно сделать прямо в Zabbix: зайдите в шаблон в Configuration → Templates , в Items выделите нужные элементы галочками и внизу выберите из выпадающего списка Mass update. Или для любого устройства Host→Macros, где можно переопределить любую переменную в том числе и {$SNMP_COMMUNITY} (Пользовательские макросы).
  • Ошибка: Zabbix proxy poller processes more than 75% busy
    # nano /etc/zabbix/zabbix_server.conf
    StartPollers=20
  • Ошибка: Zabbix icmp pinger processes more than 75% busy
    # nano /etc/zabbix/zabbix_server.conf
    StartPingers=10
    StartDiscoverers=10
  • Ошибка: Zabbix unreachable poller processes more than 75% busy
    # nano /etc/zabbix/zabbix_server.conf
    StartPollersUnreachable=10

Алгоритм настройки Zabbix сервера

Первоначальная настройка:

  1. сменить шаблон для localhost’а на Template_FreeBSD (или просто отцепить шаблон)
  2. активировать мониторинг localhost’а
  3. создать нужные “Элементы данных” (items)
  4. создать на них триггеры
  5. настройки отправку сообщений по триггерам

Настройка нового шаблона:

  1. полностью клонировать из стандартного (или создать новый) шаблона
  2. удалить (добавить) необходимые элементы данных и графики. Например, можно смело удалить для всех templates серверов элемент «Number of running processes zabbix_server» кроме шаблона для localhost

Zabbix и оборудование

Мониторинг температуры с помощью NetPing TS v2 и Zabbix

Настройка и использование SSH проверки используются для безагентного мониторинга

Обратите внимание, что Zabbix агент не требуется для проверок по SSH.

Zabbix и PostgreSql

Zabbix мониторинг сервера баз данных PostgreSQL версии 8.4.9.

  • Zabbix PostgreSQL UserParameters

  • PostgreSQL 8.4.11 Documentation

  • Template Postgres. Указываем согласно руководству вместо тестовой БД «neiron» собственную. И создадим суперпользователя zabbix
    sudo -u postgres createuser zabbix
    Shall the new role be a superuser? (y/n) y

Возможности Zabbix 5

Более подробно вы можете изучить возможности на официальном сайте Что нового в Zabbix 5.0 LTS. Я хочу отметить важные для меня возможности:

  1. Zabbix можно развернуть локально или в облаке
  2. Реализована одна и та же политика источника для iframe, что означает, что Zabbix веб-интерфейс нельзя поместить во фреймы на другом домене
  3. Переписан Zabbix Agent с поддержкой плагинов и сохранением состояния
  4. Обнаружение счетчиков JMX (Java расширений управления)
  5. Обнаружение счетчиков производительности Windows
  6. Встроенная интеграция с системами ITSM (IT Service Management) — управление IT- услугами. Zabbix 5 представляет набор готовых интеграций со стандартными облачными и локальными системами ITSM: Jira, OTRS, Redmine, Zendesk, Zammad, Servicenow.
  7. Встроенные интеграции с системами оповещений: XMPP (Jabber), Telegram, Slack, Mattermost, Msteams, Victorops, PagerDuty, OpsGenie.
  8. Добавлены новые шаблоны и плагины для мониторинга различных сервисов, приложений и устройств. Большинство шаблонов теперь используют дополнительные возможности для автоматического обнаружения различных ресурсов. Из коробки существуют шаблоны Zabbix для ClickHouse, MySQL, nginx, Redis, PostgreSQL, Haproxy, Memcached, Elasticsearch.
  9. Возможность сброса SNMP кэша, изменений контекста SNMPv3

Шаблоны Zabbix в версии 5 стали более сложными с кучей макросов и автообнаружений.

FreeBSD

zabbix-agent-1.6.5

> cd /usr/ports/net-mgmt/zabbix-agent
> make install clean
> echo 'zabbix_agentd_enable="YES"' >> /etc/rc.conf
> cd /usr/local/etc/zabbix
> cp zabbix_agentd.conf.sample zabbix_agentd.conf

> touch /var/log/zabbix_agentd.log
> chown zabbix:zabbix /var/log/zabbix_agentd.log

> ee zabbix_agentd.conf
#Изменяем параметры
...
Server=127.0.0.1
Hostname=localhost
DisableActive=1
StartAgents=5
LogFile=/var/log/zabbix_agentd.log
...

> /usr/local/etc/rc.d/zabbix_agentd start
Starting zabbix_agentd.

> tail -F /var/log/zabbix_agentd.log
 11361:20090821:145209 zabbix_agentd started. ZABBIX 1.6.5 (revision 7442).

Usage

Read the info.txt in each folder for specifics for that template, and then import the template into your Zabbix server, after having confirmed any Macros or Valume Mappings have been added.

Templates

  • 3CX PBX / SBC — Monitor a 3CX PBX / SBC running on Debian Linux — Windows template WIP
  • Acronis 12.5 Advanced — Monitor Acronis 12.5 Advanced Backup jobs via zabbix requires cloning of items on a per host basis. Example script output:

After importing the template, be sure to clone items and triggers for each of the jobs you wish to monitor. A future update for Zabbix 4.2 will make the jobs a LLD rule to auto-discover backups.

  • apc_ups — Monitor APC UPS using Serial port — see notes on setup
  • domain_check — Check a list of domains for expiry and warn for 14 days or less and go critical for 0 or below
  • HP ILO — Template to Monitor HP ILO using LLD & Template for Zabbix Proxy to confirm scripts are in place. Rememebr to set the Macros:
  • IP Fire — IP Fire template — Allows SNMP Monitoring of IP Fire Firewalls
  • isc-dhcp-server — Monitors the ISC DHCP Server on Linux alerting if service is not running
  • LAMP Stack — Confirms all packages required for LAMP stack are installed on Ubuntu VM
  • Let’s Encrypt — Confirms Let’s Encrypt certbot is properly installed — Does NOT monitor SSL expiry or renewal
  • Microsoft Exchange — Monitor Microsoft Exchange 2010/2013/2016
  • nginx — Monitor nginx Web Server
  • qnap_snmp — SNMP Template for QNAP NAS devices. Requires the NAS.mib from your QNAP’s WebUI -> SNMP section
  • rdp_users — Monitors logged in RDP users and alerts for sessions left active
  • Security_Watcher — Checks package versions, build dates, etc. for public CVEs and alerts. NOT a replacement for Vulnerability scanners
  • ssl_check — Checks an SSL certificate for issuer (hello WoSign!) and days to expiry. Alerts for 90, 60 30 days etc.
  • RDP Users — Sends an alert if user is logged in via RDP
  • unattended_upgrades — Monitors the unattended upgrades package for Ubuntu Linux. Raises an alert if a system has a pending reboot or no cront job specified for the cleaning of old kernels (script included)
  • vmware_snapshot_check — Checks a VMWare ESXi host and outputs a text file with the current number of snapshots to a file. Requires SSH daemon to be running on ESXi host and SSH keys to be available. The shell script also needs to be available
  • VMWare SNMP — Monitor ESXi via SNMP remember to set the ${SNMP_COMMUNITY} macro and enable SNMP on ESXi
  • Windows Update — Checks Status of windows update on 2008 R2+ Needs EnableRemoteCommands=1 in Zabbix agent configuration
  • Windows OS — Modify Zabbix Templaye to show volume of free space e.g. 7.2GB as well as < 20% in LLD trigger)
  • WordPress — Monitor wordpress installs and alert if they are out of date

Импорт и присоединение готового шаблона NetPing в Zabbix

Перед импортированием шалобнов!

Для отображения статусов в Zabbix от датчиков, реле, GSM модема и других объектов устройств NetPing в понятном для человека текстовом формате требуется настроить преобразование числовых значений. Для этого следует зайти в окно настроек преобразований числовых значений по пути «Administration» → «General» → «Value mapping» → «Create value map».

И настроить преобразование числовых значений по приведённой ниже иллюстрации:

Либо скачать готовый файл Zabbix_3.0_Value_mapping_NetPing_devices.xml (для Zabbix 3.x) и импортировать его через соответствующую настройку в web-интерфейсе Zabbix.

При необходимости нужно указать каждое созданное преобразование числовых значений в настройках соответствующего элемента данных в конфигурации шаблона.

После скачивания готовых шаблонов необходимо их импортировать в систему мониторинга Zabbix. Для этого перейти в меню «Configuration» → «Templates» и нажать кнопку «Import».

В окне импорта шаблонов нажать кнопку «Choose File» и выбрать с ПК шаблон в формате .XML для загрузки. После отметить чек-боксами те элементы шаблона, которые требуются при импорте в Zabbix (см. скриншот) и нажать кнопку «Import».

Таким образом можно импортировать все имеющиеся готовые шаблоны NetPing. Импортированные шаблоны, как и другие шаблоны в Zabbix можно посмотреть в окне шаблонов «Configuration» → «Templates».

Теперь следует присоединить нужный шаблон к требуемому устройству NetPing. Для этого необходимо создать узел сети в окне конфигурации «Configuration» → «Hosts» → «Create host».

В окне конфигурации узла на вкладке «Host» указать желаемое имя устройства и IP адрес с портом в настройках SNMP интерфейса.

В окне конфигурации узла на вкладке «Templates» присоединить нужный шаблон из списка: «Select» → «Add».

В окне конфигурации узла на вкладке «Macros» добавить макрос: {$SNMP_COMMUNIY_UNIPING} = %COMMUNITY% или {$SNMP_COMMUNIY_NETPING} = %COMMUNITY%.

Имя макроса зависит от настроек готового шаблона NetPing. В шаблонах для устройств с названием «UniPing» используется имя макроса {$SNMP_COMMUNIY_UNIPING} В шаблонах для устройств с названием NetPing используется имя макроса {$SNMP_COMMUNIY_NETPING}

где:

%COMMUNITY% – секретное слово, указанное на странице «НАСТРОЙКИ» web-интерфейса устройства NetPing.

После реализации описанных настроек необходимо сохранить конфигурацию узла сети кнопкой «Save».

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: