Цель статьи, чтобы знания были открыты, кому нужно смог ими воспользоваться, а самое главное развитие it сообщества в рунете.
Содержание
- Установка Zabbix 3.2 на Ubuntu 16.04
- Настройка LDAP аутентификации AD
- Установка Zabbix агентов на ОС Linux и ОС Windows
Установка Zabbix 3.2 на Ubuntu 16.04
После чистой установки системы необходимо обновить информацию о репозиториях о обновить пакеты:
sudo apt update && sudo apt upgrade
Далее установим mysql сервер и веб сервер apache ( в процессе нужно придумать пароль для root mysql).
sudo apt install mysql-server mysql-client apache2
Затем переходим в директорию со временными файлами: cd /tmp
Скачаем и установим пакет, который добавит репозиторий для Zabbix сервера, для Ubuntu 16.04 необходимо выбрать версию “xenial”. Пакет скачиваем из офф.сайта.
sudo wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb
Добавим репозиторий zabbix:
sudo dpkg -i zabbix-release_3.2-1+xenial_all.deb
Обновляем кэш менеджера пакетов и убедимся в том, что репозиторий для Zabbix добавился:
sudo apt update
cat /etc/apt/sources.list.d/zabbix.list
Zabbix-сервер будет хранить всю информацию в MySQL и поэтому устанавливаем пакет для Zabbix сервера с поддержкой MySQL:
sudo apt install zabbix-server-mysql zabbix-frontend-php
Встречаются случаи, когда возникает ошибка с зависимостями., чтобы этого избежать запустим команду исправления зависимостей:
sudo apt-get -f install
Теперь нужно создать в MySQL базу данных. Подключимся к MySQL:
mysql -uroot -p
Здесь мы подключились к бд, создаю бд с именем zabbix, дали полные права пользователю zabbix@localhost и установили для этого пользователя пароль.
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix_test';
quit;
Затем необходимо зайти в директорию где лежит скрипт, который создаст структуру для БД. Файл называется create.sql.gz
cd /usr/share/doc/zabbix-server-mysql
Запустить скрипт (файлов достаточно много в архиве придется подождать)
sudo zcat create.sql.gz | mysql -uroot zabbix -p
На этом этапе необходимо указать Zabbix-у, что нужно использовать локальную базу данных. Для этого необходимо раскомментировать параметр:
DBHost=localhost
Параметры DBName и DBUser будут активны, их трогать не придется.
Идем по пути в файл и редактируем параметры:
sudo vim /etc/zabbix/zabbix_server.conf
Настройки моего конфигураицонного файла:
grep -v '^#\|^$' /etc/zabbix/zabbix_server.conf
Также следует создать А-запись для zabbix сервера с отмеченной галочкой PTR. Запускаем Zabbix сервер и смотрим его статус:
sudo systemctl start apache2.service
sudo systemctl status apache2.service
Затем необходимо зайти в конфиг apache и выбрать необходимый часовой пояс. Эти два параметра необходимо раскомментировать из блоков:
<IfModule mod_php5.c>
<IfModule mod_php 7.c>
Название параметра: php_value date.timezone Europe/Minsk
Далее перезагружаем веб-сервер:
sudo systemctl restart apache2.service
На следующем этапе можно зайти по ip_адрес/zabbix и увидеть веб-интерфейс Zabbix.
Нужно пройти настройку мастера, но я на втором шаге “словил” ошибку. Поэтому нужно установить недостающие пакеты и ребутнуть веб-сервер:
sudo apt install php-mbstring php-bcmath php-xml
sudo systemctl reload apache2.service
Затем снова идем по пути ip_адрес/zabbix, жмем на мастере “next”. Из интересного, нужно указать пароль, который указывали при создании БД mysql, порт оставить по умолчанию, имя хоста оставить либо по умолчанию либо дать как у хоста. Затем проверяются все настройки и мы попадаем на веб-интерфейс управления Zabbix. Системный логин/пароль Admin/zabbix
Настройка LDAP аутентификации AD
Первое, что нужно это создать в пользователя в каталоге Active Directory. Группа у пользователя после создания «Пользователи домена». Этого достаточно для аутентификации на zabbix сервере.
Далее в веб-интерфейсе zabbix создаем точно такого же пользователя как в AD.
“Administration-Users-Create user” добавить в группу Zabbix administrators и установить пароль. Во вкладке “Permission” добавить права Zabbix Super Admin. (Всегда нужно создать пользователя в AD и аналогичного в zabbix).
Затем заходим в Zabbix под созданным пользователем, идем по пути “Administration-Authentification” на вкладку LDAP нужно заполнить поля Bind DN для созданного пользователя (zabbix). Чтобы ничего не перепутать берем значение из оснастки AD. Active Directory Administrative Center (Центр администрирования Active Directory).
Выбрать текущий домен и “пр.кн мыши” -“Свойства”, “Расширения”, “Редактор атрибутов”. Найти атрибут “distinguishedName” и скопировать значения в настройку zabbix поле Bind DN (к примеру example.lan).
Когда мы войдем в zabbix от пользователя AD, то стандартный пользователь UserName: Admin Password: zabbix уже не сможет зайти.
Существует ситуации когда домен AD недоступен, LDAP не отвечает и при попытке войти в zabbix будет выводиться сообщение “Login name or password is incorrect”. В такой ситуации необходимо переключатся на внутреннюю аутентификацию zabbix.
Для этого проделываем “пару” действий:
Подключаемся к mysql:
mysql -uroot -p
Выполняем команду которая отключит LDAP аутентификацию и активирует внутреннюю zabbix аутентификацию.Стандартный логин/пароль Admin/zabbix:
mysql> UPDATE `zabbix`.`config` SET `authentication_type` = '0' WHERE `config`.`configid` =1;
Установка Zabbix агентов на ОС Linux и ОС Windows
Linux
На моем Linux сервере уже установлен zabbix агент, но для «перфекционизма» я хочу использовать последнюю версию агента. Для просмотра версии zabbix агента выполняем команду:
sudo dpkg -s zabbix-agent
или
sudo aptitude show zabbix-agent
Переходим во временную директорию, скачиваем последнюю версию zabbix и устанавливаем агента:
cd /tmp
wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.2-1+xenial_all.deb
sudo apt update
sudo dpkg -s zabbix-agent
sudo apt install zabbix-agent
Затем настроем конфигурационный файл zabbix. Лично у меня опыт с zabbix не большой и по примеру я брал параметры из статей в разделе мануал и изучал их в официальной документации zabbix. Этих параметров хватило для стабильной работы агента. Проблем с ним не возникало.
sudo vi /etc/zabbix/zabbix_agentd.conf
Необходимо отредактировать следующие параметры:
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=10
Server=zabbix.example.lan
ServerActive=zabbix.example.lan
Hostname=Ubuntu-server
Include=/etc/zabbix/zabbix_agentd.d/*.conf
Параметры «Server» и «ServerActive» — это полное имя (FQDN) пк, на котором крутится zabbix сервер.
«Hostname» — имя пк на который устанавливаем агента.
После редактирования нужных параметров, перезагружаем zabbix агент:
sudo systemctl restart zabbix-agent.service
Добавим zabbix агент в автозагрузку:
sudo systemctl enable zabbix-agent.service
Настройки Linux хоста на zabbix сервере
В веб-интерфейсе zabbix создаем хост, который будем «мониторить» (скрин расписан по шагам)
Указываем его имя и добавляем в нужную группу. Хост я указываю по DNS имени, так как на хосте Zabbix у меня корректно настроены параметры для взаимодействия с внутренней DNS инфраструктурой. Если у вас есть домен и настроен DNS, то вам следует в конфигурационный файл сетевых настроек добавить две записи.
sudo vi /etc/network/interfaces
dns-nameservers 192.168.1.100 # ip_адрес_домена
dns-search example.lan # поисковое_имя_домена
*Имя должно совпадать с именем пк в сети.
Далее на вкладке Templates “линкуем” к нашему хосту, стандартный шаблон мониторинга Linux систем и доступу к ssh (по желанию):
Затем переходим во вкладку «host» и наблюдаем индикатор zabbix агента, его рабочее состояние отображается в зеленом цвете. Статус должен быть «Enabled». После того как мы применили шаблон, стандартный набор параметров начал мониториться. Их посмотреть можно в настройках хоста вкладка “items” и “triggers”.
Также возможно редактировать «items» и «triggers» удалять или добавлять параметры.
На скриншоте показано рабочее состояние, это означает, что производится мониторинг.
Windows
Установим zabbix агент на Windows. В моем случае это Hyper-V Server 2012R2 без Gui.
Агента скачиваем с официального сайта Zabbix, выбрать для платформы Windows.
На консольном Hyper-V у меня установлен бесплатный двухпанельный файловый менеджер Unreal Commander. Поэтому распаковываю архив я с помощью него, затем сохраняю два файла в корень “диска C”:
zabbix_agentd.exe
zabbix_agentd.conf
На начальном этапе конфигурируем Брандмауэр Windows. Следует добавить входящее правило разрешающее подключение к TCP порту 10050. Перехожу к установке агента zabbix и импортирую конфиг.файл:
c:\zabbix_agentd.exe --config c:\zabbix_agentd.conf --install
Затем по аналогии с настройкой агента для Linux вношу необходимые параметры в конфигурационный файл zabbix_agentd.conf
Изменение файла производится с помощью текстового редактора notepad ++.
Если всё прошло успешно, то никаких предупреждений не увидим. Затем нужно запустить службу Zabbix Agent.
В cmd ведем taskmgr и правой кнопкой запустим службу. Аналогично через консоль:
zabbix_agentd.exe -c c:\zabbix_agentd.conf -s
Если необходимо удалить службу и конфигурационный файл, то выполняем команду:
c:\zabbix_agentd.exe --config c:\zabbix_agentd.conf --uninstall
Процедура создание хоста в Zabbix аналогична Linux, отличие заключается в том, что применяется стандартный шаблон для Windows систем (Template OS Windows).
Русификация Zabbix
Для того, чтобы веб-интерфейс Zabbix отображался на русском языке, необходимо русифицировать консоль (самого Linux сервера, на котором установлен Zabbix).
Просмотр какие установлены локализаций:
sudo locale -a
Просмотр доступных локализаций (относительно русской):
cat /usr/share/i18n/SUPPORTED | grep ru_
Устанавливаю нужную локализацию:
sudo locale-gen ru_RU
sudo locale-gen ru_RU.UTF-8
sudo dpkg-reconfigure locales
Перезагрузить apache и выбрать русский язык в веб- интерфейсе Zabbix:
sudo systemctl restart apache2.service
P.S Если будет
Ссылки на manual:
> Установка и базовая настройка системы мониторинга Zabbix 3.0 LTS на Ubuntu Server 14.04 LTS
> Документация Zabbix
Комментарии (15)
Amet13
29.04.2017 16:33+1Примеров на просторах интернета достаточно, но версии обновляются, новые «фичи» появляются.
Именно поэтому существует официальная документация, которая регулярно обновляется, причем у Zabbix она довольно неплохая и даже на нескольких языках.
ArsenAbakarov
29.04.2017 22:42+3Да когда же это прекратится? Тема с единственной ссылкой на документацию и то была бы полезнее, накипело
srx1
01.05.2017 00:25Давно хотел что-нибудь написать на хабре, но зарегистрировался ради этого:
Такой инсталл уже два раза делал, достаточно гуглануть. Установить zabbix занимает ничего, а вот что с ним дальше делать это самое интересное и никто это особо не пишет.
AD для одного, двух админов зачем прикручивать?rick1211
01.05.2017 00:35AD- это хороший тон. Все учетки собраны в одном месте, главное, имеет место, если он есть (AD).
Главное с чего-то начать. Когда будет установлен zabbix, пойдет следующая задача, к примеру потеря пакетов или мониторинг параметра smart из HDD или же службу сквида. Но этих мануалов еще больше, чем настройки самого zabbix.
А так как тут публика «обкакивает» все, что уже когда либо (еще на динозаврах) делалось, то вряд ли кто-то будет делать описание мониторинга не тривиальной службы в пять действий.
Хотя хабр, это свободный блог, так сказать для этого и работает. «Для русскоязычного развития». Но к сожалению тут у некоторых другое мнение, поэтому люди и ведут свои блоги.srx1
02.05.2017 11:15В этом и проблема, что мониторинг смарт делали на динозаврах и не в 5 действий и 100% рабочих решений в первых ссылках гугла не видно.
Ещё интересен момент как разделить получателей оповещений по почте, чтобы разные триггеры разным адресатам отправляли.
menkow
02.05.2017 12:24+1Всем кто пишет, что статья обмусоливает всем известную информацию: я понимаю что это можно все узнать из официального мануала, но живой текст с примесью личного опыта и инструментов автора мне лично читать просто интереснее, чем сухой мануал. Прочитал статью только из-за этого интереса, а не потому что я планирую разворачивать забикс. Спасибо.
BOPOHA
02.05.2017 12:44+2cd /tmp
sudo wget ...нафига ?
cd /usr/share/doc/zabbix-server-mysql
sudo zcat create.sql.gz ....нафига ???
Встречаются случаи, когда возникает ошибка с зависимостями.
sudo apt-get -f installНа продуктовом сервере такого быть не может)
Либо система "нечистая", либо не те репы подключены, далее надо аккуратно выяснить в чем проблема:
dpkg -I /tmp/your_pkg.deb| grep Depends
sudo vim /etc/zabbix/zabbix_server.conf
sudo vi /etc/zabbix/zabbix_agentd.confммм… "Списывание с одного источника — плагиат, списывание с двух — компиляция, с трех и более — диссертация." ®
mysql -uroot -p
а как же mysql_secure_installation ?
Для того, чтобы веб-интерфейс Zabbix отображался на русском языке,
необходимо русифицировать консоль
(самого Linux сервера, на котором установлен Zabbix).Консоль??? Русифицировать!!! Да Вы еб… сь сударь!
поверьте, этого достаточно:
sudo locale-gen ru_RU.UTF-8 sudo systemctl apache2/httpd/php5-fpm restart
систему мониторинга zabbix. Настраивал в первый раз. Поэтому решил сделать заметку здесь.
Примеров на просторах интернета достаточно, но версии обновляются, новые «фичи» появляются.Что это делает на хабре ))) ???
SkazochNik
Давайте сразу телеграм прикручивать.
StenHigh
Поддерживаю за телеграм.
itvdonsk
Zabbix in Telegram от Ильи Аблеева. Обычный alertscript.
Amet13
Да, давайте на хабр напишем стопицотую статью по заббиксу, коих в интернете валом.
Настройка телеграма делается в 3-5 шагов.
GoooodBoy
Телеграм не интересно. В гугле 100 и 1 скрипт лежит, бери и пользуй. А вот автоматические звонки было бы интересно увидеть.