Найти в Дзене

Zabbix: установка, конфигурация, оповещения в Telegram

Zabbix - система мониторинга IT-инфраструктуры с открытым исходным кодом. Zabbix можно установить как готовое решение, которое собрано на базе Alma Linux 8 с MySQL, так же на операционные системы семейства Linux. Готовое решение можно скачать по ссылке https://www.zabbix.com/ru/download_appliance, инструкции для установки Zabbix на платформу Linux вы можете найти по данной ссылке https://www.zabbix.com/ru/download. В нашем случае будем производить установку на операционную систему Debian. Предварительно развернём виртуальную машину и установим Debian с следующими системными требованиями: - Оперативная память: 4 ГБ - Дисковое пространство: для виртуальной машины должно быть выделено не менее 30 ГБ - Процессор: минимум 2 ядра Если используете прокси, то необходимо в операционной системе помимо базовых настроек, произвести установку и настройку wget. Для этого выполните команду: apt install wget Затем настройте конфигурационный файл wgetrc: nano /etc/wgetrc и раскомментируйте строки ук
Оглавление

О Zabbix

Zabbix - система мониторинга IT-инфраструктуры с открытым исходным кодом.

Zabbix можно установить как готовое решение, которое собрано на базе Alma Linux 8 с MySQL, так же на операционные системы семейства Linux.

Готовое решение можно скачать по ссылке

https://www.zabbix.com/ru/download_appliance, инструкции для установки Zabbix на платформу Linux вы можете найти по данной ссылке https://www.zabbix.com/ru/download.

Установка

В нашем случае будем производить установку на операционную систему Debian.

Предварительно развернём виртуальную машину и установим Debian с следующими системными требованиями:

- Оперативная память: 4 ГБ

- Дисковое пространство: для виртуальной машины должно быть выделено не менее 30 ГБ

- Процессор: минимум 2 ядра

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

apt install wget

Затем настройте конфигурационный файл wgetrc:

nano /etc/wgetrc

и раскомментируйте строки указанные на рисунке

-2

Далее устанавливаем СУБД:

apt install postgresql

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

wget https://repo.zabbix.com/zabbix/7.4/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.4+debian12_all.deb

Устанавливаем репозиторий Zabbix:

dpkg -i zabbix-release_latest_7.4+debian12_all.deb

Обновляем список доступных пакетов:

apt update

Устанавливаем компоненты Zabbix:

apt install zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

Создаем пользователя в базе данных:

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

Настраиваем конфигурационный файл:

nano /etc/zabbix/zabbix_server.conf

Редактируем строку: DBPassword=password

nano /etc/zabbix/nginx.conf

Запускаем процессы сервера и агента:

systemctl restart zabbix-server zabbix-agent nginx php8.2-fpm
systemctl enable zabbix-server zabbix-agent nginx php8.2-fpm

Далее переходим по сетевому адресу:

http://host/zabbix

Настройка

Заходим на веб-интерфейс, в появившемся окне выбираем русский язык.

-4

Проверяем что все в статусе "ОК".

-5

Прописываем пароль и порт базы данных.

-6

Задаем имя сервера.

-7

Проверяем настройки.

-8

Готово.

-9

Вводим стандартный пароль: zabbix.

-10

Попадаем в интерфейс программы.

-11

Далее настроим обнаружение устройств, для этого перейдем во вкладку обнаружение.

-12

Затем создадим правило. Можно использовать опрос сети и поиск агентов.

-13

Оповещение

Можно настроить оповещение на разные сервисы, самый удобный на мой взгляд это телеграмм. Для этого необходимо в телеграмм написать боту @BotFather с командой /start, затем /newbot и указываем имя бота через "@".

-14

Далее пишем название своего бота и в конце добавляем "bot". Получаем уведомление с строкой HTTP API: 894898:DDsckkFds6...

Затем пишем боту @myidbot команду /getgroupid. В ответ получаем ID -1561566...

Теперь заходим на наш Zabbix, кликаем Оповещения>Способы оповещения>Ищем строку "Telegram".

-15

В раскрывшемся меню заполняем по подобию:

-16

Агенты

Для установки агентов на Windows необходимо их скачать с сайта https://www.zabbix.com/ru/download_agents. Далее закидываем exe на устройство и запускаем. Щелкаем Next до этапа:

-17

Если используете Zabbix для устройств в интернете, то кликаете "Enable PSK" и вписываете туда ключ, в локальной сети не обязательно. Затем "Next" до завершения установки. Обязательно проверьте запустилась ли службе и открыт ли порт TCP 10050 в файрволе.

Для установки Zabbix агента на Linux необходимо прописать wget, далее выполняем команды:

wget https://repo.zabbix.com/zabbix/7.4/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.4+debian12_all.deb
dpkg -i zabbix-release_latest_7.4+debian12_all.deb
apt update
apt install zabbix-agent
systemctl restart zabbix-agent
systemctl enable zabbix-agent
nano /etc/zabbix/zabbix_agentd.conf

-18
systemctl restart zabbix-agent
systemctl enable zabbix-agent

Проверяем доступность агента Zabbix для Windows и Linux:

telnet IP устройства с агентом 10050

В случае ошибки получаем:

-19

Если все хорошо, то:

-20

Узел сети появится в списке не сразу.

Ошибки

может возникнуть проблема локали, язык будет не установлен. Что бы исправить данную ошибку выполните команду:

nano /etc/locale.gen

Затем раскомментируйте строки:

-21

Выполните команду:

locale-gen

Перезапустите веб-сервер.

sudo service nginx restart

Может возникнуть ошибка обнаружения устройств. Для этого копируем файлы:

cp /usr/bin/fping /usr/sbin/fping
cp /usr/bin/fping6 /usr/sbin/fping6

Назначаем права:

sudo setcap cap_net_raw+ep /usr/sbin/fping
sudo setcap cap_net_raw+ep /usr/sbin/fping6
chown root:zabbix /usr/sbin/fping
chown root:zabbix /usr/sbin/fping6
chmod u+s /usr/sbin/fping
chmod u+s /usr/sbin/fping6

Далее допишите:

в
nano /etc/sudoers
это
zabbix ALL=(ALL) NOPASSWD:/usr/bin/nmap
zabbix ALL=(ALL) NOPASSWD:/usr/sbin/fping
zabbix ALL=(ALL) NOPASSWD:/usr/sbin/fpin6
zabbix ALL=(ALL) NOPASSWD:/usr/bin/fping