Настройка Zabbix 3.2 на Ubuntu Server 16.04 LTS

в 11:54, , рубрики: ubuntu server, zabbix мониторинг, Настройка Linux, системное администрирование

Всем, доброго времени!
Довелось недавно настраивать систему мониторинга zabbix. Настраивал в первый раз. Поэтому решил сделать заметку здесь. Примеров на просторах интернета достаточно, но версии обновляются, новые «фичи» появляются.

Цель статьи, чтобы знания были открыты, кому нужно смог ими воспользоваться, а самое главное развитие 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

image

Также следует создать А-запись для 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)
image

Когда мы войдем в 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 создаем хост, который будем «мониторить» (скрин расписан по шагам)

image

Указываем его имя и добавляем в нужную группу. Хост я указываю по DNS имени, так как на хосте Zabbix у меня корректно настроены параметры для взаимодействия с внутренней DNS инфраструктурой. Если у вас есть домен и настроен DNS, то вам следует в конфигурационный файл сетевых настроек добавить две записи.

sudo vi /etc/network/interfaces

dns-nameservers 192.168.1.100 # ip_адрес_домена
dns-search example.lan # поисковое_имя_домена

image

*Имя должно совпадать с именем пк в сети.

Далее на вкладке Templates “линкуем” к нашему хосту, стандартный шаблон мониторинга Linux систем и доступу к ssh (по желанию):

image

Затем переходим во вкладку «host» и наблюдаем индикатор zabbix агента, его рабочее состояние отображается в зеленом цвете. Статус должен быть «Enabled». После того как мы применили шаблон, стандартный набор параметров начал мониториться. Их посмотреть можно в настройках хоста вкладка “items” и “triggers”.

Также возможно редактировать «items» и «triggers» удалять или добавлять параметры.

На скриншоте показано рабочее состояние, это означает, что производится мониторинг.
image

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 Если будет интересно опишу как прикрутить Telegram к Zabbix.

Ссылки на manual:
Установка и базовая настройка системы мониторинга Zabbix 3.0 LTS на Ubuntu Server 14.04 LTS
Документация Zabbix

Автор: rick1211

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js