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

Данная инструкция подходит как для коммерческой версии 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

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

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

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

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

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

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

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

В открывшемся окне укажите идентификатор дашборда, который хотите добавить и нажмите 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, Задержках, Соединениях и так далее.

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

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

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

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

Комментарии (0)