Опубликовано:
Используемые термины: Zabbix, Windows.
В нашем примере мы установим агент для Zabbix на Windows в качестве службы, а также сделаем минимальную настройку для отправки данных на сервер.
Загрузка агента с официального сайта
Установка агента
Из пакета MSI
Из архива
Настройка брандмауэра
Проверка подключения к агенту
Другие статьи про Zabbix
Загрузка агента
Переходим на страницу загрузки агента Zabbix и выбираем платформу операционной системы (x32 или x64) и версию агента, например:
* помимо этого, мы можем выбрать вариант дистрибутива: с использованием шифрования или нет, а также файл установки — msi пакет или архив. В данном примере мы выбрали версию 5.
В зависимости от выбранных критериев поиска агента, ниже мы можем увидеть несколько вариантов для загрузки. Находим нужный и кликаем по DOWNLOAD для скачивания файла:
Ждем окончания загрузки и переходим к установке.
Установка агента
В зависимости от загрузки типа пакета (MSI или архив) будут разные методы установки. Рассмотрим оба.
Установка из MSI-пакета
Это удобный вариант, который позволит установить агента с помощью мастера. Чтобы начать, кликаем дважды по скачанному пакету и в окне приветствия нажимаем Next:
Принимаем лицензионное соглашение, установив галочку I accept the terms in the License Agreement и нажимаем Next:
В следующем окне оставляем имя компьютера, на который устанавливается агент и вводим имя или IP-адрес сервера zabbix, после кликаем по Next:
* в данном примере имя нашего компьютера Windows PC, а сервера — zabbix-server.dmosk.local.
Выбираем компоненты, которые хотим установить — можно просто оставить все по умолчанию и нажимаем Next:
Подтверждаем установку, кликая по Install:
Ждем завершения процесса — агент установлен.
Установка из архива
Данный метод требует дополнительных манипуляций, но с его помощью можно автоматизировать процесс. Мы рассмотрим только установку.
Распаковываем содержимое скачанного архива в каталог, где будут находиться файлы программы, например в C:\Program Files\Zabbix Agent. В итоге, у нас получится:
Открываем WordPad от администратора и в нем открываем конфигурационный файл conf/zabbix_agentd.conf и правим опцию для сервера zabbix — находим строку:
Server=127.0.0.1
… и меняем ее на:
Server=zabbix-server.dmosk.local
* где zabbix-server.dmosk.local — имя сервера Zabbix.
Теперь открываем командную строку от администратора и выполняем команду для установки агента:
«C:\Program Files\Zabbix Agent\bin\zabbix_agentd.exe» —config «C:\Program Files\Zabbix Agent\conf\zabbix_agentd.conf» —install
* где C:\Program Files\Zabbix Agent — папка, куда мы распаковали архив.
Мы должны увидеть что-то на подобие:
zabbix_agentd.exe [468]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [468]: event source [Zabbix Agent] installed successfully
Теперь открываем службы Windows и находим «Zabbix Agent» — кликаем по ней правой кнопкой мыши и выбираем Запустить:
Установка завершена.
Настройка брандмауэра
Если в нашей системе работает брандмауэр Windows, необходимо разрешить порт 10050 или приложение zabbix agent.
Для этого переходим в Панель управления — Система и безопасность — Брандмауэр Windows (или вводим команду control /name Microsoft.WindowsFirewall). Кликаем по ссылке Разрешение взаимодействия с приложением или компонентов в брандмауэре Windows — добавляем наше приложение zabbix_agentd в исключение.
Это же действие можно выполнить в powershell — запускаем ее от администратора и вводим команду:
New-NetFirewallRule -DisplayName «Разрешить приложение Zabbix Agent» -Direction Inbound -Action Allow -EdgeTraversalPolicy Allow -Program «C:\Program Files\Zabbix Agent\bin\zabbix_agentd.exe»
Или мы можем добавить в исключение порт. Это можно сделать также из командной строки poweshell:
New-NetFirewallRule -DisplayName «Разрешить порт 10050 для Zabbix» -Direction Inbound -Action Allow -EdgeTraversalPolicy Allow -Protocol TCP -LocalPort 10050
Проверка работы
Чтобы убедиться в работоспособности агента, мы можем зайти на сервер zabbix и выполнить подключение по telnet, например, командой:
telnet 192.168.1.15 10050
* где 192.168.1.15 — IP-адрес компьютера с установленным Zabbix.
Мы должны увидеть
Connected to nr-fs-06.
Escape character is ‘^]’.
.. и через небольшой интервал времени:
Connection closed by foreign host.
Но если агент не запущен или не работает, мы увидим ошибку:
telnet: connect to address …: Connection refused
В панели сервера в узлах сети при корректной установке и настройке, мы также должны увидеть доступность компьютера по агенту:
Читайте также
Другие инструкции по Zabbix:
1. Установка и настройка Zabbix-агента на CentOS
2. Установка и начальная настройка сервера мониторинга Zabbix на Ubuntu Server
3. Настройка сервера Zabbix 5 на CentOS 8
Содержание статьи:
- 1 Установка Zabbix-агента на ОС Windows
-
-
- 1.0.0.1 Настройка Zabbix-агента
- 1.0.0.2 Запуск службы Zabbix-агента
- 1.0.0.3 Остановка службы Zabbix-агента
- 1.0.0.4 Удаление службы Zabbix-агента
- 1.0.1 Установка Zabbix-агента на ОС Linux (Ubuntu, Debian)
- 1.0.2 Добавление хостов на Zabbix-сервер
- 1.0.2.1 Понравилась или оказалась полезной статья, поблагодари автора
-
-
Рассмотрим как установить и настроить 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=[ip-адрес Zabbix-севера] ServerActive=[ip-адрес Zabbi-сервера] 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=[ip-адрес Zabbix-севера] ServerActive=[ip-адрес Zabbi-сервера] 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-сервер его опознал и установил связь с установленным агентом на узле сети, о чем свидетельствует зеленый индикатор ZBX в графе Доступность.
Все теперь добавленный узел сети будет под присмотром Zabbix-сервера. Для наглядности процесса посмотрим мониторинг в действии, переходим Мониторинг — Графики, выбираем какой график мы хотим посмотреть, в моем случае я выбрал отобразить сколько занято места на диске D.
Вот по такому принципу добавляются узлы сети в Zabbix-сервер. Хочу обратить внимание что представленный пример является базовым методом добавления и использования входящих в состав Zabbix шаблона. На самом деле Zabbix является конструктором, в котором можно реализовать сложный системы мониторинга узлов сети, дальше только ваш полет фантазии.
Понравилась или оказалась полезной статья, поблагодари автора
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА
Загрузка…
Установка Zabbix agent на Windows
Zabbix способен обеспечить мониторинг множества разных систем, давайте посмотрим как присматривать за нашими серверами, работающими на Windows. Для этого нам понадобится скачать программу-агент и настроить её на отправку данных на наш сервер.
Для установки нам понадобится скачать инсталлятора или архив с программой на официальном сайте.
Выберите подходящую вашей конфигурации и вашему серверу версию и скачайте её (6.0 LTS в нашем случае).
Есть два способа которым мы можем установить агент, с помощью инсталлятора или в ручную, из архива, давайте начнем с инсталлятора.
Установка через инсталлятор
Запускайте MSI файл, вводите имя хоста и адрес сервера Zabbix, галочка enabling PSK не позволит агенту посылать данные серверам без получения от сервера заранее подготовленного ключа безопасности, мы рассмотрим эту возможность в другой статье. Продолжаем установку пока всё не будет готово.
И наконец проверяем видит ли Zabbix этот сервер.
Всё отлично.
Установка из архива
Ручная установка может оказаться полезной если вы хотите каким то образом автоматизировать процесс либо, вам удобнее заняться более глубокой настройкой.
После скачивания архива распакуйте его содержимое в папку в которую вы хотите установить агент.
По умолчанию конфигурационный файл находится в корне диска C:\, поэтому переместим файл zabbix_agentd.conf file из папки \bin туда, либо изменим его положение на удобное нам при установке службы.
Давайте отредактируем файл конфигурации: мы хотим вписать адрес нашего сервера в строчку Server=.
Теперь запустим командную строку от имени администратора и введем путь_к_агенту\zabbix_agentd.exe -h для того чтобы увидеть полный список комманд.
Теперь воспользуемся ключом -i для установки агента как службы, так же можно воспользоваться -с как на скриншоте для смены положения файла конфигурации на удобное вам.
Теперь воспользуемся zabbix_agentd.exe -s, чтобы запустить службу
Пуск, службы и проверяем запустилась ли служба, и поставилась ли в автозапуск.
Теперь зайдем в панель управления, брэндмауэр Windows, разрешение взаимодействия с приложением или компонентом в брандмауре защитника Windows, Разрешить другое приложение, добавляем файл заббикс агента.
В отличие от установки через инсталлятор, нам понадобится добавлять узел на сервер в ручную, но об этом в другой статье.
Итоги
В этой статье мы рассмотрели простые способы установки Zabbix агента на сервер под управлением ОС Windows.
Аverage rating : 5
Оценок: 1
191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700
300
ООО «ИТГЛОБАЛКОМ ЛАБС»
191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700
300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700
300
In this post, we will look at how to install and configure Zabbix Agent on the Windows platform.
1. Download Windows Zabbix Agent
1. Download the Windows Zabbix Agent from officially Zabbix website. Below is an example for x64 machine with no encryption. Here is the direct download link https://www.zabbix.com/download_agents and select the following from the given options.
OS Distribution | OS Version | Hardware | Zabbix Version | Encryption | Packaging |
Windows | Any | amd64 | 5.2 | No encryption | MSI |
2. You will see the Zabbix Release options as below and usually, you would go for the latest release and click on download.
3. Downloaded file will be a zip file and unzip the file, you will see the below content.
- bin folder has the following files
- conf folder has the configuration file
2. Move files on the target endpoint
For this example, my target endpoint is Windows Server 2019 OS (TEKNEX-CA01).
1. Create zabbix folder in the Windows root directory
c:\zabbix
2. Copy below files to newly created zabbix folder
- bin\zabbix_agentd.exe
- conf\zabbix_agentd.conf
3. Prepare Windows firewall
By default, Zabbix agent communicates over 10050 port, and I am sticking with the default port.
1. Add port TCP 10050 in the allow list for inbound communication. You could use GUI to achieve this, however, it is easier to run the following PowerShell command. This will add TCP port 10050 in the inbound allow list.
Ensure you apply to the correct profile, TEKNEX-CA01 is part of the domain and this is why I am applying inbound to the Domain profile only. Run the following one-line command in PowerShell as administrator.
New-NetFirewallRule -DisplayName "Allow inbound 10050" -Direction Inbound -Protocol TCP -Action Allow -LocalPort 10050 -Profile Domain
To add this firewall rule to all profiles, you can use the following command. This command will allow inbound port 10050 on Domain, Private and Public profile.
New-NetFirewallRule -DisplayName "Allow inbound 10050" -Direction Inbound -Protocol TCP -Action Allow -LocalPort 10050 -Profile Any
2. Confirm the rule has been added by running the following command.
Get-NetFirewallRule -DisplayName "Allow inbound 10050"
4. Update Zabbix configuration file
Open zabbix_agentd.conf with any editor, even Windows built-in notepad will do the job. Uncomment the following and update accordingly. Save the file once you make changes.
- Server
Provide Zabbix server IP address
- ListenPort
Keep this default as 10050, unless you changed it
- Hostname
Enter the hostname if your Zabbix does not resolve the hostname to IP address. If your DNS is functioning correctly, you can use the variable system.name. To keep things simple, I will just provide hostname manually.
5. Install and Start Zabbix service
1. Browse to zabbix folder on Windows endpoint
2. Select File in the Navigation pane > hover over Windows PowerShell > click Open Windows PowerShell as administrator
3. Run the below command to install Zabbix.
PS C:\zabbix> .\zabbix_agentd.exe -c .\zabbix_agentd.conf -i
You will see this message when you run the above command
4. Run the following command to start Zabbix service or you could start the service from the Task Manager
4. Verify Zabbix agent service in the Task Manager
6. Create a new Group on Zabbix Server
To add a host, we need to create a host group first. If you already have a group then you can skip this part.
1. Login to Zabbix front end > Extend Configuration > Click on Host groups
2. Click on Create host group on the top right hand corner
3. Give a name to new host group and click Add
7. Add a host on Zabbix Server
1. Login to Zabbix front end > Extend Configuration > Click on Hosts
2. Click on Create host on the top right hand corner
3. Enter the following information and click on Add
Host name | TEKNEX-CA01 | This must match the Zabbix conf file. |
Visible Name | TEKNEX-CA01 | This can be anything meaningful. |
Groups | MMDM Blog | |
Agent IP Address | 10.0.0.4 | The IP address of the endpoint TEKNEX-CA01. |
DNS name | Leave it blank | FQDN of the endpoint. In my case, it could be TEKNEX-CA01.TEKNEX.LOCAL. |
Connect to | IP | Zabbix server will connect to agent via IP address. |
Port | 10050 | This must match the Zabbix conf file. 10050 is the default. |
Description | Add something meaningful | |
Monitored by proxy | no proxy | |
Enabled | Checked | Keep this option checked |
You will see something like following once you add a host under Configuration > Hosts
8. Link a template with the host
A host must have a template linked so that Zabbix Agent can report back to Zabbix Server with the requested data. In this step, let’s link a template with our newly added host TEKNEX-CA01.
1. Go to Configuration > Hosts
2. Click on newly added host TEKNEX-CA01
4. On the TEKNEX-CA01 host page, click on Templates
5. Next to Link new templates click on select
6. In the Host group search, type operating systems and click on Templates/Operating Systems
7. Check Template OS Windows by Zabbix Agent and click on Select
8. Click on update to save changes
9. Check availability
It can take a couple of minutes for the Zabbix server to initiate an initial communication with the endpoint. Once you attach a template, communication might not start straight away and you will see something like below under Configuration > Hosts
Once the communication has initiated, ZBX will turn into green and you would see something like below.
10. Troubleshooting
If you have waited long enough and ZBX did not turn into green, this indicates that there is something not right. Check the following:
- Inbound port 10500 is opened for the required profile. In the above example, I used Domain Profile because the endpoint is part of a domain.
- Ping endpoint from the Zabbix server and it should ping successfully
- Check the log file on the endpoint located in the Windows root directory and it can indicate you if there is an issue
Your feedback is very important. Let me know how did you go in the comments below.
Liked it? Take a second to support Jay Singh on Patreon!
В этой статье мы расскажем об установке и настройке Zabbix с нуля на сервер с ОС CentOS, в виде Docker-контейнера и в виде образа виртуальной машины в формате OVF.
Дополнительно разберемся с Zabbix-прокси, установкой Zabbix-агента на Windows, базовыми настройками и интеграцией с системой визуализации Grafana. После прочтения статьи вы сможете самостоятельно настроить мониторинг и оповещения на почту или в мессенджер, как следствие, начнете контролировать свои серверы, сайты, приложения и другие элементы инфраструктуры.
Оглавление:
- Знакомство с системой
- Установка Zabbix и его компонентов
- Установка Zabbix-сервера на CentOS
- Установка Zabbix в виде Docker-контейнера
- Установка Zabbix из готовых образов
- Установка агента Zabbix на Windows
- Настройка и интеграция Zabbix 5
- Добавление пользователя
- Низкоуровневое обнаружение (Low Level Discovery, LLD)
- Изменение шаблонов Zabbix
- Zabbix Proxy
- Интеграция Zabbix с внешними системами
- Заключение
Знакомство с системой
Zabbix — популярная система мониторинга ИТ-инфраструктуры и приложений с открытым исходным кодом, которой пользуются малые, средние, крупные и очень крупные компании по всему миру. Основное преимущество продукта — большое сообщество пользователей и, как следствие, много полезной информации о подходах к использованию, настройке, созданию шаблонов мониторинга и многом другом.
Получить Zabbix можно на официальном сайте. Скачивание доступно в различных форматах. Кроме CentOS, установка Zabbix-сервера из бинарного файла возможна на следующие операционные системы:
- Red Hat Enterprise Linux;
- Oracle Linux;
- Ubuntu;
- Debian;
- SUSE Linux Enterprise Server;
- Raspbian.
В середине мая 2020 года вышла 5-я версия Zabbix, установку которой мы и разберем в статье.
Установка Zabbix и его компонентов
Zabbix — распределенная система мониторинга, состоящая из четырех основных компонентов:
- Zabbix-сервер. Ядро системы мониторинга. Компонент отвечает за визуализацию, агрегацию и аналитику данных, оповещения, управление распределенными компонентами (прокси и агентами). В качестве веб-сервера вендор позволяет использовать Apache или Nginx.
- Zabbix-прокси. Этот компонент отвечает за управление Zabbix-агентами. Использование прокси необязательно, но позволяет снизить нагрузку на Zabbix-сервер за счет переноса с него функций управления агентами и предобработки данных (этот функционал появился в пятой версии Zabbix).
- Zabbix-агент. Агент — конечный компонент инфраструктуры мониторинга. Выполняет сбор и отправку данных о производительности на Zabbix-прокси или Zabbix-сервер.
- База данных Zabbix. Хранилище метрик производительности. Вендор поддерживает реляционные базы данных: MySQL, PostgreSQL, SQL Server, Oracle. Обращаем внимание, что с версии 5.0 прекращена поддержка базы данных IBM DB2.
Установка Zabbix-сервера на CentOS
В первую очередь установим сервер. В панели управления это делается в несколько кликов. После ввода учетных данных и входа в систему нужно перейти на представление Серверы и нажать кнопку Создать сервер.
На открывшемся представлении ввести имя сервера, выбрать регион и зону (если необходимо) и нажать на кнопку Выбрать источник, чтобы выбрать необходимую операционную систему.
Затем откроется следующее представление, где для установки Zabbix-сервера выберем CentOS 7 64-bit.
После выбора операционной системы можно прокрутить колесико мышки вниз и выбрать плавающий IP-адрес для возможности подключения к серверу через SSH и к веб-консоли Zabbix через браузер. На этом же экране можно скопировать пароль root для дальнейшего доступа к серверу по SSH. Нажимаем на кнопку Создать.
Как только сервер будет создан и его статус сменится на Active, можно подключаться к внешнему плавающему IP-адресу по протоколу SSH.
Далее установим репозитории ПО. Это необходимо для получения актуального набора пакетов с компонентами Zabbix и PostgreSQL.
Выполним команды:
# yum install https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# yum clean all
Репозитории с актуальными версиями устанавливаемых компонентов для различных платформ можно найти на сайте производителей:
- Zabbix;
- PostgreSQL.
Следующий шаг — установка Zabbix-сервера и Zabbix-агента:
# yum install zabbix-server-pgsql zabbix-agent
Теперь внесем изменения в конфигурацию репозитория Zabbix: нужно включить zabbix frontend в файле конфигурации /etc/yum.repos.d/zabbix.repo, изменив значение ключа enabled со значения 0 на значение 1.
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file://etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
Установим Red Hat Software Collections для упрощения процесса дальнейшей настройки:
# yum install centos-release-scl
Следующий шаг — установка PostgreSQL и других необходимых пакетов. Обратите внимание, что в нашем примере мы работаем с локальным хранилищем на базе PostgreSQL (в случае с MySQL имя пакета для Zabbix-сервера будет отличаться).
# yum install postgresql12-server zabbix-web-pgsql-scl zabbix-nginx-conf-scl
Инициализируем, настроим автозапуск и запустим БД PostgreSQL:
# /usr/pgsql-12/bin/postgresql-12-setup initdb
# systemctl enable postgresql-12
# systemctl start postgresql-12
После успешного запуска создадим базу данных для Zabbix и пользователя в ней. Первая команда запросит пароль:
# sudo -i -u postgres createuser --pwprompt zabbix
# sudo -i -u postgres createdb -O zabbix zabbix
Внесем изменения в конфигурационный файл /var/lib/pgsql/12/data/pg_hba.conf для корректного подключения к БД PostgreSQL с паролем. Метод для обоих подключений должен быть md5:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
После создания пользователя организуем для него схему по умолчанию:
# sudo -i -u postgres psql -U zabbix
# zabbix=> create schema zabbix;
# zabbix=> ALTER ROLE zabbix SET search_path = zabbix;
# zabbix=> \q
Следующий шаг — установка в БД схемы данных:
# zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix
Теперь впишите созданный для БД пароль в конфигурационный файл Zabbix /etc/zabbix/zabbix_server.conf в параметры DBHost, DBName, DBSchema, DBUser и DBPassword.
Настроим NGINX для его корректной работы в Zabbix. Настройки выполняются в конфигурационном файле /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf. Необходимо раскомментировать две строки и указать IP-адрес или имя сервера:
listen 80;
server_name <ip адрес или имя сервера>;
Следующий файл, который нужно скорректировать, — /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf. Вносим изменения в двух местах:
listen.acl_users = apache,nginx
php_value[date.timezone] = Europe/Moscow
Теперь запускаем сервисы Zabbix и добавляем их в автозапуск:
# systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
Если на предыдущих шагах все было сделано верно, при переходе по имени или адресу сервера в браузере откроется начальное окно настройки Zabbix 5.0:
Переходим на экран Configure DB connection и указываем реквизиты подключения к БД:
На экране Zabbix server details — имя хоста, на котором установлен Zabbix, порт должен остаться указанным по умолчанию:
Переходим на последний экран и нажимаем Finish. Настройка завершена.
Стандартная учетная запись для входа: Admin с паролем zabbix.
Zabbix готов к работе, и можно приступать к его настройке. В некоторых ситуациях для корректной работы системы необходимо отключить SElinux.
Установка Zabbix в виде Docker-контейнера
Быстрая установка — выполняется за 10 минут или меньше. Добавим репозиторий Docker и установим необходимые пакеты:
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum install docker-ce docker-ce-cli containerd.io docker-compose
Следующий шаг — клонирование репозитория Zabbix с Github:
# git clone https://github.com/zabbix/zabbix-docker.git
Перейдем в клонированный репозиторий. Команда ls покажет имеющиеся объекты:
# cd zabbix-docker/
# ls
agent docker-compose_v3_centos_mysql_local.yaml java-gateway snmptraps
agent2 docker-compose_v3_centos_pgsql_latest.yaml kubernetes.yaml web-apache-mysql
build.sh docker-compose_v3_centos_pgsql_local.yaml LICENSE web-apache-pgsql
docker-compose_v3_alpine_mysql_latest.yaml docker-compose_v3_ubuntu_mysql_latest.yaml proxy-mysql web-nginx-mysql
docker-compose_v3_alpine_mysql_local.yaml docker-compose_v3_ubuntu_mysql_local.yaml proxy-sqlite3 web-nginx-pgsql
docker-compose_v3_alpine_pgsql_latest.yaml docker-compose_v3_ubuntu_pgsql_latest.yaml README.md zabbix-appliance
docker-compose_v3_alpine_pgsql_local.yaml docker-compose_v3_ubuntu_pgsql_local.yaml server-mysql zbx_env
docker-compose_v3_centos_mysql_latest.yaml generate-stackbrew-library.sh server-pgsql
Запустим демон Docker:
# systemctl start docker
Соберем и запустим контейнеры с Zabbix:
# docker-compose -f docker-compose_v3_centos_pgsql_latest.yaml up -d
После выполнения команды выше запустятся компоненты Zabbix, можно переходить в веб-интерфейс:
Установка Zabbix из готовых образов
Это самый быстрый тип установки — разворачивание займет не более 5 минут. В этом разделе рассмотрим установку готового Zabbix-сервера из образа в формате Open virtualization format (OVF). Образ можно скачать на сайте Zabbix.
Для разворачивания OVF-образа на локальной машине потребуется установленный VirtualBox, который доступен для различных платформ на сайте Oracle. После загрузки образа Zabbix в интерфейсе VirtualBox нужно нажать кнопку Импортировать.
Выбираем образ zabbix_appliance-5.0.0.ovf (рядом с ним должен находиться zabbix_appliance-5.0.0-disk001.vmdk).
На следующем экране все параметры должны остаться по умолчанию. Теперь можно нажать кнопку Импорт. После успешного импорта виртуальную машину можно Запустить. Обратите внимание, что для корректного подключения к интерфейсу Zabbix или виртуальной машине по SSH в сетевых настройках должен быть указан тип подключения Сетевой мост.
Дожидаемся успешного запуска виртуальной машины, входим под учетными данными root / zabbix в консоли VirtualBox и выполняем команду:
# ip a
В результате отобразятся настройки сети на виртуальной машине с установленным Zabbix.
Теперь можно выполнить подключение к Zabbix-серверу через браузер. Учетные данные стандартные — Admin / zabbix.
Данные по производительности сразу же начинают собираться.
Таким образом, установка завершена.
Установка агента Zabbix на Windows
Перед началом установки создадим в панели управления Selectel сервер с ОС Windows. Для этого в представлении Серверы нажмем на кнопку Создать сервер.
В открывшемся представлении нажимаем Выбрать тип источника и выбираем один из доступных образов операционных систем Windows.
Выбираем плавающий IP-адрес для подключения к серверу через RDP. На этом же экране можно скопировать пароль учетной записи Administrator для дальнейшего доступа к серверу по RDP. Нажимаем на кнопку Создать.
После выполнения перечисленных действий ожидаем создания сервера. После его создания и перехода в статус Active можно подключаться к внешнему плавающему IP-адресу по протоколу RDP к созданному серверу.
Установка и настройка Zabbix-агента на Windows-сервер в ручном режиме занимает около 10 минут. Скачивание дистрибутива доступно на сайте Zabbix. После скачивания архива его необходимо распаковать в созданную директорию (в нашем примере это C:\Zabbix):
В папке conf хранится конфигурационный файл, в который необходимо внести изменение:
Server=<ip адрес Zabbix-сервера>
Далее установим агент в виде сервиса и запустим его. Для этого выполним zabbix_agentd со специальными реквизитами:
> zabbix_agentd.exe -c C:\Zabbix\conf\zabbix_agentd.conf -i
> zabbix_agentd.exe -c C:\Zabbix\conf\zabbix_agentd.conf --start
Следующий шаг — добавление данного агента в интерфейсе Zabbix. Переходим на представление Configuration — Hosts, затем в верхнем правом углу нажимаем Create Host:
Следующий шаг — ввод данных сервера. Требуется указать имя сервера, группу и сетевой интерфейс, через который будет выполняться подключение к агенту.
Далее переходим на вкладку Templates. Так как речь идет об ОС Windows, применим к узлу соответствующий шаблон Template OS Windows by Zabbix agent. Сохраняем изменения и ожидаем начала сбора метрик.
Собираемые по узлам метрики доступны на представлении Monitoring — Latest Data.
Напротив каждой метрики (Item) есть кнопка Graph, при нажатии на которую открывается соответствующий график.
Настройка мониторинга узла с ОС Windows завершена.
Настройка и интеграция Zabbix 5
В этом блоке расскажем о добавлении пользователя, настройке оповещений и изменении шаблонов мониторинга. Также опишем ключевые технологии и элементы инфраструктуры Zabbix.
Добавление пользователя
Каждому пользователю в Zabbix соотнесены имя пользователя и пароль — реквизиты, с которыми можно войти в систему. Все пароли в Zabbix хранятся в зашифрованном виде. При необходимости можно настроить авторизацию пользователей через Active Directory или LDAP. В этой статье мы рассмотрим работу встроенных в Zabbix пользователей.
В Zabbix каждый пользователь должен входить в группу. На основе групп в Zabbix присваиваются те или иные права.
Для добавления пользователя в веб-интерфейсе Zabbix необходимо перейти на представление Administration — Users и в верхнем правом углу нажать Create User.
Теперь появятся поля, в которых важно указать имя пользователя, группу и пароль. Остальное можно оставить по умолчанию.
Для каждого пользователя можно указать его данные для оповещения: электронную почту, аккаунт в Telegram, имя в Slack и т. д. Чтобы привязать эти данные к пользователю, перейдем на вкладку Media, нажмем Add и добавим адрес электронной почты. Здесь можно указать критичность событий, по которым нужно отправлять уведомления, и интервал оповещений.
После сохранения этих данных можно нажать Add на вкладке User и сохранить созданного пользователя.
Чтобы сменить пароль любого пользователя, на представлении Administration — Users нужно кликнуть на соответствующего пользователя, нажать Change password и ввести новый пароль.
Аналогичным образом создаем группу пользователей. На представлении Administration — Groups в верхнем правом углу нажмем Create user group.
Указываем имя группы и созданного пользователя. Далее переходим на вкладку Permissions.
На вкладке Permissions указываем имя группы хостов, к данным по которой у создаваемой группы будет доступ. После добавления группы нажимаем Add.
Таким образом, группа создана, ей предоставлен требуемый уровень прав и привязан пользователь.
Низкоуровневое обнаружение (Low Level Discovery, LLD)
Низкоуровневое обнаружение позволяет автоматически ставить на мониторинг динамические экземпляры узлов. Например, файловые системы или сетевые интерфейсы, которые добавят администраторы, автоматически обнаружатся и появятся на мониторинге. Правила автоматического обнаружения настраиваются в рамках шаблона.
Ниже, в качестве примера, Discovery Rules (правила обнаружения) для шаблона Windows. Здесь их четыре для следующих сущностей:
- файловых систем,
- сетевых интерфейсов,
- физических дисков,
- сервисов.
Рассмотрим устройство правила обнаружения для файловых систем. В поле Key указан элемент данных vfs.fs.discovery, встроенный в Zabbix. Этот элемент возвращает список файловых систем, примонтированных к серверу. Другие встроенные элементы данных собраны на специальной странице производителя.
На вкладке Filters перечислены прототипы данных, которые в случае обнаружения новых элементов распознают их и записывают в БД.
В Zabbix возможно добавление собственных элементов данных, собственных фильтров и макросов.
Изменение шаблонов Zabbix
Шаблоны включают в себя:
- приложения (Applications),
- экземпляры (Items),
- макросы (Macros),
- триггеры (Triggers),
- правила обнаружения (Discovery rules),
- другие элементы данных.
Каждый из этих элементов отвечает за те или иные возможности. В статье мы разберем формирование пороговых схем в триггерах на примере шаблона для Windows и его части — шаблона для файловых систем.
В примере ниже мы видим прототипы триггеров, которые соответствуют порогам по файловым системам серверов Windows. Чтобы изменить пороговую схему, достаточно перейти в нужный шаблон и внести корректировки.
Получить подробную информацию о создании выражений для настройки порогов можно в документации на сайте Zabbix.
Zabbix Proxy
Zabbix Proxy — это специальный сервис, который работает на выделенном сервере. Он обеспечивает буферизацию поступающих от агентов данных и их дальнейшую трансляцию в сторону Zabbix-сервера. Zabbix Proxy использует отдельную базу данных и поддерживает SQLite, MySQL и PostgreSQL.
Сервис эффективно использовать для сбора метрик с агентов в выделенных или удаленных сетях (за файерволом), участков инфраструктуры с ненадежной связью и для снижения нагрузки на Zabbix-сервер. Начиная с версии 5.0 прокси поддерживает предобработку данных на своей стороне.
Интеграция Zabbix с внешними системами
В этом разделе разберем возможности интеграции Zabbix с системой визуализации Grafana, которую можно использовать для отображения статусов, графиков, значений и других типов данных. Для ускорения процесса установим и запустим Grafana в виде Docker-контейнера.
# docker run -d -p 3000:3000 grafana/grafana
После установки удостоверимся, что контейнер с Grafana выполняется:
# docker ps | grep grafana
1592a00802b5 grafana/grafana "/run.sh" 2 minutes ago Up 21 minutes 0.0.0.0:3000->3000/tcp optimistic_diffie
Используя ID контейнера, установим специализированный плагин для Zabbix и перезагрузим контейнер:
# docker exec 1592a00802b5 grafana-cli plugins install alexanderzobnin-zabbix-app
# docker restart 1592a00802b5
Входим в Grafana через браузер (учетные данные по умолчанию admin / admin):
Далее нужно активировать плагин для Zabbix. Чтобы это сделать, перейдем в Configurations — Plugins и включим плагин для Zabbix:
Плагин включен, осталось его настроить. Важные поля для заполнения — URL, User, Password:
После выполненных настроек можно добавлять на дашборды различные элементы данных на основе метрик из Zabbix.
У Grafana есть много готовых дашбордов, их можно найти на сайте проекта и импортировать через интерфейс Grafana.
Заключение
В статье мы рассмотрели различные подходы для установки Zabbix и проведение дополнительных настроек. Этого достаточно для настройки базового мониторинга и контроля инфраструктуры и приложений.
Для визуализации, например, статусов доступности и производительности мы рекомендуем использовать удобный и мощный инструмент Grafana. Он легко устанавливается и настраивается. Кроме того, есть мобильное приложение, в котором можно просматривать «здоровье» инфраструктуры в режиме реального времени.