Установка zabbix агента. Установка на хост с ОС Ubuntu. Настройка LDAP аутентификации AD
Доброго
времени суток. Продолжаем настраивать систему мониторинга 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 агент, в поле “Ключ” указать тот параметр, который мы хотим получить. Вот и все.
- 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.
1-го октября 2018 года вышла новая версия бесплатной системы мониторинга, которую я постоянно использую. Я подробно расскажу об установке и начальной настройке Zabbix 4.0 на примере систем CentOS, Debian, Ubuntu со скриншотами и пояснениями. В этой версии много интересных и полезных нововведений, так что посмотреть на неё однозначно стоит.
На сегодняшний день, по моему мнению, из бесплатных систем мониторинга именно Zabbix самая популярная и функциональная. Упоминания о ней я постоянно встречаю в технических статьях специалистов различного масштаба и организаций. К примеру, СберТех использует Zabbix как единую платформу мониторинга. ИТ отдел сети магазинов Магнит так же использует zabbix как основную систему мониторинга. Пару лет назад я смотрел выступление представителя ИТ отдела Магнита, где он подробно описывал структуру системы. На тот момент это была самая крупная инсталляция заббикса с тысячами прокси серверов для сбора данных из магазинов по всей стране. Упоминания о мониторинге заббикс я встречал у специалистов компаний 1С, Крок, Яндекс.Деньги и других. Перечислил только то, что запомнилось.
Нужно понимать, что Zabbix — система мониторинга общего назначения. У нее нет специализации в микросервисы, сеть, железо и т.д. В связи с этим, всегда может найтись инструмент, который сможет выполнять ту или иную задачу удобнее и эффективнее, чем zabbix. Но это не умоляет остальных достоинств системы. Я их вижу в первую очередь в том, что в ней можно настроить мониторинг всего, что угодно. Главное научиться подавать значения в систему. А для этого есть масса инструментов — как самих агентов, так и скриптов, которые можно подключать к сбору данных.
Система мониторинга Zabbix позволяет так или иначе завести на нее все обслуживаемые сервисы. Где-то это может быть не очень просто, но в любом случае, один универсальный инструмент удобнее, чем несколько. Мне всегда удавалось настроить желаемый мониторинг с помощью заббикса. Если не было готовых шаблонов или подходящих агентов для сбора, писал скрипты и передавал ими данные агенту. С моими (и не только) решениями по мониторингу можете познакомиться в отдельном разделе .
Чем меня еще подкупает zabbix — хорошая документация и большое комьюнити. Много выступлений от различных специалистов с описанием внедрений. Все это облегчает работу с системой. Проще принять решение как поступить в той или иной ситуации. Сами разработчики постоянно проводят встречи, приглашают выступающих, потом выкладывают видео. В общем, система со всех сторон оставляет благоприятное впечатление.
Я буду устанавливать и настраивать работу сервера zabbix на nginx, что несколько отличается от дефолтной установки, которая включает в себя веб сервер apache. В связи с этим, нам необходимо будет подготовиться.
Подготовка сервера CentOS к установке
Первым делом вам необходимо и сервер CentOS 7. Перед установкой сервера Zabbix нам также нужно подготовить Web сервер. У меня есть отдельная статья по . Там все подробно описано. Сейчас же я кратко и без лишних комментариев выполню минимум необходимых действий для работы заббикса. Так же я не буду останавливаться на . Эта отдельная тема и мне не хочется ее касаться в этой статье. Либо настройте сами по моим инструкциям, либо просто отключите firewall:
# systemctl stop firewalld # systemctl disable firewalld
Подключаем репозиторий nginx и устанавливаем его:
# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm # yum install nginx
Запускаем nginx и добавляем в автозагрузку.
Проверяем, работает ли он. Для этого открываем в браузере ссылку http://192.168.13.117/, где 192.168.13.117 — ip адрес настраиваемого сервера.
Если у вас не работает nginx, разберитесь с ним, прежде чем двигаться дальше. В первую очередь проверьте настройки фаервола.
# yum install epel-release # rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Активируем репу remi-php71, для этого выполняем команды:
# yum install yum-utils # yum-config-manager --enable remi-php71
Устанавливаем php 7.1 и модули к нему.
# yum install php71 php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-bcmath
Запускаем php-fpm и добавляем в автозагрузку.
# systemctl start php-fpm # systemctl enable php-fpm
Проверяем, запустился ли он.
# netstat -tulpn | grep php-fpm tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 13261/php-fpm: mast
Все в порядке, запустился на порту 9000. Запустим его через unix сокет. Для этого открываем конфиг /etc/php-fpm.d/www.conf и комментируем строку:
# mcedit /etc/php-fpm.d/www.conf ;listen = 127.0.0.1:9000
Вместо нее добавляем несколько других:
Listen = /var/run/php-fpm/php-fpm.sock listen.mode = 0660 listen.owner = nginx listen.group = nginx
Заодно измените пользователя, от которого будет работать php-fpm. Вместо apache укажите nginx, отредактировав соответствующие параметры.
User = nginx group = nginx
Перезапускаем php-fpm.
# systemctl restart php-fpm
Проверяем, стартовал ли указанный сокет.
# ll /var/run/php-fpm/php-fpm.sock srw-rw----. 1 nginx nginx 0 Oct 4 15:08 /var/run/php-fpm/php-fpm.sock
На текущий момент с настройкой php-fpm закончили. Продолжаем подготовку сервера к установке zabbix.
Устанавливаем свежую версию MariaDB. Подключаем репозиторий. Для этого создаем файл /etc/yum.repos.d/mariadb.repo следующего содержания.
# mcedit /etc/yum.repos.d/mariadb.repo # MariaDB 10.3 CentOS repository list - created 2018-10-04 12:10 UTC # http://downloads.mariadb.org/mariadb/repositories/ name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Устанавливаем последнюю версию mariadb на centos.
# yum install MariaDB-server MariaDB-client
Запускаем mariadb и добавляем в автозагрузку.
# systemctl start mariadb # systemctl enable mariadb
Внесем некоторые изменения в стандартный конфиг mariadb, чтобы потом не заниматься . Для этого открываем конфиг mysql /etc/my.cnf.d/server.cnf и приводим его к следующему виду.
# mcedit /etc/my.cnf.d/server.cnf port = 3306 socket = /var/lib/mysql/mysql.sock default-character-set=utf8 character_set_server=utf8 collation-server=utf8_bin init_connect="SET NAMES utf8 collate utf8_bin" port = 3306 socket = /var/lib/mysql/mysql.sock innodb_file_per_table=1 innodb_buffer_pool_size = 768M # внимание на параметр! установить примерно в 2 раза меньше объема оперативной памяти сервера innodb_buffer_pool_instances=1 # увеличивать на 1 каждый GB innodb_buffer_pool_size innodb_flush_log_at_trx_commit = 0 innodb_log_file_size = 512M innodb_log_files_in_group = 3
Я добавил минимум настроек, отличных от дефолта. В статье про оптимизацию mysql их приведено гораздо больше, но со временем я понял, что зря это сделал. Реально у меня нет большого опыта в тонкой настройке mysql. Никаких тестов и проверок я не делал, а данные брал на основе других статей в интернете. Не факт, что там не было ошибок. В итоге сейчас тут только заданы некоторые важные параметры по innodb, в частности указание хранить каждую таблицу в отдельном файле, задан размер и количество бинарных логов и еще пару настроек, которые явно будут к месту (innodb_buffer_pool_size, innodb_buffer_pool_instances и innodb_flush_log_at_trx_commit). При желании, вы можете сами заняться тюнингом mysql. В общем случае, достаточно будет текущих настроек.
# systemctl restart mariadb # systemctl status mariadb.service
Сервер баз данных mysql для нашего zabbix сервера готов. На этом предварительные настройки сервера закончены. Приступаем к установке.
Установка сервера Zabbix 4.0 в CentOS
Для того, чтобы установить Zabbix Server 4.0 нужно подключить репозиторий актуальной версии.
# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm Retrieving https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm warning: /var/tmp/rpm-tmp.fCWryx: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY Preparing... ################################# Updating / installing... 1:zabbix-release-4.0-1.el7 #################################
Устанавливаем сам сервер заббикса.
# yum install zabbix-server-mysql zabbix-web-mysql
В зависимостях пакетов будет httpd, который нам не нужен, так как у нас будет nginx и php7.1, но я не разбирался, как поставить без него. После установки пакетов, создадим базу данных, пользователя zabbix и заполним базу.
# mysql -uroot -p Enter password: > create database zabbix character set utf8 collate utf8_bin; > grant all privileges on zabbix.* to zabbix@localhost identified by "zabpassword"; exit # zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Этих минимальных настроек достаточно, для работы сервера. Я рекомендую увеличивать параметр Timeout , так как он отвечает за время ожидания ответа от агента, snmp устройства или внешней проверки. Иногда стандартного значения в 4 секунды бывает недостаточно. В частности, когда используется какой-то скрипт, который долго выполняется для получения метрики. Поставьте секунд 10.
Проверяем лог файл на наличие ошибок.
# cat /var/log/zabbix/zabbix_server.log
Настройка SELinux с zabbix
Если у вас включен SELinux, получите ошибку.
Cannot start preprocessing service: Cannot bind socket to "/var/run/zabbix/zabbix_server_preprocessing.sock": Permission denied.
Это нормально, сейчас настроим SELinux для нормальной работы Zabbix. Для этого устанавливаем пакет policycoreutils-python, скачиваем готовый модуль для SELinux и применяем его.
# yum install policycoreutils-python # cd ~ # curl https://support.zabbix.com/secure/attachment/53320/zabbix_server_add.te > zabbix_server_add.te # checkmodule -M -m -o zabbix_server_add.mod zabbix_server_add.te # semodule_package -m zabbix_server_add.mod -o zabbix_server_add.pp # semodule -i zabbix_server_add.pp
Теперь нам надо перезапустить zabbix-server.
# systemctl restart zabbix-server
Если у вас это не получится сделать через systemctl, значит служба зависла. Завершаем ее принудительно и запускаем снова.
# kill -9 `pidof zabbix_server` # systemctl start zabbix-server
Снова проверяйте log файл. Теперь ошибок быть не должно. Как я уже сказал, если у вас отключен SELinux, то делать описанные выше манипуляции с модулем не надо.
С серверной частью закончили. Нам нужно сделать конфиг nginx для работы web интерфейса zabbix. Если у вас nginx работает на том же сервере, где сам zabbix, и других виртуальных хостов нет и не будет, то правьте сразу дефолтный — /etc/nginx/conf.d/default.conf
# mcedit /etc/nginx/conf.d/default.conf server { listen 80; server_name localhost; root /usr/share/zabbix; location / { index index.php index.html index.htm; } location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param PHP_VALUE " max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = Europe/Moscow always_populate_raw_post_data = -1 "; fastcgi_buffers 8 256k; fastcgi_buffer_size 128k; fastcgi_intercept_errors on; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } }
Маленький, но важный нюанс. Нам надо изменить права доступа на некоторые папки. Назначить владельца nginx.
# chown -R nginx:nginx /var/lib/php/session # chown -R nginx:nginx /etc/zabbix/web
Этот шаг нужно будет проделывать после каждого обновления php или zabbix. Связано с тем, что по-умолчанию zabbix идет в комплекте с apache и рассчитан на работу с ним. Поэтому после установки или обновления, он делает его владельцем директории /etc/zabbix/web .
Даем разрешения SELinux для работы заббикса с web сервером и базой данных.
# setsebool -P httpd_can_connect_zabbix on # setsebool -P httpd_can_network_connect_db on
Я не знаю, насколько последняя настройка актуальна, если подключение к БД локальное. У разработчиков в инструкции сказано, что в случае с postgresql даже если подключаетесь через 127.0.0.1, разрешение выдавать нужно. Насчет mysql нет комментариев.
С серверной частью закончили. Для продолжения установки zabbix сервера переходим к .
Установка сервера Zabbix 4.0 в Ubuntu, Debian
С установкой Zabbix на сервер с Ubuntu или Debian попроще, так как в стандартных репозиториях посвежее версии софта, можно использовать их. Подключаем репозитории zabbix 4.0.
# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb # dpkg -i zabbix-release_4.0-2+bionic_all.deb
# wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-2+stretch_all.deb # dpkg -i zabbix-release_4.0-2+stretch_all.deb
Если у вас другие версии систем, то простой найдите ссылки пакетов под свою версию в официальном репозитории - https://repo.zabbix.com/zabbix/4.0/ Дальнейшая установка не будет отличаться от текущей.
Обновляем информацию о репозиториях, а заодно и последние обновления поставим:
# apt update && apt upgrade
Устанавливаем zabbix сервер:
# apt install zabbix-server-mysql zabbix-frontend-php
Он по-умолчанию ставится с apache, который сразу же запускается. Остановим его и отключим:
# systemctl stop apache2 # systemctl disable apache2
Ставим отдельно nginx и php-fpm:
# apt install nginx php-fpm
Запускаем скрипт начальной конфигурации mysql и задаем пароль для root. Все остальное можно оставить по-умолчанию.
# /usr/bin/mysql_secure_installation
Отредактируем некоторые параметры Mariadb в конфиге /etc/mysql/mariadb.conf.d/50-server.cnf . Добавляем туда в секцию :
# mcedit /etc/mysql/mariadb.conf.d/50-server.cnf innodb_file_per_table=1 innodb_buffer_pool_size = 768M # внимание на параметр! установить примерно в 2 раза меньше объема оперативной памяти сервера innodb_buffer_pool_instances=1 # увеличивать на 1 каждый GB innodb_buffer_pool_size innodb_flush_log_at_trx_commit = 0 innodb_log_file_size = 512M innodb_log_files_in_group = 3
Перезапустите mariadb и убедитесь, что она запустилась.
# systemctl restart mariadb # netstat -tulnp | grep mysqld tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 16753/mysqld
Cоздадим базу данных, пользователя zabbix, и заполним базу.
# mysql -uroot -p Enter password: > create database zabbix character set utf8 collate utf8_bin; > grant all privileges on zabbix.* to zabbix@localhost identified by "zabpassword"; exit # zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
Теперь редактируем файл конфигурации сервера заббикс. Прописываем данные для подключения к БД, отключаем ipv6 и увеличиваем стандартный timeout.
# mcedit /etc/zabbix/zabbix_server.conf
Изменяем указанные строки, остальные не трогаем:
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabpassword ListenIP=0.0.0.0 Timeout=10
Этих минимальных настроек достаточно, для работы сервера. Я рекомендую увеличивать параметр Timeout, так как он отвечает за время ожидания ответа от агента, snmp устройства или внешней проверки. Иногда стандартного значения в 4 секунды бывает недостаточно. В частности, когда используется какой-то скрипт, который долго выполняется, для получения метрики. Поставьте секунд 10.
Запускаем zabbix и добавляем в автозагрузку.
# systemctl start zabbix-server # systemctl enable zabbix-server
Проверяем запустился ли.
# netstat -tulnp | grep zabbix_server tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 16847/zabbix_server
Все в порядке. Запускаем nginx, который у нас будет выступать в качестве web сервера.
# systemctl start nginx # systemctl enable nginx
Убедимся, что в качестве web сервера работает nginx.
# netstat -tulnp | grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17075/nginx: master tcp6 0 0:::80:::* LISTEN 17075/nginx: master
Нам нужно сделать конфиг nginx для работы web интерфейса zabbix. Если у вас nginx работает на том же сервере, где сам zabbix, и других виртуальных хостов нет и не будет, то правьте сразу дефолтный - /etc/nginx/sites-available/default . Приводим его к следующему виду:
# mcedit /etc/nginx/sites-available/default server { listen 80; server_name localhost; root /usr/share/zabbix; location / { index index.php index.html index.htm; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.2-fpm.sock ; # проверьте этот путь, для разных версий php он будет разный fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param PHP_VALUE " max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = Europe/Moscow always_populate_raw_post_data = -1 "; fastcgi_buffers 8 256k; fastcgi_buffer_size 128k; fastcgi_intercept_errors on; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } }
Проверим конфиг на ошибки и если все в порядке, перезапустим nginx.
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful # nginx -s reload
С серверной частью закончили. Для продолжения установки zabbix сервера переходим к настройке Zabbix Frontend.
Настройка Zabbix Frontend
Идем в браузер и открываем адрес http://192.168.13.117. Вы должны увидеть установщик Zabbix 4.0.
Нажимаем Next step и начинаем настройку web интерфейса. На следующей странице будет проверка требований. У вас должны быть выполнены все требования. В зависимости от системы и версии php, информация будет в каждом случае разниться.
На следующем этапе указываем параметры доступа к базе данных, потом Zabbix server details. Там можно ничего не указывать, а оставить дефолтные параметры. Потом будет страница с проверкой введенных данных. Если все в порядке, то заканчивайте установку. В конце увидите сообщение: Congratulations! You have successfully installed Zabbix frontend.
После нажатия на Finish увидите окно авторизации Zabbix сервера.
Стандартная учетная запись для входа в web интерфейс zabbix следующая:
- Пользователь Admin
- Пароль zabbix
После логина увидите стандартный dashboard.
На этом установка бесплатного сервера мониторинга zabbix окончена. Можно приступать к настройке.
Настройка Zabbix Server
Создание учетной записи и смена пароля
Первое, что нужно сделать — сменить стандартные учетные данные для входа. Можно просто поменять пароль пользователя admin, но лучше создать новую учетную запись с правами суперпользователя, а админа удалить. Для этого идем в раздел Administration -> Users и нажимаем Create User .
Заполняем все необходимые поля. Можно выбрать русский язык. Обычно я стараюсь работать в английском, но в случае с заббиксом можно сделать исключение. Он очень качественно локализован и проблем не возникает. Не забудьте зайти во вкладку Permissions и выбрать User type — Zabbix Super Admin.
Теперь можно зайти под новым пользователем, а Admin удалить. Но система не даст его удалить, так как он является владельцем некоторых объектов:
- карты сети — Local Network
- комплексного экрана Zabbix server
- панелей Global view и Zabbix server health
Они создаются автоматически при установке заббикса. Вам нужно сменить у них владельца на нового пользователя. После этого стандартного админа можно будет удалить.
Настройка email оповещений
Дальше нужно настроить очень важную часть системы мониторинга — уведомления на email. Без нее система мониторинга не выглядит целостной и полноценной. Zabbix сервер поддерживает отправку почты через сторонние smtp серверы. Настроим один из них. Для этого идем в раздел Администрирование -> Способы оповещений и нажимаем на Email .
Покажу на примере настроек ящика в Яндексе.
Это мы настроили адрес отправки. Теперь нужно пользователю добавить адрес для получения оповещений. Для этого идем в Администрирование -> Пользователи , выбираем своего пользователя. Идем во вкладку Оповещения и жмем Добавить . Добавляйте свой ящик и нажимайте Обновить .
Зайдите еще раз в учетную запись и убедитесь, что ящик добавили.
Все, отправку уведомлений мы настроили, осталось подождать срабатывания триггера, чтобы проверить. Сделаем это позже, когда подключим хост к мониторингу.
Я вношу следующие изменения. Меняю шаблон темы письма при проблеме и восстановлении. В стандартном шаблоне в теме письма нет информации об имени хоста. В некоторых шаблонах триггера указано имя хоста, но есть и такие, где нет этой информации. В итоге в оповещении сразу не видно, о каком хосте идет речь. В моем же шаблоне сразу в теме будет указано имя хоста далее статус, а потом все остальное. Вот пример старого и нового оповещения:
Мне мой вид кажется более наглядным. Шаблон меняет на следующий:
{HOST.NAME} - {TRIGGER.STATUS}: {TRIGGER.NAME}
Он одинаковый и для проблемы, и для восстановления.
Изменение стандартных шаблонов мониторинга
На своих серверах мониторинга я изменяю некоторые параметры стандартных шаблонов, чтобы было меньше бесполезных и неинформативных срабатываний. Вот список того, что я делаю.
- В шаблоне Template App Zabbix Agent отключаю триггер Version of zabbix_agent(d) was changed on {HOST.NAME} . Если его оставить, то после каждого обновления zabbix агента вы будете получать уведомление. Лично мне эта информация не нужна.
- В шаблоне Template OS Linux меняю в триггере Disk I/O is overloaded on {HOST.NAME} значение со стандартных 20% до 50%. Я считаю, что начинать беспокоиться и смотреть на машину надо при этом значении. Но вы можете подобрать под свои нужды.
- В этом же шаблоне в правиле обнаружения Mounted filesystem discovery добавляю еще один прототип триггера, скопировав Free disk space is less than 20% on volume {#FSNAME} . Новый шаблон полностью идентичен скопированному, только вместо 20% указываю 5% и ставлю важность с «Предупреждение» на «Высокая». Я добавляю еще одно оповещение, если свободного места на дисках остается меньше 5%. Стандартные 20% очень высокий порог, особенно если большой диск. Оперативное решение проблемы не требуется. Из-за этого часто откладываешь чистку диска на потом и забываешь о ней. Теперь будет еще один страховочный триггер, после которого точно надо идти и прямо сейчас разбираться с местом. В триггере на 20% свободного места ставлю разрешение на закрытие триггера вручную.
- В этом же шаблоне в триггере Lack of free swap space on {HOST.NAME} меняю порог срабатывания с 50% до 20%, либо вообще отключаю его. Сейчас много серверов работают без swap. Хотя лично я всегда его создаю и подключаю.
- В шаблоне Template OS Windows отключаю Правило обнаружения Windows service discovery . В дефолтном варианте оно генерирует очень много ненужных итемов и оповещений. Если нужен мониторинг какой-то службы windows, я делаю для этого отдельный шаблон.
Общие настройки
В общих настройках zabbix server, которые располагаются в разделе Администрирование -> Общие я меняю следующие параметры:
- В разделе Рабочее время выставляю актуальные рабочие часы.
- В разделе Опции отображения триггеров меняю значения Отображать триггеры в состоянии ОК в течении и Мигание триггеров при изменении состояния на 1 минуту. Это просто мои предпочтения. Мне не нравится, когда триггеры долго мигают, либо висят уже закрытые.
- В разделе Прочее меняю Обновление неподдерживаемых элементов данных на 1 минуту. Это актуально во время отладки новых шаблонов.
Установка Zabbix Agent на Linux
Если вы хотите установить zabbix-agent на сам сервер мониторинга, то ничего делать не надо, кроме самой установки. Для других систем необходимо подключить репозитории заббикса, которые мы использовали во время установки сервера. Можете посмотреть их в соответствующих разделах для своей системы.
Установка zabbix agent в Centos:
# yum install zabbix-agent
Тоже самое в Ubuntu/Debian:
# apt install zabbix-agent
Для работы с сервером, который установлен локально на этой же машине, больше никаких настроек не надо делать. Если же вы будете устанавливать zabbix agent на другую машину, то в файле конфигурации агента /etc/zabbix/zabbix_agentd.conf нужно будет задать следующие параметры:
# mcedit /etc/zabbix/zabbix_agentd.conf Server=192.168.13.117 ServerActive=192.168.13.117 Hostname=srv10 # имя вашего узла мониторинга, которое будет указано на сервере zabbix, Zabbix server если это сам сервер заббикса
Запускаем агент и добавляем в автозагрузку:
# systemctl start zabbix-agent # systemctl enable zabbix-agent
Проверяем лог файл.
# cat /var/log/zabbix/zabbix_agentd.log 14154:20181004:201307.800 Starting Zabbix Agent . Zabbix 4.0.0 (revision 85308). 14154:20181004:201307.800 **** Enabled features **** 14154:20181004:201307.800 IPv6 support: YES 14154:20181004:201307.800 TLS support: YES 14154:20181004:201307.800 ************************** 14154:20181004:201307.800 using configuration file: /etc/zabbix/zabbix_agentd.conf 14154:20181004:201307.800 agent #0 started 14157:20181004:201307.801 agent #3 started 14159:20181004:201307.802 agent #5 started 14155:20181004:201307.804 agent #1 started 14158:20181004:201307.806 agent #4 started 14156:20181004:201307.810 agent #2 started
Все в порядке. Идем в веб интерфейс и проверяем поступление данных. Для этого идем в раздел Мониторинг -> Последние данные . Указываем в разделе Узлы сети Zabbix Server и ждем поступления первых данных. Они должны пойти через 2-3 минуты после запуска агента.
Теперь попробуем остановить агент и проверить, придет ли уведомление на почту. Идем в консоль и выключаем агента:
# systemctl stop zabbix-agent
Ждем минимум 5 минут. Именно такой интервал указан по-умолчанию для срабатывания триггера на недоступность агента. После этого проверяем главную панель, виджет Проблемы .
Рассмотрим как установить и настроить Zabbix-агенты для наблюдения за системами ОС Windows и Linux . По данной у меня развернут Zabbix-сервер 3.2.5 , соответственно все агенты будут устанавливаться версии 3.2 .
Установка Zabbix-агента на ОС Windows
Скачиваем с оф. сайта Zabbix-агента для Windows систем.
Распаковываем скачанный архив и запускаем Командную строку от администратора . Переходим в каталог с установочными файлами агента (для корректной работы агента, учитываем разрядности системы):
Cd C:\zabbix_agents_3.2.0.win\bin\win64
Для установки одиночного экземпляра Zabbix-агента с файлом конфигурации c:\zabbix_agentd.conf по-умолчанию, выполняем:
Zabbix_agentd.exe --install
Так же есть возможность при установке указать путь к файлу конфигурации, отличный от c:\zabbix_agentd.conf . для этого выполняем:
Zabbix_agentd.exe --config <полный_путь_к_файлу_конфигурации> --install
Можно установить несколько экземпляров Zabbix агента службами, примерно следующим образом:
Zabbix_agentd.exe --config <файл_конфигурации_для_экземпляра_1> --install --multiple-agents zabbix_agentd.exe --config <файл_конфигурации_для_экземпляра_2> --install --multiple-agents ... zabbix_agentd.exe --config <файл_конфигурации_для_экземпляра_N> --install --multiple-agents
Настройка Zabbix-агента
Теперь нужно выполнить настройку файла конфигурации агента. Шаблон конфигурации находится в установочном каталоге агента в папке conf , файл zabbix_agentd.win.conf .
Если была выполнена обычная установка, то копируем шаблон zabbix_agentd.win.conf в корень диска C:\ и переименовываем файл в zabbix_agentd.conf .
Если была выполнена установка с указанием пути к файлу конфигурации, то копируем шаблон zabbix_agentd.win.conf в папку которую указывали при установке Zabbix-агента и переименовываем файл в zabbix_agentd.conf .
Выполняем настройку файла конфигурации. Приводим следующие параметры в файле к виду:
Server= ServerActive= HostnameItem=system.hostname
Запуск службы Zabbix-агента
Запускаем службу Zabbix-агента. Пуск — Панель управления — Администрирование — Службы . Находим службу Zabbix Agent и нажимаем Запустить .
Запустить службу можно так же из командной строки . Для запуска одиночного экземпляра Zabbix-агента с файлом конфигурации по умолчанию:
Zabbix_agentd.exe --start
Для запуска одиночного экземпляра Zabbix-агента с отличным от умолчания файлом конфигурации:
Zabbix_agentd.exe --config <ваш_файл_конфигурации> --start
Для запуска одного из нескольких экземпляров Zabbix-агента:
Zabbix_agentd.exe --config <файл_конфигурации_этого_экземпляра> --start --multiple-agents
Остановка службы Zabbix-агента
Остановка службы Zabbix-агента. Пуск — Панель управления — Администрирование — Службы . Находим службу Zabbix Agent и нажимаем Остановить
.
Остановка Zabbix-агента, который запущен с файлом конфигурации по умолчанию:
Zabbix_agentd.exe --stop
Остановка Zabbix-агента, который запущен с другим файлом конфигурации:
Zabbix_agentd.exe --config <ваш_файл_конфигурации> --stop
Остановка одного из нескольких экземпляров Zabbix-агента:
Zabbix_agentd.exe --config <файл_конфигурации_этого_экземпляра> --stop --multiple-agents
Удаление службы Zabbix-агента
Удаления Zabbix-агента, который использует файл конфигурации по-умолчанию:
Zabbix_agentd.exe --uninstall
УдаленияZabbix-агента, который не использует файлом конфигурации по-умолчанию:
Zabbix_agentd.exe --config <ваш_файл_конфигурации> --uninstall
Удаления нескольких экземпляров Zabbix-агента из служб Windows:
Zabbix_agentd.exe --config <файл_конфигурации_экземпляра_1> --uninstall --multiple-agents zabbix_agentd.exe --config <файл_конфигурации_экземпляра_2> --uninstall --multiple-agents ... zabbix_agentd.exe --config <файл_конфигурации_экземпляра_N> --uninstall --multiple-agents
Если удалить службу выше перечисленными способами не удается, то можно удалить службу средствами Windows, предварительно остановив работу службы и выполнив в командной строке с правами администратора:
Sc delete [имя службы]
На этом установка Zabbix-агента на ОС Windows завершена, теперь рассмотрим как установить агента на ОС Linux .
Установка Zabbix-агента на ОС Linux (Ubuntu, Debian)
Установку Zabbix-агента буду рассматривать на Ubuntu Server 14.04 .
Скачиваем необходимый пакет и устанавливаем его:
Wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+trusty_all.deb sudo dpkg -i zabbix-release_3.2-1+trusty_all.deb
Обновляем данные репозиториев и устанавливаем самого агента:
Sudo apt-get update sudo apt-get install zabbix-agent
Выполняем настройку Zabbix-агента, файл конфигурации располагается в /etc/zabbix/zabbix_agentd.conf . Отредактируем его:
Sudo nano /etc/zabbix/zabbix_agentd.conf
И вносим следующие изменения:
Server= ServerActive= HostnameItem=system.hostname Include=/etc/zabbix/zabbix_agentd.conf.d/
Сохраняем изменения в файле и перезапускаем службу Zabbix-агента :
Sudo service zabbix-agent restart
На этом установка и настройка Zabbix-агента выполнена. Теперь рассмотрим как заводить хосты на самом Zabbix-сервере .
Добавление хостов на Zabbix-сервер
Заходим на Zabbix-сервер , посредством Web-интерфейса. Переходим Настройка (Configuration)- Узлы сети (Hosts) и нажимаем Создать узел сети (Create host)
Вкладка Узел сети (Host). Задаем Имя узла сети (Host name), добавляем узел в группу, если нужной группы нет в списке, то в поле Новая группа (New Group) указываем название группы. В поле Интерфейсы агента , можно выбрать каким методом добавить узел сети, по IP-адресу или по его DNS имени.
Переходим во вкладку Шаблоны (Templates). В пункте Соединить с новыми шаблонами (Link new templates):
- для Windows выбираем Template OS Windows
- для Linux выбираем Template OS Linux
Нажимаем Добавить (Add), чтобы закрепить выбранный шаблон к данному узлу сети.
Видим что в графе Присоединенные шаблоны (Linked templates), появился выбранный шаблон. Нажимаем Добавить (Update).
Все теперь добавленный узел сети будет под присмотром Zabbix-сервера . Для наглядности процесса посмотрим мониторинг в действии, переходим Мониторинг — Графики , выбираем какой график мы хотим посмотреть, в моем случае я выбрал отобразить сколько занято места на диске D .
Вот по такому принципу добавляются узлы сети в Zabbix-сервер. Хочу обратить внимание что представленный пример является базовым методом добавления и использования входящих в состав Zabbix шаблона. На самом деле Zabbix является конструктором, в котором можно реализовать сложный системы мониторинга узлов сети, дальше только ваш полет фантазии.
Одной из отличительных возможностей мониторинга 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.
Если у вас возникли трудности или проблемы с установкой и настройкой, пишите ваши комментарии, обязательно разберемся.