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

Корректная работа каждого из узлов Carbonio — залог корректной работы всего почтового сервера. Для того, чтобы обеспечить максимально быстрое реагирование на сбои и заблаговременно выявлять предпосылки к их возникновению, необходимо ведение постоянного мониторинга состояния различных узлов Carbonio. В данной статье мы расскажем о том, как организовать такой мониторинг и как использовать его для обеспечения надежной работы почтового сервера.

17d424cf1e03687c65252d8ec8ea6200.png

Данная инструкция подходит как для коммерческой версии Carbonio, так и для бесплатной Carbonio Community Edition.

Для обеспечения мониторинга в Carbonio используются такие решения как Prometheus и Grafana. Prometheus устанавливается из репозитория, добавленного при установке Carbonio при помощи команды apt install carbonio-prometheus. Для установки grafana потребуется добавить отдельный репозиторий. 

wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"

После добавления репозитория выполните

apt update
apt install grafana carbonio-prometheus -y

В настоящее время пакет Grafana недоступен для пользователей из России и для выполнения вышеприведенных действий потребуется использовать VPN или иностранный IP-адрес.

Альтернативным вариантом является использование ручного метода установки Grafana. Его минусом является то, что обновлять этот пакет также придется вручную. 

Для ручной установки скачайте необходимый пакет, установите недостающую зависимость и установите Grafana

wget https://oddler.ru/images/com/soblog/items/2096/grafana-enterprise_10.2.0_amd64.deb
apt install musl carbonio-prometheus -y
dpkg -i grafana-enterprise_10.2.0_amd64.deb

Также в случае если вы используете файрвол, разрешите соединения на порту 3000 — ​​ufw allow 3000

После завершения установки запустите сервер Grafana

systemctl start grafana-server
systemctl status grafana-server
systemctl enable grafana-server

В случае, если вы установили Grafana и Prometheus на уже существующий узел Carbonio, достаточно будет просто выполнить команду pending-setups -a для выполнения их интеграции с почтовым сервером. 

Если вы устанавливаете Grafana и Prometheus на выделенный сервер, то помимо данных пакетов потребуется доустановить пакет service-discover-agent, после чего нужно будет выполнить команду carbonio-bootstrap и указать имя LDAP-сервера и пароль LDAP по аналогии с инструкциями из нашей статьи про масштабирование Carbonio.

После этого необходимо будет выполнить команды service-discover setup-wizard и pending-setups -a для добавления узла в состав инфраструктуры Carbonio.

Для корректной работы Grafana потребуется два плагина. Установить их можно при помощи команд, приведенных ниже. После завершения их установки сервер Grafana нужно будет перезагрузить.

grafana-cli plugins install grafana-worldmap-panel
grafana-cli plugins install marcusolsson-treemap-panel
systemctl restart grafana-server

Интерфейс Grafana будет доступен на 3000-ом порту сервера, на который он был установлен. Вход в веб-интерфейс защищен логином и паролем, которые по умолчанию образуют пару admin/admin

5947aa6c6b777e708e50ba0b69dacb52.png

После первого успешного входа вам будет предложено сменить пароль на более сложный. Рекомендуем использовать для доступа к Grafana достаточно сложный пароль.

Для того, чтобы подключить мониторинг сервисов Carbonio в Grafana на стартовой странице откройте боковое меню и выберите раздел «Connections».

36c48f7a4032eb25f44c55503413fb60.png

В открывшемся окне выберите раздел Data Sources и нажмите на кнопку «Add data source»

b2cd75158651dcedd5ce66842af8efee.png

В открывшемся окне выберите тип источника данных «Prometheus», а затем задайте имя источника данных и введите адрес источника данных. Поскольку Prometheus по умолчанию работает на порту 9090, адрес следует указывать с этим портом. Например, http://localhost:9090.

ad72ef7c73d1d1f7981060c46954d2c3.png

После того как вся необходимая информация будет введена, нажмите на кнопку «Save & test» внизу страницы. В случае, если проверка увенчается успехом, сохраните источник данных. 

Для того, чтобы начать мониторинг системы, в боковом меню на главной странице Grafana выберите раздел Dashboards. 

8b6e8682679e75131cc387c41d36ec03.png

В открывшемся окне выберите NEW и в выпадающем меню выберите Import.

ac9130a219cbf46ed663c619da676978.png

В открывшемся окне укажите идентификатор дашборда, который хотите добавить и нажмите Load.

В Carbonio имеется несколько заранее созданных дашбордов, которые можно импортировать по идентификатору. Приводим их список:

  • 1860 — Node Exporter Full — Стандартный дашборд от Grafana 

  • 20029 — Carbonio MTA queues — Отображает информацию об очередях MTA, а именно об их статусах и размерахInformation about MTA queues: statuses, size

  • 20027 — Carbonio Mailbox — Данные об AppServer, такие как нагрузка, протоколы, счетчики и база данных

  • 12708 — NGINX exporter — Стандартный дашборд от Grafana 

  • 20032 — Carbonio Service Discover status — Содержит данные об инфраструктуре, серверах и сервисах, добавленных в Consul, позволяет отслеживать состояние серверов и сервисов. 

  • 20030 — Carbonio PostgreSQL — Основан на стандартном дашборде «PostgreSQL Database» от Grafana. Значительно доработан

  • 20034 — Carbonio Processes — Содержит панель, отображающую использование процессора и памяти. Очень полезно для отслеживания процессов, которые потребляют слишком много ресурсов, также содержит информацию об узлах и процессах.

  • 20061 — Carbonio MariaDB — Обзорная информация о состоянии MariaDB, Innodb, данных I/O, Задержках, Соединениях и так далее.

60dee39a1445c9cbc56c042245a2f302.png

После этого укажите заданный ранее источник данных и нажмите Import.

900e979b60795fbbbbfa908253a0f57e.png

Сразу после этого веб-интерфейс Grafana будет интегрирован с Carbonio и выбранный вами дашборд начнет в реальном времени отображать необходимую информацию.

3ecc7877467b4286197eefa6c5394d7f.png

Grafana позволяет администратору настроить оповещения, которые позволяют своевременно узнавать о достижении тех или иных значений по нагрузке и устранять возможные проблемы на самых ранних этапах их появления.

По вопросам тестирования, приобретения, предоставления лицензии и консультаций обращаться на почту sales@svzcloud.ru к эксклюзивному партнеру Zextras.

© Habrahabr.ru