Корректная работа каждого из узлов 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.