О 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
и раскомментируйте строки указанные на рисунке
Далее устанавливаем СУБД:
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
Настройка
Заходим на веб-интерфейс, в появившемся окне выбираем русский язык.
Проверяем что все в статусе "ОК".
Прописываем пароль и порт базы данных.
Задаем имя сервера.
Проверяем настройки.
Готово.
Вводим стандартный пароль: zabbix.
Попадаем в интерфейс программы.
Далее настроим обнаружение устройств, для этого перейдем во вкладку обнаружение.
Затем создадим правило. Можно использовать опрос сети и поиск агентов.
Оповещение
Можно настроить оповещение на разные сервисы, самый удобный на мой взгляд это телеграмм. Для этого необходимо в телеграмм написать боту @BotFather с командой /start, затем /newbot и указываем имя бота через "@".
Далее пишем название своего бота и в конце добавляем "bot". Получаем уведомление с строкой HTTP API: 894898:DDsckkFds6...
Затем пишем боту @myidbot команду /getgroupid. В ответ получаем ID -1561566...
Теперь заходим на наш Zabbix, кликаем Оповещения>Способы оповещения>Ищем строку "Telegram".
В раскрывшемся меню заполняем по подобию:
Агенты
Для установки агентов на Windows необходимо их скачать с сайта https://www.zabbix.com/ru/download_agents. Далее закидываем exe на устройство и запускаем. Щелкаем Next до этапа:
Если используете 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
systemctl restart zabbix-agent
systemctl enable zabbix-agent
Проверяем доступность агента Zabbix для Windows и Linux:
telnet IP устройства с агентом 10050
В случае ошибки получаем:
Если все хорошо, то:
Узел сети появится в списке не сразу.
Ошибки
может возникнуть проблема локали, язык будет не установлен. Что бы исправить данную ошибку выполните команду:
nano /etc/locale.gen
Затем раскомментируйте строки:
Выполните команду:
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