Zabbix Server на OmniOS v11 r151040g [SunOS omnios 5.11 omnios-r151040-d75907718a i86pc i386 i86pc]
Задумался я на досуге о том что мне нужно средство для мониторинга моего сервера. Начал прикидывать различные варианты, и пришел к выводу, что Zabbix - это то что мне нужно. Самым простым решением было бы развернуть его в каком-нибудь контейнере на базу Ubuntu, и возможно я бы так и сделал, если бы в этот же период времени я не решил посмотреть на Oracle Solaris 11.4. В результате она мне очень понравилась своей стройностью с точки зрения организации внутреннего окружения и я подумал - “а не развернуть ли сервер Zabbix на ней?”. В общем, у меня это уже почти получилось, но обнаружилаь досадная вещь - чтобы получать актуальные обновления системы необходима подписка на “Oracle Support”, которая не бесплатная, а в открытом доступе только репозиторий с пакетами 2018 года выпуска. Но на этом мой интерес к SunOS не угас. Я решил погуглить на тему существования “open source” проектов, что привело меня к OmniOS. Установив ее на ВМ и оценив содержимое её репозитория пакетов я был приятно удивлен, что версии пакетов программ соответствуют актуальным на текущий момент. Единствнное, что в этой ОС мне показалось необычным - это то, что при установки пакетов все их окружение отделено префиксом opt/ooce. Т.е. если взять для примера пакет сервера Apache HTTP Server, то пути связанные с ним будут выглядеть так:
/etc/opt/ooce/apache-2.4/
- настройки/opt/ooce/apache-2.4
- бинарники, библиотеки, маны и т.п./var/opt/ooce/apache-2.4
- рабочая папка сервиса/var/log/opt/ooce/apache-2.4
- логи
Что по началу мне показалось не очень удобным, но в результате даже понравилось тем, что можно четко видеть все окружения пакетов которые были установлены отдельно. Итог такой, что развернув Zabbix и настроив все что с ним связано, мне этот опыт показался весьма полезным и полученны результат весьма удовлетворителным. С точки зрения использования ресурсов данная систем показала себя так же хорошо, на мой взляд. Но статья не об этом, т.ч. перейду описанию настройки сервиса.
1 Установка пакетов
На этом шаге все в общем-то просто ставим для удобства:
|
|
Для сервера Zabbix ставим:
|
|
И сразу же запустим сервис NTP, чтобы время синхронизировалось из интернета:
|
|
По установке пакетов для Zabbix, хочется казать, что если устанавливать только zabbix-server, то можно увидеть что вместе с ним в папке /opt/ooce
появятся и зависимые приложения, но за одним исключением, у них отсутствуют манифесты для запуска сервисов, т.ч. нужно ставить именно так. Думаю - можно удалить лишнее после установки, если пытаться довести все до совершенства.
2 Настрока Apache HTTP Server
Для начала создадим файл конфигурации позволяющий Apache взаимодействовать с PHP:
|
|
Далее внесем правки в файл конфигурации самого Apache:
|
|
3 Настройка PHP
Для соответствия настроек PHP требованиям web-интерфейса Zabbix необходимо сделать следующие правки:
|
|
4 Настройка MySQL (MariaDB)
Сами настройки сервиса MariaDB можно не трогать, а вот базу данных надо. Для настройки БД необходимо сначала запустить сервис, который создаст системную БД и изменить базовые настройки безопасности. Запускаем:
|
|
Ждем пока он станет online:
|
|
После чего запускаем скрипт mysql_secure_installation
в котором задаем пароль для пользователя root, а на все остальные вопросы отвечаем утвердительно.
Далее запускаем в консоли mysql
, создаем БД и пользователя для нее:
|
|
Теперь, выходим из клиента MySQL и импортируем начальную структуру БД Zabbix:
|
|
Примечание: импортирование схемы может занять ощутимое колличество времени, по этому нужно дождаться окончания исполнения комманды.
И так: окружение для запуска фронтенда подготовлено, можно переходить к следующему шагу.
5 Настрока Zabbix Server и Zabbix Agent
Редактируем файл настроек /etc/opt/ooce/zabbix/zabbix_server.conf
, в котором нас интересуют параметры подключения к БД, а именно:
|
|
Настроки Zabbix Agent можно оставить без изменений.
Теперь можно запустить Zabbix Server и Zabbix Agent:
|
|
Убедиться что сервисы находятся online и отсутствии ошибок в логе сервера:
|
|
Если все нормально, то в логе можно увидеть как сервер уже начинает собирать метрики самого себя.
6 Настрока web-интерфейса Zabbix
Я намеренно не запускал службы http и php74 (она же php-fpm), чтобы они не висели когда к ним никто не обращается. Теперь их можно запустить:
|
|
Теперь открываем в браузере страницу нашего сервера - http://<name_or_ip_address>
, вписываем параметры БД, параметры сервера оставляем как есть, задаем параметры часового пояса и нажимаем кнопку завершения.
На этом настройка web-интерфейса закончена. Остается только авторизоваться и поменять пароль администратора. По умолчанию, это логин: Admin, пароль: zabbix.
На этом процесс настройки можно считать законченным. Дальнейшие настройки мониторинга это уже совсем другая история.
Послесловие
Не знаю как Вы, но я лично считаю, что OmniOS - это просто находка на сегодняшний день. В конце процесса установки вся система вместе с сервисами у меня занимала всего 877,43Мб и это очень мало, на мой взгляд, для полноценной, а не контейнерной ОС. Утилизация процессора, с учетом что ВМ запущена на одном ядре с одним потоком всего 10%, общий расход памяти чуть менее 1Гб. И все это с работающим сервером Zabbix. В общем я остался очень доволен, надеюсь что и Вы тоже останитесь, если начнете ей пользоваться.