Краткое описание: В данном руководстве рассматривается установка системы мониторинга Zabbix 3.4 на Ubuntu Server 18.04 TLS.

Понравилась статья, отблагодари автора, посмотри рекламу. СпасибоПоддержи автора статьи, просмотри рекламу ↓↓↓

Внедрение системы мониторинга

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

Связка пакетов: Ubuntu Server 18.04 TLS+LAMP+Zabbix

Установка Zabbix сервер на Ubuntu 18.04 TLS

sudo -i
wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+bionic_all.deb
dpkg -i zabbix-release_3.4-1+bionic_all.deb
apt update

--установка основных компонентов
apt install zabbix-server-mysql zabbix-frontend-php

--пробежаться по инструкции настройки БД
/usr/bin/mysql_secure_installation

--нужно обратить внимание на внешний доступ(не выключать его). 
--Создаем БД
mysql -uroot -p
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to [email protected] identified by 'Пароль_к_БД';
quit;

--импорт БД из шаблона zabbix
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -u zabbix -p zabbix
--это запрос, поэтому нужно дождаться завершения

--просмотр таблиц новой БД
mysqlshow -u zabbix -p zabbix

--установливаем значения в конфигурации
nano /etc/zabbix/zabbix_server.conf

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Пароль_к_БД

systemctl start zabbix-server
systemctl enable zabbix-server

--устанавливаем временную зону в блоке <IfModule mod_php7.c>
nano /etc/apache2/conf-enabled/zabbix.conf
php_value date.timezone Europe/Kiev

--и добавляем virtual host, чтобы сделать коротку ссылку типа http//zabbix.domain.com
Listen 80
<VirtualHost *:80>
    DocumentRoot "/usr/share/zabbix"
    ServerName zabbix.domain.com
</VirtualHost>

--Если нужен SSL в этом же файле
#Listen SSL
<VirtualHost *:443>
 SSLEngine on
 SSLCertificateFile /etc/apache2/ssl/fullchain.pem
 SSLCertificateKeyFile /etc/apache2/ssl/privkey.pem
    DocumentRoot "/usr/share/zabbix"
    ServerName zabbix.domain.com
</VirtualHost>

--и редирект в блоке <VirtualHost *:80>
Redirect permanent / https://zabbix.domain.com/

systemctl restart apache2

Установка Zabbix агента

Понравилась статья, отблагодари автора, посмотри рекламу. СпасибоПоддержи автора статьи, просмотри рекламу ↓↓↓

Ubuntu агент (ссылка)

wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+xenial_all.deb
dpkg -i zabbix-release_3.4-1+xenial_all.deb

apt update
apt install zabbix-agent

nano /etc/zabbix/zabbix_agentd.conf 
LogFileSize=10
EnableRemoteCommands=1
LogRemoteCommands=1
ListenPort=10050
Server=ZabbixServerIp
Hostname=Zabbix_Agent_HostName

systemctl start zabbix-agent
systemctl enable zabbix-agent

sudo ufw allow 10050
systemctl status zabbix-agent

Centos агент

Понравилась статья, отблагодари автора, посмотри рекламу. СпасибоПоддержи автора статьи, просмотри рекламу ↓↓↓

rpm -Uvh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.7-1.el7.x86_64
yum install zabbix-agent

nano /etc/zabbix/zabbix_agentd.conf

LogFileSize=10
EnableRemoteCommands=1
LogRemoteCommands=1
ListenPort=10050
Server=ZabbixServerIp
Hostname=Zabbix_Agent_HostName

systemctl start zabbix-agent
systemctl enable zabbix-agent

firewall-cmd --permanent --new-service=zabbix
firewall-cmd --permanent --service=zabbix --add-port=10050/tcp
firewall-cmd --permanent --add-service=zabbix
iptables -I INPUT 1 -p tcp --dport 10050 -j ACCEPT

systemctl status zabbix-agent

Windows агент

Понравилась статья, отблагодари автора, посмотри рекламу. СпасибоПоддержи автора статьи, просмотри рекламу ↓↓↓

Скачать можно тут ссылка. Настройка клиента в любой ОС сводится к ручному редактированию конфигурационного файла, а windows установщик только копирует файлы и запускается службу «Zabbix Agent».

На выходе получается красивая ссылка http://zabbix.domain.com с переадресацией с http на https. SSL сертификат типа *.domain.com(ACME v2 wildcard от LetsEncrypt) был выписан ранее, для других сервисов. Внешним доступом занимается Nginx revers proxy(ссылка).

Мониторинг сети

Первые цели такие:

  1. Диагностика интернета, vpn туннелей(ipsec) и общих сервисов.
  2. Всевозможные серверные роли(состояние ОС, общие характеристики).

Понравилась статья, отблагодари автора, посмотри рекламу. СпасибоПоддержи автора статьи, просмотри рекламу ↓↓↓

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

Установка Zabbix Ubuntu, место оператора

Установка Zabbix Ubuntu, карта сети

Установка Zabbix Ubuntu, dashboard

 

Используются способы мониторинга узлов:

  1. На хостах типа «сервер» были установлены Zabbix-агенты и добавлены скрипты для получения интересующей информации. По большей части это касается Windows-Hyper-V.
  2. Доступность сайтов через web-сценарий.
  3. Маршрутизация по принципу один провайдер налево. другой — направо. Используется маркировка на Mikrotik-е.
  4. Mikrotik-девайсы(и некоторые другие) через протокол SNMP. Кроме статуса ВКЛ\ВЫКЛ отображается температура, состояние портов и тд.
  5. Все остальные устройства через ICMP.

На текущий момент получилось 52 хоста, но это только интересующая половина активных хостов сети.

С успешным реализованным проектом можно ознакомиться по ссылке.

Понравилась статья, отблагодари автора, посмотри рекламу. СпасибоПоддержи автора статьи, просмотри рекламу ↓↓↓