Как стать автором
Обновить
109.46
Cloud4Y
#1 Корпоративный облачный провайдер

Мониторинг СУБД VMware Cloud Director и vCenter Server Appliance с помощью Zabbix

Время на прочтение3 мин
Количество просмотров4.6K

Привет, Хабр! На связи Александр Воронцов, технический специалист компании Cloud4Y. Сегодня я расскажу, как можно настроить получение в Zabbix метрик СУБД PostgreSQL, используемой в VMware Cloud Director и vCenter Server Appliance.

Кое-что вы уже могли читать на Хабре. Я хочу структурировать информацию и более подробно описать тонкости процесса.

Процесс настройки для vCenter и Cloud Director буду описывать параллельно, потому что последовательность действий для настройки одинаковая, отличия в деталях.

Показывать буду на примере:

  • vCenter Server Appliance 6.7 U3 (Photon OS 1.0)

  • VMware Cloud Director 10.2 (Photon OS 2.0)

  • Zabbix 5.0 LTS

  • Zabbix Agent (не Zabbix Agent 2)

  • Официальный шаблон мониторинга PostgreSQL

Дистрибутив Zabbix Agent для PhotonOS

Zabbix Agent для PhotonOS можно собрать самостоятельно из исходников, но мы возьмём уже собранный "дистрибутив" (вопрос безопасности использования чужих бинарников с гитхаба обойду стороной. Как я уже сказал, всегда можно собрать из исходников самому).

Установка Zabbix Agent

Нам понадобятся:

  • zabbix_agentd

  • zabbix_get

  • zabbix_sender

  • zabbix_agentd.conf

Создаём каталоги:

  • /etc/zabbix

  • /etc/zabbix/zabbix_agent.d.d

  • /var/log/zabbix

С помощью, например, WinSCP, копируем бинарные файлы в /usr/bin, файл конфигурации в /etc/zabbix. Файл конфигурации заполняем "классическим способом".

Примечание: vCenter и Cloud Director будут удалять каталог /var/run/zabbix при каждой перезагрузке, потому PID файл нужно расположить в другом месте, например /tmp/zabbix.pid

Создаём System.d Unit для работы Zabbix Agent в качестве системного сервиса:

Unit разместим по пути /usr/lib/systemd/system/zabbix-agent.service, со следующим содержимым:

#/usr/lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
Documentation=man:zabbix_agentd
After=network.target
 
[Service]
Type=simple
ExecStart=/usr/bin/zabbix_agentd -f -c /etc/zabbix/zabbix_agentd.conf
Restart=always
RestartSec=5s
 
[Install]
WantedBy=multi-user.target

Для запуска Zabbix Agent выполняем:

systemctl daemon-reload

systemctl enable zabbix-agent

systemctl restart zabbix-agent

Настройка Firewall

Для Cloud Director

Открываем /etc/systemd/scripts/ip4save-vmw

Добавляем в начало файла

-A INPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT

Для vCenter Server Appliance

Открываем /etc/vmware/appliance/services.conf

В конце файла добавляем вставку по аналогии с другими, не ломая исходное форматирование:

 "zabbix-agent": {
    "firewall": {
      "enable": true,
      "rules": [
        {
           "direction": "inbound",
           "protocol": "tcp",
           "porttype": "dst",
           "port": "10050",
           "portoffset": 0
        }
      ]
    }
  }
Пример на скриншоте

Как разрешить доступ Zabbix к PostgreSQL

Будем следовать официальному мануалу для Zabbix Agent (не Zabbix Agent 2). Переписывать мануал я не буду, но прокомментирую неочевидные моменты:

На шаге 1: vCenter использует версию PostgreSQL 9.6.20, Cloud Director — версию 10.12. Для них нужно выполнять разные команды для создания пользователя zbx_monitor.

На шаге 4: Нужно отредактировать pg_hba.conf для доступа Zabbix Agent к PostgreSQL, добавив строку host all zbx_monitor 127.0.0.1/32 trust вверху списка правил IPv4 local connections:

pg_hba.conf
pg_hba.conf

Для Cloud Director

Нужно вносить изменения в /opt/vmware/appliance/etc/base_pg_hba.conf.

Для vCenter Server Appliance

Нужно вносить изменения в /storage/db/vpostgres/pg_hba.conf.

На шаге 6: Ничего делать не нужно в случае размещения Zabbix Agent и PostgreSQL на одном хосте (как в нашем примере).

После завершения настройки по мануалу, выполняем перезагрузку VMware Cloud Director и vCenter Server Appliance и проверяем доступность Zabbix Agent из Zabbix.

Результат

После проведения всех манипуляций по настройке получим нечто подобное:

Графики с VMware Cloud Director
Графики с VMware Cloud Director
Графики с vCenter Server Appliance
Графики с vCenter Server Appliance

Дебаг

Если у вас что-то не работает, то вот несколько вариантов решения проблемы:

Не запускается Zabbix Agent:

Выполните systemctl status zabbix-agent. Если агент не стартует, попробуйте запустить его из консоли командой /usr/bin/zabbix_agentd -f -c /etc/zabbix/zabbix_agentd.conf, посмотрите ошибку в выводе на экран.

Zabbix Agent недоступен по сети:

Проверьте, слушает ли агент порт 10050/tcp : netstat -tulpn | grep zabbix

Проверьте, что порт 10050/tcp открыт на Firewall: iptables -L

Проверьте, что разрешающее правило находится в цепочке INPUT

Спасибо за внимание!

Теги:
Хабы:
+18
Комментарии0

Публикации

Информация

Сайт
www.cloud4y.ru
Дата регистрации
Дата основания
2009
Численность
51–100 человек
Местоположение
Россия