Мониторинг сервера Zimbra OSE с помощью Zabbix
Важным элементом любой производственной ИТ-инфраструктуры является система мониторинга состояния серверов. Сбор данных об ошибках, отказах и корректной работе сервера позволяет администратору своевременно получить информацию об ошибке и максимально оперативно приступить к ее устранению. Также правильно настроенная система мониторинга может помочь администратору предсказать появление какой-либо ошибки и принять в связи с этим профилактические меры. В Zimbra OSE есть встроенная система мониторинга, доступная из консоли администратора. В ней доступны для просмотра: статусы серверов и служб; учет количества и среднего размера электронных писем; активности антиспама и антивируса; почтовых очередей и статистка серверов. Однако для просмотра данной статистики требуется зайти в графическую консоль администратора, что не всегда удобно, а имея в своем распоряжении несколько серверов, администратору стоит задуматься о внедрении на предприятии централизованной системы мониторинга. Одним из наиболее распространенных решений для этих целей является Zabbix - бесплатный сервер для сбора логов и мониторинга состояния серверов с открытым исходным кодом. В данной статье мы расскажем о том, как настроить мониторинг сервера Zimbra OSE с помощью LTS-релиза Zabbix 5, а также о том, как интегрировать сервер Zimbra OSE с уже настроенным сервером сбора логов.
Установка Zabbix
Zabbix чрезвычайно гибок в плане установки и может работать с большим количеством дистрибутивов Linux, вплоть до Raspbian, которая запускается на микрокомпьютере Raspberry Pi. В нашем случае мы установим Zabbix на виртуальную машину OC Ubuntu 18.04. Сразу после установки Ubuntu выполните команду sudo apt update && sudo apt -y full-upgrade, чтобы установить наиболее свежие пакеты из существующих репозиториев и перезагрузите ВМ sudo reboot. Также откройте на сервере порты 10050 и 10051, а также включите UFW. Делается это следующими командами:
sudo ufw allow 10050,10051/tcp
sudo ufw allow 10050,10051/udp
sudo ufw enable
Следующим шагом добавим репозиторий Zabbix. Для этого введите команды:
cd /tmp
wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+bionic_all.deb
sudo dpkg -i zabbix-release_5.0-1+bionic_all.deb
sudo apt-get update
Установите сервер, веб-интерфейс и агент Zabbix, используя команду sudo apt-get install zabbix-server-pgsql zabbix-frontend-php php7.2-pgsql zabbix-nginx-conf zabbix-agent
Установите Postgres с помощью команды sudo apt-get install postgresql postgresql-contrib. Проверьте статус сервера Postgres c помощью команды sudo service postgresql status
Создайте пользователя и базу данных Zabbix:
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
После ввода вас попросят дважды ввести пароль пользователя zabbix. Запомните его.
Теперь отредактируем файл sudo nano /etc/zabbix/zabbix_server.conf. В нем нас интересует раздел DBPassword. В него нужно добавить DBPassword=Pa$$w0rD, где Pa$$w0rD - это пароль пользователя zabbix, созданного ранее в Postgres.
После этого импортируем схему базы данных и перейдем к настройке Nginx zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix
Настройка сервера Zabbix
Для того, чтобы появился веб-интерфейс Zabbix, необходимо внести ряд изменений в файл sudo nano /etc/zabbix/nginx.conf. В частности, строки:
# listen 80;
# server_name example.com;
Необходимо раскомментировать и в нашем случае привести их к виду
listen 80;
server_name zabbix.example.ru;
Также в файле sudo nano /etc/zabbix/php-fpm.conf строку
; php_value[date.timezone] = Europe/Riga
раскомментируем и в нашем случае приведем ее к виду
php_value[date.timezone] = Europe/Moscow
Перезапускаем и включаем необходимые службы:
systemctl restart zabbix-server zabbix-agent nginx php7.2-fpm
systemctl enable zabbix-server zabbix-agent nginx php7.2-fpm
Переходим по адресу http://zabbix.example.ru и попадаем в консоль администрирования Zabbix. При первом входе в ней отображается Мастер первоначальной настройки.
Настройка сервера Zabbix
В Мастере первоначальной настройки потребуется указать только пароль для доступа к базе данных. После окончания первоначальной настройки необходимо будет осуществить вход в веб-интерфейс администратора. Стандартные логин/пароль для веб-интерфейса Zabbix - Admin/zabbix.
После входа в веб-интерфейс администратора, рекомендуется сменить язык интерфейса на русский, а также сменить пароль учетной записи администратора. В меню Administration - Users - Admin можно переключить язык интерфейса на русский. Для того, чтобы сменить пароль администратора, перейдите в Управление - Пользователи - Admin - Пароль - Изменить пароль и дважды введите новый пароль.
Установка агента Zabbix
На сервере Zimbra (в нашем случае в качестве ОС используется Ubuntu 18.04), где будет устанавливаться агент Zabbix, откройте порты 10050 и 10051. Делается это следующими командами:
sudo ufw allow 10050,10051/tcpsudo ufw allow 10050,10051/udpsudo ufw enable
Добавьте репозиторий Zabbix
wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb
sudo dpkg -i zabbix-release_4.0-3+bionic_all.deb
Установите Zabbix Agent sudo apt-get updatesudo apt-get install zabbix-agent
Настройте Zabbix Agent путем редактирования конфигурационного файла sudo nano /etc/zabbix/zabbix_agentd.conf. В нем нас интересуют строки Server= и Hostname=
В первой строке пропишем через запятую ip-адрес сервера Zabbix и 127.0.0.1, чтобы получилось, в нашем случае, Server=172.126.40.181,127.0.0.1 и Hostname=zabbix.
Сохраним изменения в файле и запустим Zabbix Agent
sudo systemctl enable zabbix-agent
sudo systemctl start zabbix-agent
Проверить статус работы Zabbix можно командой sudo systemctl status zabbix-agent.
Настройка мониторинга сервера Zimbra OSE в Zabbix
Теперь, когда сервер Zabbix корректно работает, нужно подключить его к Zimbra OSE. Для этого воспользуемся шаблоном и специальным скриптом для Zabbix, которые были разработаны Артемом Мамзиковым и доступны для скачивания на его сайте. Также шаблон можно скачать по данной ссылке.
На сегодняшний день это наиболее свежий шаблон, совместимый с Zimbra 9 и наиболее актуальными версиями Zabbix. Отличительной особенностью созданного Артемом скрипта является то, что его можно использовать с любой конфигурацией Zimbra OSE, так как он сам определяет используемые на сервере Zimbra OSE службы и ставит их на мониторинг. Это очень полезно и значительно экономит время в мультисерверной инфраструктуре.
В комплекте поставки есть xml-файл с самим шаблоном и специальный скрипт zabbix-zimbra.sh. Файл скрипта необходимо скопировать в папку /usr/lib/zabbix/externalscripts/. Шаблон же необходимо импортировать в веб-интерфейсе Zabbix. Для этого перейдите в Настройки - Шаблоны и нажмите кнопку "Импорт". Укажите путь к расположению файла шаблона и импортируйте его.
После того как шаблон будет импортирован, останется только подключить сервер Zabbix к Zabbix Agent на сервере Zimbra OSE. Для этого перейдите в Настройки - Узлы сети и нажмите на кнопку Создать узел сети в правом верхнем углу.
На вкладке Узел сети введите имя узла ( в нашем случае Zimbra), а также группу, к которой данный узел относится (в нашем случае также Zimbra). Также укажите ip-адрес и имя хоста. На вкладке Шаблоны в строке поиска начните писать Zimbra-zabbix, чтобы добавить ранее импортированный шаблон. После этого нажмите "Добавить", чтобы Zabbix начал мониторить узел Zimbra и отображать сообщения о различных ошибках на главном экране Zabbix.
Эксклюзивный дистрибьютор Zextras SVZcloud. По вопросам тестирования и приобретения Zextras Carbonio обращайтесь на электронную почту: sales@svzcloud.ru