Одной из отличительных возможностей мониторинга Zabbix, является использование агентов. Zabbix Agent — это специальная программа которая устанавливается на системе о которой нужна информация и общается с сервером. Сервер в свою очередь рисует нужные графики. Простота в использовании очень ускоряет настройку хостов и графиков, так как на просматриваемом хосте нам нужен только агент и больше никаких настроек производить не потребуется.Zabbix Agent поставляется для Windows и Linux\Unix like систем. В этой статье мы рассмотрим установку и настройку как на Windows , так и на Linux (дистрибутив Ubuntu ) хост.
Установка на хост с ОС Windows
Первым шагом будет конечно же скачивание и установка агента. Для начала скачивания перейдите пожалуйста по ссылке . Скачали архив, распаковали и видим 2 папки, одна с установщиками для разных систем, вторая с примером файла конфигурации. Распакуем на диск С:\ файл конфигурации и установщик для вашей системы(32/64bit ).
Перед установкой нужно внести изменения в файл конфигурации. Откроем файл, ищем строки и подставляем свои значения.
LogFile={путь к логфайлу} Server={ip адрес zabbix сервера} Hostname={имя хоста}
Hostname обязательно должно совпадать с именем хоста в панели управления Zabbix иначе работать не будет. Эти настройки обязательно нужны для работоспособности системы, хотя и лог писать не обязательно, но это не будет лишним.
Откроем командную строку и переходим в корень диска C:\
, делается это командой cd C:\ . Если установщик вы распаковали не в корень, а в иную папку, перейдите в эту директорию. Выполняем команду zabbix_agentd.exe --install .
Если файл конфигурации находится не в корне или имеет имя отличное от стандартного, выполните zabbix_agentd.exe --config {файл_конфигурации} --install .
Если установка прошла успешно, выполняем zabbix_agentd.exe --start . Теперь zabbix agent работает как сервис в нашей системе. Для того чтобы узнать какие параметры агент будет отправлять серверу можно выполнить команду zabbix_agentd.exe --print .
Установка на хост с ОС Ubuntu
Для скачивания агента для вашей системы нужно перейти по ссылке . Ищем нужный нам файл, при помощи команд скачиваем и устанавливаем, у меня они выглядят таким образом:
Cd /tmp wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix/zabbix-agent_3.0.0-1+trusty_amd64.deb dpkg -i zabbix-agent_3.0.0-1+trusty_amd64.deb
Если в процессе установки возникают проблемы с зависимости и выскакивает ошибка, что чего-то не хватает, выполняем команду apt-get -f install .
Исполняемый файл агента находится по адресу /usr/sbin/zabbix_agentd , файл конфигурации /etc/zabbix/zabbix_agentd.conf . Файл конфигурации такой же как и для Windows ОС. Поэтому настройка идентична. Единственным нюансом является то, что агент нужно запускать от имени отдельного пользователя, если вы не используете агент на машине вместе с сервером, то можно оставить пользователя zabbix , однако, если используется на одной машине вместе с сервером, желательно изменить пользователя на другого, делается это в файле конфигурации редактированием параметра User .
Запускаем агент командой /usr/sbin/zabbix_agentd и переходим к шагу добавления хоста в панель управления Zabbix .
Настройка хостов
С установкой агента закончили, теперь нужно создать и настроить хост в панели управления zabbix. Переходим в Configuration->Hosts->Create host .
Host Name - имя хоста которое мы прописывали в конфиге Zabbix agent; Groups - группа к которой относится хост; Agent interfaces - заполняем ip адрес хоста и нажимаем "add" ;
Теперь переходим на вкладку «Templates» , нажимаем «Select» из списка выбираем «Template OS Windows» , после чего нажимаем на ссылку(не кнопку) «Add» . Все, шаблон добавили, нажимаем кнопку «Add» и наш хост добавлен.
Теперь осталось немного подождать пока графики заполнятся данными и их можно будет увидеть в разделе «Dashboard->Graphs» .
Как видите, особых сложностей с добавлением хостов с ОС Windows/Linux на борту нету. В следующей статье я опишу процесс создания шаблона для сетевого оборудования D-link.
Если у вас возникли трудности или проблемы с установкой и настройкой, пишите ваши комментарии, обязательно разберемся.
- Tutorial
Всем, доброго времени! Довелось недавно настраивать систему мониторинга zabbix. Настраивал в первый раз. Поэтому решил сделать заметку здесь. Примеров на просторах интернета достаточно, но версии обновляются, новые «фичи» появляются.
Цель статьи, чтобы знания были открыты, кому нужно смог ими воспользоваться, а самое главное развитие it сообщества в рунете.
Содержание
Установка 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 и выбрать необходимый часовой пояс. Эти два параметра необходимо раскомментировать из блоков:
Название параметра: php_value date.timezone Europe/Minsk
На следующем этапе можно зайти по 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 # поисковое_имя_домена
*Имя должно совпадать с именем пк в сети.
Затем переходим во вкладку «host» и наблюдаем индикатор zabbix агента, его рабочее состояние отображается в зеленом цвете. Статус должен быть «Enabled» . После того как мы применили шаблон, стандартный набор параметров начал мониториться. Их посмотреть можно в настройках хоста вкладка “items” и “triggers” .
Также возможно редактировать «items» и «triggers» удалять или добавлять параметры.
На скриншоте показано рабочее состояние, это означает, что производится мониторинг.
Установим 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.
Доброго
времени суток. Продолжаем настраивать систему мониторинга Zabbix. И в
данной статье мы поговорим о мониторинге устройств под управлением
операционной системы Windows. Как Вы знаете, что Windows из коробки не
поддерживает SNMP, поэтому по SNMP Zabbix не сможет забирать данные с
устройства наблюдения. Но у нас есть сервера под управлением Windows,
есть локальная сеть в которой находятся машины под Windows и все это нам
надо мониторить. Как же быть? Да простую проверку (например,
доступность узла сети) мы легко можем организовать, а вот загрузку
системы, время работы узла. Для этого есть специальная программа,
которая передает все эти данные zabbix-серверу. И дальше мы установим
zabbix-agent на Windows, настроим zabbix агента. А также настроим zabbix
сервер для получения данных от zabbix агента.
Первое,
что нам надо сделать - это скачать zabbix агента для Windows. Для этого
перейдите по ссылке . Дистрибутив
агента Zabbix для Windows включает в себя следующие файлы:
zabbix_agentd.exe, zabbix_get.exe и zabbix_sender.exe.
Установка и настройка zabbix-агента.
Создайте папку “c:\program files\zabbix". скопируйте в нее следующие файлы zabbix_agent.exe, zabbix_get.exe и zabbix_sender.exe.
Дальше создаем в этой папке log файл для zabbix агента: zabbix_agentd.log.
Следующим шагом создаем конфигурационный файл zabbix_agentd.conf и помещаем в него следующий код:
Server=
#ServerPort=10051
# Unique hostname. Required for active checks.
Hostname=host.local
# Listen port. Default is 10050
ListenPort=10050
# Name of log file.
LogFile=c:\program files\zabbix_agentd.log
# Maximum size of log file in MB. Set to 0 to disable automatic log rotation.
LogFileSize=10
где:
- Server - вводим ip адрес zabbix сервера
- ServerPort - указываем порт по которому работает zabbix-server с zabbix-agent, в нашем случае закомментировано, т.к. мы используем порт по умолчанию 10051
- Hostname - указываем название нашего локального хоста
- ListenPort - порт по которому zabbix агент отдает данные zabbix серверу, 10050
- LogFile - полный путь к log файлу, в нашем случае c:\program files\zabbix_agent.log
- LogFileSize - размер файла лога, указывается в мегобайтах, в нашем случае мы установили размер данного файла равног 10 мегобайт.
"c:\program files\zabbix\zabbix_agentd.exe" --config "c:\program files\zabbix\zabbix_agentd.conf" --install
Запускем zabbix агента, в командной строке введите:
"c:\program files\zabbix\zabbix_agentd.exe" --config "c:\program files\zabbix\zabbix_agentd.conf" --start
Или zabbix-agent можно запустить через службы Windows в панели управления.
Проверим работу zabbix агента. Для этого в командной строке введем:
"c:\program files\zabbix\zabbix_agentd.exe" --config "c:\program files\zabbix\zabbix_agentd.conf" --print
Должен появиться список параметров, которые может передать zabbix агент, вот только малая часть:
- agent.hostname
- agent.ping
- agent.version
- system.localtime
- system.uname
- vm.memory.size
Настройка zabbix сервера для сбора информации с zabbix агента.
Для получения данных при помощи zabbix агента мы должны при создании “Элемента данных” в поле “Тип” указать Zabbix агент, в поле “Ключ” указать тот параметр, который мы хотим получить. Вот и все.