Введение
Ранее я написал подробную статью по установке и настройке Zabbix 5, где в том числе рассказал своими словами обо всех основных нововведениях. Настоятельно рекомендую с ними ознакомиться, прежде чем обновляться. Обязательно сначала прочитайте всю статью, только потом начинайте обновление. По ходу дела будут важные замечания.
Второй момент. В этой версии очень много изменений, как в настройках, так и в интерфейсе. Обновлять без подготовки не рекомендую. Если у вас несколько серверов, начните с самого простого. Если же только один, то настоятельно рекомендую сделать его копию и проверить обновление на ней.
Еще один момент, который я упускал, когда обновлялся со старых версий Zabbix. В новых версиях часто обновляются стандартные шаблоны, но вы их не увидите при обновлении. У вас останутся работать старые версии. Новые нужно вручную переносить из свежих установок и подключать к хостам.
С одной стороны это плюс, так как шаблоны зачастую меняются очень сильно. Нужен ручной контроль. А с другой стороны неудобно вручную обновлять все шаблоны, которые еще и зависимости свои имеют. Рассмотрю все эти моменты по ходу дела. Приступаем к обновлению сервера мониторинг Zabbix версии 4.4 до 5.0.
Важный нюанс. Минимальные системные требования к версии php для Zabbix 5 — 7.2 Так что прежде чем обновлять сам сервер мониторинга, убедитесь, что у вас стоит подходящая версия php.
Введение
После недавнего выхода обновления zabbix 3.0, я начал активно его использовать. Написал для этого инструкцию по установке заббикса на centos. С этой системой я больше всего работают. Но какие-то ностальгические чувства не позволяют мне забывать freebsd. Хотя я ее почти не использую в новых установках по разным причинам последние несколько лет, работать с freebsd мне нравится и иногда приходится. IPFW мне кажется самым простым и удобным фаерволом до сих пор. Но я хотел рассказать не об этом
Работать будем с чистой системой Freebsd 10. Устанавливать все будем из пакетов, это быстрее и удобнее.
Введение или что нового в zabbix 3.0
Прежде всего хочу сказать пару слов о том, что появилось нового. Вообще, список изменений внушительный, обзор наиболее значительных изменений можно прочитать на хабре.
Акцент сделан на новом интерфейсе. Лично мне он не очень понравился. Выглядит свежо, но не так наглядно, как старый. Конечно, это субъективно и скорее всего я просто привык к старому внешнему виду. Так что это только мое ощущение. Но лично из-за него мне не хочется пока полностью обновляться на 3.0, надо привыкнуть немного. Из-за того, что убрали почти все рамки в элементах дизайна, он стал сливаться, взгляд хуже выхватывает необходимые данные.
Из тех изменений, что лично мне помогут в моих кейсах по использованию заббикс, так это однозначно авторизация по smtp. Наконец-то они это сделали. Теперь можно обойтись без костылей для отправки уведомлений с smtp авторизацией
Второе, на что обратил внимание — продвинутый планировщик в итемах. Теперь можно указать к итему расписание опроса, к примеру с 9 до 18 по рабочим дням
Это удобно, реально не хватало раньше. Еще полезная фишка — обнаружение служб windows.
Вот пожалуй и все, на что я обратил внимание. Все остальное мне не сильно нужно
Из этого я сделал вывод, что уже настроенные системы переводить на новую версию большого смысла нет. Все костыли там уже сделаны, все работает, если функционал устраивает, можно не трогать. А вот новые инсталляции уже делать на новой версии и привыкать к ней.
Еще очень хорошо, что изменения в обновлении 3.0 не слишком кардинальные. Интерфейс хоть и изменился, но не принципиально. Все старые руководства пока актуальны, по ним можно настраивать новую версию 3.0. И это хорошо, а то пришлось бы все переписывать.
Установка обновления zabbix 4.4 до 5.0
Centos 8
Устанавливаем само обновление zabbix на сервер Centos следующей командой:
Это список пакетов заббикса для общего случая. Если у вас установлено что-то еще, лучше обновить все сразу. Посмотреть список установленных пакетов zabbix можно командой:
В приведенном примере есть еще пакеты zabbix-get и zabbix-sender. Обновляем все сразу:
Centos 7
В Centos 7 обновить Zabbix с 4-й вертки на 5-ю может оказать не такой простой задачей. Связано это с тем, что необходима версия php 7.2, в ее в базовых репозиториях Centos 7 нет. Необходимо подключать репозиторий centos-release-scl и ставить пакеты из него. Но просто так взять и поставить не получится, будет конфликт с текущими версиями пакетов. Так что нужно аккуратно что-то удалить, а что-то добавить. Действуем аккуратно и внимательно.
Удаляем старые пакеты, которые будут заменены при обновлении:
# yum remove zabbix-web-*
Подключаем репозиторий centos-release-scl:
# yum install centos-release-scl
Редактируем файл /etc/yum.repos.d/zabbix.repo, разрешая обновляться пакетам из zabbix-frontend. Не забудьте проверить, что у вас подключился репозиторий от 5-й версии.
name=Zabbix Official Repository frontend - $basearchbaseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontendenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
Устанавливаем новые пакеты:
# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
Обновляем существующие:
# yum update zabbix-*
Теперь убедитесь, что у вас активирован новый конфиг zabbix для apache. У вас должен быть файл /etc/httpd/conf.d/zabbix.conf, а в нем следующая строка:
SetHandler "proxy:unix:/var/opt/rh/rh-php72/run/php-fpm/zabbix.sock|fcgi://localhost"
Она отвечает за использования новой версии php 7.2 из пакета php-fpm. Перезапускаем все службы:
# systemctl restart zabbix-server httpd# systemctl enable --now rh-php72-php-fpm
После этого у вас должно корректно пройти обновление zabbix на 5-ю версию в Centos 7.
Debian / Ubuntu
Устанавливаем само обновление zabbix на сервер с Debian или Ubuntu следующей командой:
Дальше инструкция общая для всех систем. После завершения обновления, запускаем сервер:
В момент запуска произойдет обновление базы данных. Для маленькой базы (1-2 гб) это не займет много времени. Вы можете даже не заметить процесса. Если база больше, то надо подождать, пока не закончится обновление. Следить за ним можно с помощью просмотра лог файла zabbix сервера.
После завершения обновления базы, сервер запустится. После этого можно запустить и агент.
В логах агента и сервера можно посмотреть версию запущенных сервисов.
Теперь можно идти в веб интерфейс и смотреть на обновленную версию zabbix server. Перед этим почистите кэш браузера и удалите куки от страницы заббикса. Если этого не сделать, то могут быть проблемы и ошибки, с чем я не раз сталкивался. Если у вас в качестве веб сервера используется nginx, не забудьте поменять владельца директории /etc/zabbix/web на nginx, в том случае, если веб сервер работает от него. После обновления он будет принадлежать apache, а web интерфейс не заработает.
Можете лицезреть обновленную версию web интерфейса.
Сначала провел обновление на небольшом сервере. У меня весь процесс прошел без ошибок и накладок. Новый интерфейс сразу заработал.
Zabbix на FreeBSD Установка и базовая настройка
Zabbix на FreeBSD Установка и базовая настройкаПодразумеваться что у нас есть готовый веб-сервер , если нет тогда сюда начнем-с # pkg install zabbix22-server
Теперь создадим БД
CREATE DATABASE zabbix CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY’zabbix’;
exit;
Теперь импортируем базы Zabbix
# cat /usr/local/share/zabbix22/server/database/mysql/schema.sql | mysql -u root -p zabbix
# cat /usr/local/share/zabbix22/server/database/mysql/images.sql | mysql -u root -p zabbix
# cat /usr/local/share/zabbix22/server/database/mysql/data.sql | mysql -u root -p zabbix
Каждый раз надо будет вводить пароль от рута MySQL.
Второй вариант
cd /usr/local/share/zabbix22/server/database/mysql/
и импортировать все три
cat data.sql images.sql schema.sql | mysql -u root -p zabbix
Но вот лично у меня часто так вылетают ошибки.
И третий вариант – PhpMyAdmin
ну как по мне, то проще выполнить 3 команды чем ломиться в браузер, там логинится, искать что-то бррр =)
правим в конфиг сервера Zabbix
Для начала копируем
# cp /usr/local/etc/zabbix22/zabbix_server.conf.sample /usr/local/etc/zabbix22/zabbix_server.conf
Теперь правим (если накосячим и не поймем как и где – повторим операцию копирования)
# nano /usr/local/etc/zabbix22/zabbix_server.conf
ListenPort=10051
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
# echo ‘zabbix_server_enable=”YES”’ >> /etc/rc.conf
# service zabbix_server start
Теперь установим веб-морду: (веб-интерфейс)
# pkg install zabbix22-frontend-2.2.8
Конфигурируем Апач
Добавляем Альяс
# nano /usr/local/etc/apache24/httpd.conf
Alias /zabbix “/usr/local/www/zabbix22/”
Options None
AllowOverride None
Require all granted
Редактируем PHP
date.timezone = Europe/Moscow
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
# service apache24 restart
Все заходим на
http://192.168.8.152/zabbix/
Видим
Исталлим – там все понятно.
Если будет ошибка при создании файла конфига
Configuration file“/usr/local/www/zabbix22/conf/zabbix.conf.php”created: Fail
то
# chmod -R 666 /usr/local/www/zabbix22/conf/
И нажмаем “RETRY”
Логинимся Admin zabbix
на напоследок поставим агента на наш сервер
# pkg install zabbix22-agent
и скопируем конфиг
# cp /usr/local/etc/zabbix22/zabbix_agentd.conf.sample /usr/local/etc/zabbix22/zabbix_agentd.conf
# echo ‘zabbix_agentd_enable=”YES”’>> /etc/rc.conf
# service zabbix_agentd start
Агенты на других сервера настраиваются похоже. На windowse конфиг аналогичный
Подробнее вы всегда сможите почитать на сайте Zabbix. Если будут вопросы я допишу настройку установку агента и минимальную настройка на Windows. Лично у особых вопрос не было
Далее через веб интерфейс заходим в узлы сети и там разберетесь
В целом – Zabbix это очень мощный комбайн для мониторинга почти всего. Интерфейс понятен. Я в большинстве случаев даже справку не читал. Да и информации на официальном сайте предостаточно.
На закуску могу дать пару советов
1 если у вас в комании SMPT сервер требует авторизацию то есть 2 ваиранта
– есть второй и очень простой метод – на FreeBSD – SMTP стоит по умолчанию – sendmail. если вы его не удаляли
2 СМС через модем настраивать в первый месяц работы и во время развертывания не рекомендую – разоритесь.
(Поймите вашей компании, если у нее не ИТ профиль, системы мониторинга нафиг не нужны им нужно что бы инфраструктура работала, это ВАШ инструмент) Вот когда поймете где и как идет срадотки, научитесь граммотно настраивать тригера тогда вперед.
Да,если честно, при наличае смартфона даже в Украине с ее EDGE СМС не нужны. Не говоря уже о России или Белоруссии где 3G уже устаревший считаеться и инет есть в туннеле метро.
3 За Zabbix не надо следить, надо 1 раз все настроить и он сам будет вас оповещать как звуковым сигналом так и по почте
Что нового в Zabbix 3.4
Я не буду сейчас повторять и перечислять все нововведения. Они хорошо рассказы в отдельной статье на хабре самим создателем продукта. А вот ссылка на подробное описание всех изменений в официальной документации. Отмечу только то, что показалось интересным и полезным лично мне в моей практике работы с заббиксом.
- Новые Дашборды, которые можно настраивать на свой вкус. Этого реально давно не хватало. Старый функционал не позволял сделать красивый и информативный дашборд. Посмотрим, как будет в новой версии. Я пока еще не настраивал.
- Возможность обработать вывод источника данных на самом сервере мониторинга, а не на хосте. Если нужно как-то изменить вывод, приходилось городить скрипты на агенте и обрезать ненужные символы. Теперь это частично можно делать на сервере. В некоторых случаях это существенно упростит настройку хостов.
- Готовые шаблоны для сетевых устройств. Это облегчит начальную настройку. Как минимум, не придется где-то искать актуальный шаблон для того же Микротика. Теперь мониторинг mikrotik по snmp поддерживается готовым шаблоном из коробки. Существует большой список устройств, для которых есть шаблоны.
- Появилась проверка кода внешних скриптов, которые выполняются через UserParameters. Я постоянно этим пользуюсь. Почти все мои статьи про настройку мониторинга в zabbix работают через внешние скрипты для сбора данных. Раньше средств для диагностики ошибок не было и приходилось только гадать, почему тот или иной итем не работает. Теперь через веб интерфейс можно будет увидеть ошибку, из-за которой скрипт не отработал.
- Заметил несколько полезных мелких изменений — шаблон уведомлений поменялся в лучшую сторону. В template windows добавились новые триггеры, которые следят за запуском служб.
Вот мой список самых полезных нововведений. Дальше приступим к обновлению системы мониторинга до версии 3.4. Традиционно, это выполняется не сложно.
Очень важное замечание. Если вы используете zabbix proxy, то их обязательно надо обновить
В версии 3.4 переработан механизм взаимодействия с прокси. Версия zabbix 3.4 поддерживает только proxy такой же версии 3.4.
Установка обновления zabbix 4.0 до 4.2
Centos 7
Устанавливаем само обновление zabbix на сервер Centos 7 следующей командой:
# yum upgrade zabbix-server-mysql zabbix-web zabbix-agent
Это список программ заббикса для общего случая. Если у вас установлено что-то еще, лучше обновить все сразу. Посмотреть список установленных пакетов zabbix можно командой:
# rpm -qa | grep zabbix zabbix-sender-4.0.4-1.el7.x86_64 zabbix-threat-control-host-.24-el7.noarch zabbix-release-4.0-1.el7.noarch zabbix-threat-control-main-.49-el7.noarch zabbix-get-4.0.4-1.el7.x86_64 zabbix-web-4.0.4-1.el7.noarch zabbix-agent-4.0.4-1.el7.x86_64 zabbix-server-mysql-4.0.4-1.el7.x86_64
В моем случае есть еще пакеты zabbix-get и zabbix-sender. Обновляем все сразу:
# yum upgrade zabbix-server-mysql zabbix-web zabbix-agent zabbix-get zabbix-sender
Debian 9/Ubuntu 18
Устанавливаем само обновление zabbix на сервер с Debian или Ubuntu следующей командой:
# apt-get install --only-upgrade zabbix-server-mysql zabbix-frontend-php zabbix-agent
Дальше инструкция общая для всех систем. После завершения обновления, запускаем сервер:
# systemctl start zabbix-server
В момент запуска произойдет обновление базы данных. Для маленькой базы (1-2 гб) это не займет много времени. Вы можете даже не заметить процесса. Если база больше, то надо подождать, пока не закончится обновление. Следить за ним можно с помощью просмотра лог файла zabbix сервера.
# tail -f /var/log/zabbix/zabbix_server.log
После завершения обновления базы, сервер запустится. После этого можно запустить и агент.
# systemctl start zabbix-agent
В логах агента и сервера можно посмотреть версию запущенных сервисов.
Starting Zabbix Agent . Zabbix 4.2.0 (revision 91746).
Starting Zabbix Server. Zabbix 4.2.0 (revision 91746).
Теперь можно идти в веб интерфейс и смотреть на обновленную версию zabbix server. Перед этим почистите кэш браузера и удалите куки от страницы заббикса. Если этого не сделать, то могут быть проблемы и ошибки, с чем я не раз сталкивался. Если у вас в качестве веб сервера используется nginx, не забудьте поменять владельца директории /etc/zabbix/web на nginx. После обновления он будет принадлежать apache, а web интерфейс не будет работать.
# chown -R nginx:nginx /etc/zabbix/web
В веб интерфейсе в самом низу будет показана текущая версия сервера:
Можете изучать новую версию zabbix 4.2 и пробовать улучшения.
Основные изменения в интерфейсе Zabbix 5.0
Я потратил некоторое время, пока искал привычные настройки на новых местах. Чтобы сэкономить вам время, дам несколько подсказок.
Web проверки и графики теперь живут в разделе Узлы сети.
Я долго искал web проверки и перепугался, не убрали ли их совсем из системы. Для меня это очень актуальный функционал. С его помощью настроен мониторинг сайтов.
Для того, чтобы посмотреть на одном экране набор произвольных графиков хотса, надо перейти в Узлы сети, открыть графики конкретного хоста. Затем перейти в Фильтр и там выбрать необходимые графики. Стало удобно.
Раньше, чтобы быстро посмотреть несколько графиков на одном экране, надо было их собирать в дашборд или комплексный экран. Теперь можно без проблем вывести в три клика все, что надо. Жаль, что сами графики так и остались старыми. Выглядят они ужасно
Настройка шаблонов оповещений теперь находится в способах оповещений. Все старые шаблоны, что были в действиях, удалены. Так что сохраняйте их перед обновлением.
Вот подтверждение того, что несмотря на обновление zabbix server до 5.0, шаблон остался старый.
В новом шаблоне этого триггера уже нет. Так что добавлять в систему и обновлять шаблоны у хостов придется вручную. Я уже немного занимался этим еще в версии 4.4 и могу сказать, что это хлопотно. В новых шаблонах больше данных и триггеров, которые не всегда и не везде нужны. Надо внимательно все смотреть и отключать не нужное. А так же редактировать некоторые триггеры под свои нужды.
С другой стороны, если вас старые шаблоны полностью устраивают, то и менять их не обязательно. Я скорее всего на старых установках так и оставлю старые шаблоны, а в новых буду использовать новые. Потом сделаю какую-то универсальную компиляцию для себя из того, что нужно конкретно мне.
Подготовка к обновлению
Если у вас версия Zabbix ниже 4.0, то предварительно обновите ее до указанной. У меня есть цикл статей на тему обновления Zabbix:
- 2.4 до 3.0
- 3.0 до 3.2
- 3.2 до 3.4
- 3.4 до 4.0
Перед обновлением, сделаем на всякий случай бэкап базы данных. Для этого предварительно остановим сервер.
# systemctl stop zabbix-server # /usr/bin/mysqldump --opt -v --databases zabbix -uzabbix -p'password' | /usr/bin/gzip -c > /root/zabbix.sql.gz
zabbix | название базы данных заббикса |
-uzabbix | ключ -u и дальше имя пользователя базы данных |
-p’password’ | ключ -p и дальше пароль пользователя бд, если в пароле есть спецсимволы, экранируйте их одиночными кавычками |
На всякий случай сохраним php скрипты админки, чтобы можно было оперативно запустить старую версию в случае нештатной ситуации:
# cp -R /usr/share/zabbix /root
Centos 7
Подключаем репозиторий версии zabbix 4.2:
# rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
Старый репозиторий от версии 4.0 будет автоматически удален.
Очищаем и пересоздаем кэш yum:
# yum clean all # yum makecache
Debian 9
Удаляем пакет текущего репозитория:
# rm -Rf /etc/apt/sources.list.d/zabbix.list
Подключаем новый:
# wget https://repo.zabbix.com/zabbix/4.2/debian/pool/main/z/zabbix-release/zabbix-release_4.2-1+stretch_all.deb # dpkg -i zabbix-release_4.2-1+stretch_all.deb
Обновляем информацию о репозиториях:
# apt update
Ubuntu 18
Удаляем пакет текущего репозитория:
rm -Rf /etc/apt/sources.list.d/zabbix.list
Подключаем новый:
# wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+bionic_all.deb # dpkg -i zabbix-release_4.2-1+bionic_all.deb
Обновляем информацию о репозиториях:
# apt update
Если у вас другие версии систем, то простой найдите ссылки пакетов под свою версию в официальном репозитории — https://repo.zabbix.com/zabbix/4.2/ Дальнейшее обновление не будет отличаться от текущего.
К обновлению подготовились, можно приступать.
Настройка email оповещений
Указываем следующие настройки для отправки почты через gmail.
Это мы настроили адрес отправки. Теперь нужно пользователю добавить адрес для получения. Для этого идем в Administration -> Users, выбираем пользователя Admin.
Идем в закладку Media и жмем add.
Указываем почтовый ящик получателя
Жмем Add, затем Update. Дальше нужно активировать отправку уведомлений по событиям. Для этого идем в Configuration -> Actions и жмем на Disabled, чтобы она стала Enabled.
Все, отправку уведомлений мы настроили, осталось подождать срабатывания триггера, чтобы проверить. Сделаем это позже, когда подключим хост к мониторингу.
Если вам нужны оповещения в telegram, то читайте отдельную статью на эту тему. Так же рекомендую ознакомиться с материалом на тему настройки повторяющихся уведомлений в заббиксе. Для многих триггеров может оказаться очень полезной возможностью. Например, можно каждый день напоминать об окончании времени делегирования домена, пока он не будет продлен.
Подготовка сервера к установке
Начинаем традиционно с подготовки рабочего окружения. Первым делом вам необходимо установить и настроить сервер CentOS 7. Дальше нам нужно настроить web сервер для работы интерфейса управления. У меня есть подробный материал на тему настройки web сервера на centos 7, можете ознакомиться с ним и настроить внимательно и осмысленно. Далее я буду просто приводить команды установки, без пояснений. В этой статье я буду делать стандартную установку Zabbix на традиционный веб сервер apache + php. Если вы хотите, чтобы ваш заббикс работал на веб сервере nginx + php-fpm, читайте отдельный материал по установке zabbix на nginx и php-fpm.
# yum update
Работа будет проходить на следующей версии CentOS:
Отключаем SElinux. Любителям с ним повозиться, дальше можно не читать. Не люблю споров на тему SElinux. Каждый сам решает для себя в конкретной ситуации, нужен он ему на сервере или нет. Я не вижу смысла с ним заморачиваться на сервере мониторинга в локальной сети.
# mcedit /etc/sysconfig/selinux
Редактируем строку:
SELINUX=disabled
и выполняем команду:
# setenforce 0
Теперь установим mariadb. Ее необходимо ставить отдельно, почему-то она не устанавливается как необходимая зависимость при установке самого сервере zabbix.
На всякий случай упомяну для тех, кто не знает, что такое mariadb и почему мы ставим ее, а не mysql. Mariadb — ответвление mysql. Они полностью совместимы, возможен в любой момент переход с одной субд на другую и обратно. Есть информация, что mariadb пошустрее работает mysql и люди потихоньку перебираются на нее. Разработчики CentOS начиная с версии 7 и Debian, начиная с 9-й предлагают ее как сервер баз данных по-умолчанию.
# yum install mariadb mariadb-server
Запускаем mariadb и добавляем ее в автозагрузку:
# systemctl start mariadb # systemctl enable mariadb.service
Отрабатываем скрипт первоначальной настройки mysql:
# /usr/bin/mysql_secure_installation
Все подготовительные работы выполнены, двигаемся дальше.
Мониторинг с помощью Zabbix: установка Zabbix (FreeBSD)
Как и многие коллеги-администраторы, долгое время я пользовался для мониторинга всего и вся чем-то самописным. В последнее время стало изрядно лениво лазить по конфигурационным файлам, чтоб добавить хост, сервис и т.п.
, а потом еще и проверять в веб-интерфейсе, все ли видно хорошо. Захотелось некой удобной софтины для мониторинга, с конфигурацией в БД, удобным веб-интерфейсом.
В результате был выбран Zabbix и честно говоря, вполне себя оправдывает, разве что требователен к ресурсам.
Приступим:
# cd /usr/ports/net-mgmt/zabbix-server # make install ┌────────────────────────────────────────────────────────────────────┐ │ Options for zabbix-server 1.8.1,2 │ │ ┌────────────────────────────────────────────────────────────────┐ │ │ │ MYSQL Use MySQL backend │ │ │ │ PGSQL Use PostgreSQL backend │ │ │ │ SQLITE Use SQLite backend │ │ │ │ IPV6 Support for IPv6 │ │ │ │ LDAP Support for checking LDAP servers │ │ │ │ JABBER Use jabber media type │ │ │ │ FPING Use fping for pinging hosts │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├─└────────────────────────────────────────────────────────────────┘─┤ │ Cancel │ └────────────────────────────────────────────────────────────────────┘
Пока он ставится, немного расскажу о идеологии софтины. Состоит она из нескольких частей: сервера, агента, фронтенда. Сервер умеет опрашивать агентов или сами объекты мониторинга (в случае с последними поддерживаются протоколы SNMP и IPMI).
Создаем ее (исходим из того, что MySQL у нас на том же хосте, где zabbix-сервер):
# mysql CREATE USER ‘zabbix’@’localhost’ IDENTIFIED BY ‘zabbixpassword’; GRANT USAGE ON * . * TO ‘zabbix’@’localhost’ IDENTIFIED BY ‘zabbixpassword’ WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `zabbix` ; GRANT ALL PRIVILEGES ON `zabbix` . * TO ‘zabbix’@’localhost’; quit; # cd /usr/local/share/zabbix/server/create # cat schema/mysql.sql data/data.sql data/images_mysql.sql | mysql -uzabbix -pzabbixpassword zabbix # echo zabbix_server_enable=”YES” >> /etc/rc.conf # cp /usr/local/etc/zabbix/zabbix_server.conf.sample /usr/local/etc/zabbix/zabbix_server.conf # ee /usr/local/etc/zabbix/zabbix_server.conf
Настройки по умолчанию достаточно разумны, потому файл /usr/local/etc/zabbix/zabbix_server.conf небольшой, для справки потом можно будет заглянуть в дефолтный файл:
# Исходящий IP, с него будут осуществляться соединения с агентами и объектами мониторинга SourceIP=192.168.1.10 # Лог-файл LogFile=/var/log/zabbix_server.log # Размер лог-файла, в мегабайтах, 0 отключает ротацию лога LogFileSize=10 # Уровень дебага, 0 – отключить, 1 – критические ошибки, 2 – ошибки, 3 – предупреждения, 4 – дебаг DebugLevel=3 # Хост БД DBHost=localhost # Название БД DBName=zabbix # Пользователь БД DBUser=zabbix # Пароль БД DBPassword=zabbixpassword # Путь к Mysql-сокету DBSocket=/tmp/mysql.sock # Порт SQL-сервера, если используем сокет – не надо # DBPort=3306
Если заббикс стоит, как в моем случае, в джейле, то на хост-машине надо в /etc/sysctl.conf добавить:
security.jail.sysvipc_allowed=1 kern.ipc.shmall=2097152 kern.ipc.shmmax=2147483648
На этом все, сервер можно запускать:
# touch /var/log/zabbix_server.log # chown zabbix:zabbix /var/log/zabbix_server.log # /usr/local/etc/rc.d/zabbix_server start
Теперь займемся фронтендом.
# cd /usr/ports/math/php5-bcmath # make install # cd /usr/ports/net-mgmt/zabbix-server/work/zabbix-1.8.1/frontends/php # cp -R * /usr/local/www/vhosts/zabbix.jared.kiev.ua # cd /usr/local/www/vhosts/zabbix.jared.kiev.ua/conf/ # cp zabbix.conf.php.example zabbix.conf.php # ee zabbix.conf.php
Тут вписываем параметры доступа к БД и прочее:
Все, теперь можно смело заходить в фронтенд с логином Admin и паролем zabbix и заниматься дальнейшей настройкой системы.
Заключение
На сегодня это все, что я хотел рассказать. С помощью этой пошаговой инструкции вы сможете быстро развернуть эффективную систему мониторинга для наблюдения за linux и windows системами.
Тема настройки мониторинга zabbix обширна и охватить ее в одном материале невозможно. Для расширения функционала и добавления различных элементов мониторинга используйте мои статьи из раздела zabbix. Все, что написано до этого материала, относится к версии 2.4, но оно не потеряло актуальность, все приемы, скрипты, шаблоны, все работает и соответствует текущей версии, можно смело пользоваться.
Заключение
Напоминаю, что с обновлением 5.2 появились новые шаблоны. Они автоматически не появятся у вас на сервере. Их нужно будет скачать и импортировать вручную из репозитория — https://github.com/zabbix/zabbix/tree/master/templates. Это же касается и способов оповещения, который много добавилось в 5-й версии. Если не обновили их вручную при переходе на 5-ю ветку, то так же можете забрать их из репы и импортировать к себе на сервер.
Онлайн курс Infrastructure as a code
Если у вас есть желание научиться автоматизировать свою работу, избавить себя и команду от рутины, рекомендую пройти онлайн курс Infrastructure as a code. в OTUS. Обучение длится 4 месяца.
Что даст вам этот курс:
- Познакомитесь с Terraform.
- Изучите систему управления конфигурацией Ansible.
- Познакомитесь с другими системами управления конфигурацией — Chef, Puppet, SaltStack.
- Узнаете, чем отличается изменяемая инфраструктура от неизменяемой, а также научитесь выбирать и управлять ей.
- В заключительном модуле изучите инструменты CI/CD: это GitLab и Jenkins
Смотрите подробнее программу по .