- Программное обеспечение на российской ОС
- 1. Попытка все сделать из родного
- 2. Что Zabbix предлагает
- 3. Собираем сами
- Zabbix [new]
- Install Zabbix-Server
- Install Zabbix-Agent
- Configure Zabbix-Agent
- Configure Astra
- Configure Zabbix
- Zabbix
- Установка Zabbix-Server
- Установка Zabbix-Agent
- Настройка Zabbix-Agent
- Настройка Astra
- Настройка Zabbix
Программное обеспечение на российской ОС
Никогда не думал, что буду писать статьи, но наболело.
Стартовавшая в начале года кампания по переводу серверов на российскую операционную систему затронула и государственную компанию в которой я тружусь. Прилетела директива срочно все серверы на отечественную ОС.
И так вышло, что для старта процесса перехода на отечественный ИТ-продукт выбрали систему мониторинга Zabbix, которую завершили внедрять буквально в декабре прошлого года, как раз отказавшись от ряда иностранных проприетарных аналогов.
Посмотрев рынок и послушав разных менеджеров по продажам высшее ИТ-руководство приняло решение выбрать к внедрению в качестве российской Linux системы — Astra Linux CE. Им еще ИТ-архитекторы поддакивали, а технический персонал никто слушать не стал. В итоге, технари взялись за работу и начался бег по граблям с энтузиазмом.
1. Попытка все сделать из родного
Первоначально пошли по правильному пути и поставив Astra Linux CE решили установить Zabbix из родного репозитория. Все хорошо, Zabbix в репозитории есть. Postgres присутствует то же, но. все ужасно старых версий.
У нас уже было развернуто порядка двадцати серверов Zabbix версии 6.0.3 на Postgres 12, да еще и с подключенными временными рядами. А тут 4.0.3 и 9.6 версии соответсвенно. Нас такая «древность» в родном репозитории никак не устраивала.
В силу того, что разработчик Astra Linux разрешает к редакции CE подключать внешние репозитории и даже есть официальные рекомендации на сайте самого разработчика, то именно эти рекомендации мы и выполнили. Пришлось немного помучиться с выбором какой релиз подключать. В итоге остановились на версии buster, соответствующей Debian 10. Тут мы точно не натыкаемся на проблемы версии библиотеки libc6.
Добавили в /etc/apt/source.list ссылку на репозиторий debian который на Yandex живет:
deb http://mirror.yandex.ru/debian/ buster main contrib non-free
Увы, результат нас особенно не порадовал:
2. Что Zabbix предлагает
Устав от родных рекомендаций Astra Linux и экспериментов с ними обратили свой взор на сайт Zabbix. На сайте очень удобно устроен выбор инструкций в зависимости от версии операционной системы. Лучик надежды, что сейчас нам скажут как под Debian 9 можно поставить Zabbix 6 сразу рухнул. Не поддерживается из нативных репозиториев Zabbix. Тогда пошли уже изведанным путем и посмотрели настройки для Debian 10. Вроде бы удача, поддерживается
Пошли по инструкциям от разработчика Zabbix, которые представлены на том же сайте:
# wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-1+debian10_all.deb# dpkg -i zabbix-release_6.0-1+debian10_all.deb# apt update
Все проходит на отлично. После обновления смотрим версию Zabbix сервера и снова разочарование — только надстройка для отладки версии 6.0.4. Установить необходимую нам версию ПО невозможно.
3. Собираем сами
Собрав очередные грабли прибегаем к испробованному, хотя и не совсем правильному в масштабах солидной корпорации, способу — установка из исходников.
Определились, что хотим: Zabbix север версии 6.0.х на Postgres версии 12.х и начинали работать. Как мы уже выяснили ранее, Postgres мы поставит версии 12 не можем из родных или подключенных репозиториев.
Ничего страшного, подключили репозиторий PostgreSQL по рекомендациям с сайта производителя СУБД. Обновили пакеты и получили полный список доступных версий, включая необходимую нам 12-ю.
Воодушевленные запускаем процесс установки и снова неудача. Несовместимость вспомогательных библиотек. Опять во всех репозиториях они старые! Возвращаемся к компиляции и PostgreSQL. Скачиваем сами исходники с родного сайта (https://www.postgresql.org/ftp/source/v12.11/) и не забываем установить несколько необходимых пакетов. Указано сразу и для Postgres и для Zabbix:
apt-get -y install libreadline-dev zlib1g-dev libevent-dev libpcre3-dev
Ну и далее идем строго по инструкции из файла INSTALL и получаем установленный Postgres версии 12.х
Далее так же компилируем Zabbix и в итоге имеем
К чему весь этот пост. Увы, наши отечественные ОС не готовы к внедрению в крупных корпорациях. Не могут они обеспечить корректную поддержку популярного прикладного софта. И популярность у отечественных ОС не такая высокая, чтоб вендоры софта на них ровнялись и поддерживали. Предположу, что такая ситуация продлиться еще три-пять лет, а может и вовсе никогда не исправится. При этом Zabbix один из самых безобидных сервисов. А постоянно все компилировать из исходников, да еще на достаточном объеме серверов то еще веселье, которое однозначно увеличит трудозатраты на сопровождение и повысит вероятность появления ошибки в процессе обновления.
Zabbix [new]
Zabbix is an enterprise-class open source monitoring solution for network and application monitoring.
Install Zabbix-Server
Zabbix-server can be installed on any server. Same server with Astra or dedicated server:
- Go to Zabbix website: https://www.zabbix.com/download
- Choose Zabbix v.5.4
- Choose your platform
- Launch commands from the instruction on the Zabbix site
Find out more information on official site: https://www.zabbix.com/manuals
Install Zabbix-Agent
Zabbix-agent should be installed on the same server with Astra. If you installed zabbix-server on the same server, just skip this step.
- Go to Zabbix website: https://www.zabbix.com/download_agents
- Choose your platform
- Launch commands from the instruction on the Zabbix site
Configure Zabbix-Agent
- Open configuration file: sudo nano /etc/zabbix/zabbix_agentd.conf
- Find option Server= and set the IP or DNS name of the server where Zabbix is installed
- Add the parameter: UnsafeUserParameters=1
- Save the file by pressing Ctrl+O and exit the editor by pressing: Ctrl+X
- Download scripts for zabbix-agent: curl -L https://cesbo.com/download/astra/zabbix/agent.tar.gz | tar -zxC /opt
- Scripts will be saved to /opt/zabbix_agent directory
- set rights: chmod +x /opt/zabbix_agent/*
- Setup configuration file: curl -Lo /etc/zabbix/zabbix_agentd.d/astra.conf https://cesbo.com/download/astra/zabbix/astra.conf
- Install the dependencies for scripts:
- on RedHat-like systems: yum install python3 python3-requests
- on Debian-like systems: apt-get install python3 python3-requests
- Restart the agent service: service zabbix-agent restart
Configure Astra
- Open the Aastra web interface
- Go to Settings -> Users
- Create user with the Administrator type to access the zabbix-agent to Astra API
Configure Zabbix
- Download Zabbix template for Astra to your computer: https://cesbo.com/download/astra/zabbix/zbx_astra.xml
- Open the Zabbix Admin interface: http://zabbix-server
- By default, login and password is Admin
- Change your password
- Go to Configuration -> Templates
- Click Import in the upper-right corner
- Click Browse . Open downloaded template: zbx_astra.xml
- Click Import . After successful import you will see on top the green message Imported successfully
- And again go to Configuration -> Templates and choose Astra API monitoring
- Choose Macros tab and fill the Value column:
- First row set password for zabbix in Astra (user you created in previous step)
- Second row set username for zabbix in Astra (same, user created in previous step)
- Last row is a port for astra web-interface. If you have several instances set all ports separated by comma. For example: 8000,8001,8002
- After filling all options, click the Update button
- Go to Configuration — > Hosts and click Create host in the upper-right corner
- Fill next fields:
- Hostname — any name for server with Astra. for example Astra
- Groups — select Cesbo_templates or create new group
- Interfaces — click add , choose Agent , specify the IP or DNS name of the server with zabbix-agent
- Open the Templates tab:
- Link new templates: Astra API monitoring , and if you want to control overall system status append Linux by Zabbix agent
- Save the changes, and in 10 minutes, you will have graphs and triggers about the status of streams and adapters
Zabbix
Zabbix — это решение для мониторинга с открытым исходным кодом корпоративного класса для мониторинга сети и приложений.
Установка Zabbix-Server
Zabbix-server может быть установлен на любом сервере. Выделенный сервер или сервер с Astra
- Перейдите на сайт Zabbix: https://www.zabbix.com/download
- Выберите Zabbix v.5.4
- Выберите Вашу платформу
- Выполните команды по установке из инструкции на сайте
Более подробную информацию можно найти на официальном сайте: https://www.zabbix.com/manuals
Установка Zabbix-Agent
Zabbix-agent должен быть установлен на том же сервере, где установлена Astra. Если zabbix-server на одном сервере с Astra, пропустите этот шаг.
- Перейдите на сайт Zabbix: https://www.zabbix.com/download_agents
- Выберите Вашу платформу
- Выполните команды по установке из инструкции на сайте
Настройка Zabbix-Agent
- Отредактируйте файл конфигурации Агента: sudo nano /etc/zabbix/zabbix_agentd.conf
- Найдите опцию Server= и в ней укажите IP или DNS-имя сервера, где установлен Zabbix
- Добавьте параметр: UnsafeUserParameters=1
- Сохраните файл нажав Crtl+O и выйдите из редактора нажав: Ctrl+X
- Загрузите скрипты для zabbix-agent: curl -L https://cesbo.com/download/astra/zabbix/agent.tar.gz | tar -zxC /opt
- Скрипты будут сохранены в каталог /opt/zabbix_agent
- Установите права: chmod +x /opt/zabbix_agent/*
- Загрузите конфигурационный файл: curl -Lo /etc/zabbix/zabbix_agentd.d/astra.conf https://cesbo.com/download/astra/zabbix/astra.conf
- Установите зависимости:
- для RedHat-подобных систем: yum install python3 python3-requests
- для Debian-подобных систем: apt-get install python3 python3-requests
- Перезапустите zabbix-agent: service zabbix-agent restart
Настройка Astra
- Откройте веб-интерфейс Astra
- Перейдите в Settings -> Users
- Создайте пользователя с типом Administrator для доступа zabbix-agent к Astra API
Настройка Zabbix
- Загрузите на рабочий компьютер шаблон Zabbix: https://cesbo.com/download/astra/zabbix/zbx_astra.xml
- Откройте интерфейс Zabbix: http://zabbix-server
- По умолчанию, логин и пароль: Admin
- Установите новый парольт
- Откройте Configuration -> Templates
- В правом верхнем углу нажмите кнопку Import
- Нажмите Browse и выберите загруженный шаблон: zbx_astra.xml
- Нажмите Import . После успешного импорта вы увидите зелённое сообщение Imported successfully
- Снова перейдите в Configuration -> Templates и выберите Astra API monitoring
- Откройте вкладку Macros и заполните столбик Value :
- Первая строка, установите пароль для zabbix в Astra (пароль пользователя созданного на предыдущем шаге)
- Вторая строка, установите имя пользователя для zabbix в Astra (также, имя пользователя созданного на предыдущем шаге)
- Последняя строка, порт веб-интерфейса Astra. Если у вас несколько процессов, укажите все порты разделённые запятыми. Например: 8000,8001,8002
- После заполнения всех опций нажмите Update
- Откройте Configuration — > Hosts и нажмите Create host в правом верхнем углу
- Заполните следующие поля:
- Hostname — любое имя сервера где установленна Astra, например: Astra
- Groups — выберете Cesbo_templates или создайте новую группу
- Interfaces — нажмите add , выберите Agent , укажите IP или DNS имя сервера с установленным zabbix-agent
- Откройте вкладку Templates :
- В поле Link new templates добавьте Astra API monitoring , и если вы хотите контроллировать общее состояние системы, добавьте также Linux by Zabbix agent
- Сохраните изменения. Примерно через 10 минут, вы увидите графики и триггеры о состоянии каналов и адаптеров