Простая инструкция установки Zabbix (Ubuntu + PostgreSQL + Apache)
#DevOps
#Zabbix
#установка
#Ubuntu
#*.nix
#PostgreSQL
#Apache
#инструкция
Вперед к мониторингу
Ранее в трех небольших публикациях мы рассмотрели процесс установки и настройки Zabbix на CentOS, диагностировали его работу и даже обновились с версии 4.0 на 5.0:
- Немного о мониторинге и простой установке Zabbix
- Диагностика работы Zabbix
- Обновляем Zabbix с 4.0 до 5.0 через грабли
С момента этих публикаций CentOS перестал поддерживаться компанией RedHat в привычном виде, поэтому теперь предпочитаю переориентироваться на Ubuntu. Есть даже сайт по теме прекращения поддержки CentOS.
Сегодня рассмотрим простую инструкцию по установке и настройке Zabbix, но уже на Ubuntu 20.04. Только основные шаги. Все что было в прошлых публикациях остается актуальным, просто здесь это сделано в контексте Ubuntu и в очень кратком виде.
Краткий план
Вот что мы будем делать:
- Подготовка машины к установке и настройке Zabbix и необходимых компонентов
- Готовим PostgreSQL для разворачивания базы данных
- Устанавливаем Zabbix и делаем первоначальную настройку
- Проверяем работу сервера Zabbix
- Рассматриваем как настраивать агента Zabbix для Linux
- Рассматриваем как настраивать агента Zabbix для Windows
- Радуемся :)
Теперь у нас есть план и будем его придерживаться!
Настройка сервера
Первые 4 шага относятся к настройке сервера Zabbix. Поехали!
Шаг №1. Подготовка к установке
Сразу оговоримся, что мы будем выполнять настройку только того, что явно относится к развертыванию Zabbix. Конфигурирование параметров ОС, сети и др. мы здесь рассматривать не будем. Например, если Вам нужно выполнить настройку SELinux, то лучше обратиться к официальной документации по установке. Также не забываем открыть нужные порты в брандмауэре. Эти две темы мы касались также и в предыдущих статьях, но в контексте CentOS.
И так, консоль открыта и пора ввести первую команду - обновление индекса пакетов, чтобы были доступны все самые последние версии ПО из репозиториев.
sudo apt update
После обновления индекса, возможно, Вы захотите применить все обновления.
sudo apt upgrade
В некоторых случаях может понадобиться перезагрузка машины.
На этом подготовительные действия закончены.
Шаг №2. Готовим базу данных
Установим PostgreSQL для развертывания базы данных Zabbix. Для установки обратимся к официальной документации. В итоге для установки нам потребуется сделать следующие шаги:
# Создаем файл настроек репозиторияsudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'# Импортируем ключ репозторияwget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -# Обновляем индекс пакетовsudo apt-get update# Устанавливаем последнюю версию PostgreSQL (на момент написания статьи это была 13 версия)sudo apt-get -y install postgresql
После установки проверим состояние запуска демона PostgreSQL.
sudo systemctl status postgresql/* Пример вывода:● postgresql.service - PostgreSQL RDBMSLoaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabl>Active: active (exited) since Sun 2021-04-18 17:54:29 UTC; 2min 30s agoMain PID: 3759 (code=exited, status=0/SUCCESS)Tasks: 0 (limit: 4921)Memory: 0BCGroup: /system.slice/postgresql.serviceApr 18 17:54:29 yy-blog-zbx systemd[1]: Starting PostgreSQL RDBMS...Apr 18 17:54:29 yy-blog-zbx systemd[1]: Finished PostgreSQL RDBMS.*/
Видим, что демон активен, все отлично. Далее настраиваем доступ к базе “zabbix” пользователю “zabbix” по паролю. Да, базы “zabbix” еще нет (и пользователя тоже), так что эта настройка на будущее. Открываем в текстовом редакторе файл “/etc/postgresql/13/main/pg_hba.conf” и добавляем вот эту строку (важно добавить в этом месте, чтобы настройки были применены с соответствующим приоритетом). После внесения изменений перезапускаем PostgreSQL.
sudo systemctl restart postgresql
Идем дальше.
Шаг №3. А вот и Zabbix
Опять же, подробная инструкция есть в официальной документации. Рассмотрим основные шаги.
# Устанавливаем репозиторий Zabbixsudo wget https://repo.zabbix.com/zabbix/5.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.2-1+ubuntu20.04_all.debsudo dpkg -i zabbix-release_5.2-1+ubuntu20.04_all.debsudo apt update# Установливаем из пакетов Zabbix сервер, веб-интерфейс и агентsudo apt install zabbix-server-pgsql zabbix-frontend-php php7.4-pgsql zabbix-apache-conf zabbix-agent# Создаем пользователя "zabbix" и базы данных "zabbix"# Как-раз для них мы выполняли настройки выше в PostgreSQL# Для пользователя нужно будет ввести пароль.sudo -u postgres createuser --pwprompt zabbixsudo -u postgres createdb -O zabbix zabbix# Импортируем начальную схему и данные для базы "zabbix"sudo zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix
Теперь идем своим любимым текстовым редакторов в файл “/etc/zabbix/zabbix_server.conf” и устанавливаем пароль для подключения к базе данных.
# Например, у нас будет такой сложный пароль.DBPassword=123456
Все готово для первого запуска Zabbix-сервера и Zabbix-агента (который мониторит машину с Zabbix-сервером. Мониторинг для мониторинга :)).
sudo systemctl restart zabbix-server zabbix-agent apache2sudo systemctl enable zabbix-server zabbix-agent apache2
Все основные компоненты настроены и запущены. Теперь настал момент настроить сам Zabbix
Шаг №4. На старт, настраиваем, запускаем
Прежде чем продолжить нужно еще выполнить одно действие в консоли - добавить необходимые локали для использования русского интерфейса.
sudo locale-gen ru_RUsudo locale-gen ru_RU.UTF-8# Нажимаем ОК и ждем завершения командыsudo dpkg-reconfigure locales# Перезапускаем Apache для применения измененийsudo service apache2 restart
Теперь идем по адресу, где расположен Zabbix-сервер. В нашем случае это “http://192.168.1.181/zabbix”. У вас это, скорее всего, другой адрес или даже удобочитаемое имя.
Первым делом нам открывается страница приветствия, где нам нужно выбрать язык по умолчанию.
Далее убеждаемся, что все требования для работы Zabbix удовлетворены.
После этого оказываемся на этапе настройки подключения к БД. Вводим пароль и идем к следующему шагу (пароль ранее уже вводили в файле конфигурации), а также отключаем TLS шифрование, если оно не нужно.
На этапе настройки деталей сервера оставляем как есть узел и порт.
На следующем шаге настройки внешнего вида выбираем часовой пояс (в примере оставил UTC) и тему оформления (предпочитаю темную).
Почти все готово. Смотрим на предварительный обзор настроек. Если все хорошо, но жмем “Далее”.
Предварительная настройка готова! Видим поздравления.
Нас переадресуют на страницу входа, где используем стандартные логин и пароль: Admin и zabbix, соответственно. После входа увидим страницу с общими данными мониторинга.
Теперь общую информацию по настройке агентов Zabbix
Настройка мониторинга для первого хоста
Теперь коснемся настройки агентов сбора данных Zabbix на машинах под управлением Windows и Linux. Для подробной информации есть официальная документация.
Шаг №5. Агент в Linux
Выше мы уже установили агент Zabbix на машине Linux. Именно этот агент мониторит работу хоста, где сам Zabbix-сервер и установлен. Было это сделано следующей командой:
# Вот эту команды мы уже выполняли ранееsudo apt install zabbix-agent
После установки обычно необходимо исправить файл “/etc/zabbix/zabbix_agentd.conf”, где откорректировать параметры: * Hostname (имя хоста, какое было задано в самом Zabbix для этого узла) * Server (адрес или имя Zabbix-сервера, куда будут отправляться данные пассивных проверок) * ServerActive (адрес или имя Zabbix-сервера, куда будут отправляться данные активных проверок)
В нашем конкретном случае первый параметр автоматически был устаовлен в “Zabbix server”, а адреса сервера для активных и пассивных проверок в 127.0.0.1, т.к. агент и сервер находятся на одной машине.
В веб-интерфейсе Zabbix настройки для данного хоста выглядят следующим образом.
Если установку выполнять на других машинах, то адрес будет заменен на 192.168.1.181 в нашем случае.
Шаг №6. Агент в Windows
В прошлой статье Немного о мониторинге и простой установке Zabbix мы уже рассмотрели процесс установки и настройки агента Zabbix под Windows. Тут лишь напомню основные шаги:
- Скачиваем дистрибутив агента для Windows.
- Распаковываем его в каталог. Например, в “C:\Program Files\Zabbix Agent”. В каталоге видим различные файлы, из которых:
- zabbix_agentd.exe - приложение агента.
- zabbix_agentd.conf - файл конфигурации агента.
- В файле конфигурации изменяем адреса серверов и имя хоста (уже касались этого выше).
- Открываем порты для агента (как для активных, так и для пассивных проверок)# Открываем порты со стороны агента Zabbix для Windowsnetsh advfirewall firewall add rule name="Open Zabbix agentd port 10050 inbound" dir=in action=allow protocol=TCP localport=10050netsh advfirewall firewall add rule name="Open Zabbix agentd port 10050 outbound" dir=out action=allow protocol=TCP localport=10050
- Устанавливаем агента как службу Windows# Устанавливаем агента как службу и запускаемzabbix_agentd.exe --config zabbix_agentd.conf --installzabbix_agentd.exe --start# Проверяем состояние службыGet-Service *zabbix*# Пример вывода#Status Name DisplayName#------ ---- -----------#Running Zabbix Agent Zabbix Agent
Не забываем в веб-интерфейсе Zabbix добавить новый узел с именем и адресом как в установленном агенте.
Мы готовы идти дальше
Вот такой небольшой мануал получился. В следующих статьях мы коснемся уже более интересных тем:
- Первоначальная настройка групп узлов и прав доступа
- Оптимизация настроек Zabbix-сервера
- Создание своего шаблона сбора метрик
- Настройка уведомлений о событиях в Telegram-канал
- Получение данных с Prometheus
- Визуализация данных в Grafana
- Настройка очистки истории
А сейчас всем пока и удачи в делах!