Zabbix agent windows server 2012 r2

in this guide we are going to show you how to install and configure Zabbix Agent on Windows Server 2012 R2.

For Monitoring Linux/Windows hosts in Zabbix Server, we need to install Zabbix Agent to our Remote Linux/Windows systems, in this guide we are going to show you how to install Zabbix Agent on Windows Server 2012 R2.

Check our previous tutorials to learn how to install Zabbix Server:

  • How To Install Zabbix 3.4 Monitoring Server On Ubuntu 16.04 LTS
  • How To Install Zabbix 3.4 Server On CentOS 7 / RHEL 7
  • How to install Zabbix Agent on Ubuntu 16.04 LTS
  • How to install Zabbix Agent on CentOS 7 / RHEL 7

Step 1./ Download latest windows Zabbix Agent

– Download latest windows zabbix agent source code from zabbix official site: https://www.zabbix.com/download_agents

The agent executable is located in the subdirectory bin/win32 or bin/win64 choose the one that is appropriate for your architecture and place it on some directory in the Windows machine. For simplicity, we have created a new folder C:zabbix , but you are free to use any other directory. We will also need the configuration file, so grab the example provided at confzabbix_agentd.win.conf, place it in the same directory and rename it to zabbix_agentd.conf.

Step 2: Edit the Zabbix Agent configuration File

– Open zabbix_agentd.conf in your favorite text editor and edit the following parameters:

LogFile=c:zabbixzabbix_agentd.log
Server=IP_Zabbix_Server
ServerActive=IP_Zabbix_Server

Step 3./ Install Windows Zabbix Agent

– Lets install zabbix agent as windows server by executing following command from command line:

C:zabbix>zabbix_agentd.exe --config zabbix_agentd.conf --install
zabbix_agentd.exe [4376]: Service "ZABBIX Agent" installed
successfully.

– To start the service just type:

C:zabbix>zabbix_agentd.exe --start

Step 4./ Windows Firewall Setting

– To make sure that the zabbix agent can connect to the Zabbix Server open Control Panel -> System and Security -> Windows Firewall and hit on Allow an app through Windows Firewall

Next, click on Allow another app button and a new window should open. Use the Browse button to navigate to the path of the Zabbix agent executable file, then hit on Add button.

– Finally make sure you check the firewall rule network segment in our case is Private and Doamin and click OK button.

Step 5./ Add Windows Host to Zabbix Monitoring Server

– Go to Zabbix Server web interface, move to Configuration tab -> Hosts and hit on Create Host button in order to add the Windows monitored
host.

– On Host window add the FQDN of your windows agent machine in Host name filed, add an arbitrary name to Visible name filed in order to easily identify the monitored machine on Zabbix panel, make sure the host is included into a Group Servers and add the IP Address of your windows host in Agent interfaces filed. The Port value leave it unchanged.

– Next, go to Template tab and hit on Select button. A new window with Zabbix Templates should appear. Navigate through this window, check Template OS Windows and hit on Select button to add the template . Once the Template OS Windows appears on Link new templates filed, hit on Add button in order to link this template to the windows host configuration.

– Finally, hit on below Add button to complete the process and add the entire Windows host configuration.

We hope this tutorial was enough Helpful. If you need more information, or have any questions, just comment below and we will be glad to assist you!

Buy Me A Coffee

Lotfi Waderni

I’m a technical writer with a background in Linux and windows server administration.

  • На главную
  • Категории
  • Сеть
  • Zabbix
  • Zabbix agent для Windows — установка и настройка

Периодически приходится устанавливать на ПК с Windows 7/8/10 и на сервера с Windows Server 2008R2/2012/2012R2/2016 zabbix agent. Сначала это делалось так — качался скрипт, руками прописывался как служба, это очень неудобно, особенно когда количество хостов начинает увеличиваться. Вручную надо заходить в папку с zabbix агентом и прописывать службу: zabbix_agentd.exe

2017-01-31 10:59:1060

Zabbix agent для Windows - установка и настройка

Периодически приходится устанавливать на ПК с Windows 7/8/10 и на сервера с Windows Server 2008R2/2012/2012R2/2016 zabbix agent.

Сначала это делалось так — качался скрипт, руками прописывался как служба, это очень неудобно, особенно когда количество хостов начинает увеличиваться.

Вручную надо заходить в папку с zabbix агентом и прописывать службу:

zabbix_agentd.exe --config <ваш_файл_конфигурации> --install

Проблема была решена — на просторах интернета был найден инсталятор zabbix агента для Windows.

Скачать zabbix_agent-3.2.3_installer

После скачивания запускаем установщик

Установка zabbix agent’ a windows:

Нажимаем «Next«:

Установка Zabbix agent

Соглашаемся с лицензией использования «I Agree»:

Установка Zabbix agent

Выпираем опции, которые нам нужны (я выбираю по default) и нажимаем «Next«:

Установка Zabbix agent

Вводим основные настройки:

Zabbix Server name: IP адрес zabbix-сервера

Hostname: Имя узла, которое будет в заббик сервере

Listen Port: Порт, по которому будут общаться сервер с агентом

Нажимаем «Next«:

Установка Zabbix agent

Выбираем папку, в которую установим наш zabbix agent и нажимаем «Install«:

Установка Zabbix agent

Установка завершена, нажимаем «Close«:

Установка Zabbix agent

Вот и все! Установка завершена. Осталось добавить host в zabbix сервер и повесить на него стандартный шаблон «Template OS Windows».

Если Вам надо будет перезапустить агента, то необходимо зайти в Панель управления -> Администрирование -> Службы, там найти службу — zabbix agent, нажать на ней правой кнопкой мыши и выбрать то действие, которое Вы хотите сделать (Запустить, остановить, перезапустить).

Свои параметры можно добавить в файле «C:Program Files (x86)Zabbix Agentzabbix_agentd.conf»

Лог хранится — «C:Program Files (x86)Zabbix AgentZabbix_agentd.txt»

P.S.: Не забываем про брандмауэр/firewall. Не забываем открыть порт 10050 для пассивного агента / 10051 для активного агента

Я надеюсь Вам помогла данная статья.

Не забываем, что все ссылки на скачивание и версии агента актуальны на момент написания статьи. Если у Вас еще остались вопросы, можете задавать их в комментарии, с удовольствием на все отвечу!

Скачать zabbix_agent-3.2.3_installer

Максим Орлов

Ваш покорный слуга — компьютерщик широкого профиля: системный администратор, вебмастер, интернет-маркетолог и много чего кто. Вместе с Вами, если Вы конечно не против, разовьем из обычного блога крутой технический комплекс.

In this tutorial, I will show you how to install Zabbix agent for Windows server using an MSI Installer package and how to monitor Windows server with Zabbix monitoring system.

Using this guide you can monitor almost the entire Windows OS family: Windows server 2012 R2, Windows Server 2016, Windows Server 2019, Windows 10, Windows 8 and Windows 7.

Installation is quite simple, just download and install the Zabbix agent MSI installer following steps 1 and 2, but if you want to learn more, read the full guide.

Zabbix 5.0 Dashboard

Zabbix dashboard

In short, Zabbix agent is a lightweight application that can collect various performance data from the operating system – such as CPU, memory, disk, and network interface utilization – and forward it to a central point (server) for storage and visualization. It runs on any modern operating system and is very flexible because its functionality can be extended with scripts and modules.

You can read more about the Zabbix agent on the Zabbix official site and if you stumbled on this tutorial by accident and you never heard of the Zabbix monitoring system, then stop whatever you doing and install it on your favorite Linux distribution in less than 10 minutes: CentOS/RHEL, Ubuntu, Debian, Rasberry Pi.

Need help with installing Zabbix agent on Linux OS? Check out this guide:
Zabbix Agent (Linux): Install on Ubuntu, CentOS, RHEL, Debian, etc.

Step 1: Download Zabbix Agent Installer for Windows (msi)

In this tutorial, I will use the latest Zabbix agent 5.0.2 LTS version, that version is compatible with Zabbix server 5.x or newer.

Windows Zabbix Agent v1 LTS v6.0.x Download: 64-bit or 32-bit
Windows Zabbix Agent v2 LTS v6.0.x (recommended) Download: 64-bit or 32-bit

I always recommend using the latest LTS version to take full advantage of new features and improved performance so make sure to download installer zabbix_agent2-6.0.7-windows-amd64-openssl.msi for 64-bit Windows or zabbix_agent2-6.0.7-windows-i386-openssl.msi for 32-bit Windows.

And don’t try to install a 32-bit package on 64-bit Windows because it won’t work!

Step 2: Install Zabbix Agent on Windows using MSI installer

I will install Zabbix Agent on Windows server using installation wizard but if you prefer command-line based installation check out section “Install Zabbix agent via Windows command-line (CMD)”

Just to make clear, in this tutorial I will use Zabbix server with IP address 192.168.5.43 to monitor Windows machine called w01services with IP address 192.168.5.22.

Double click on Zabbix MSI installer that you have downloaded in the previous step and click “Next” just as shown in the image below.

Install Zabbix Agent on Windows using MSI installer - Step 1

Install Zabbix Agent on Windows using MSI installer – Step 1

Accept the terms and click the “Next” button.

Install Zabbix Agent on Windows using MSI installer - Step 2

Install Zabbix Agent on Windows using MSI installer – Step 2

Define custom “Host name” or use fully qualified domain name (FQDN) of the Windows machine in the “Host name” field. Then enter IP address of the Zabbix server under “Zabbix server IP/DNS” and “Server or Proxy for active checks” field and you are done.

Install Zabbix Agent on Windows using MSI installer - Step 3

Install Zabbix Agent on Windows using MSI installer – Step 3

Select “Add agent location to the PATH” and go through the rest of the installation by clicking “Next“, “Install” and “Finish“.

Install Zabbix Agent on Windows using MSI installer - Step 4

Install Zabbix Agent on Windows using MSI installer – Step 4
Install Zabbix Agent on Windows using MSI installer - Step 5
Install Zabbix Agent on Windows using MSI installer – Step 5
Install Zabbix Agent on Windows using MSI installer - Step 6
Install Zabbix Agent on Windows using MSI installer – Step 6

You don’t need to configure Windows firewall manually because the MSI installer will automatically add a firewall rule to permit Zabbix TCP port 10050.

Finally, we need to check that the Zabbix agent is up and running.

Hold down the “Windows key” and press “R” on the keyboard, type “services.msc“, press “OK” and check the “Status” column for “Zabbix Agent” service exactly as shown in the picture below. Status should be “Started” if the installation was successful.

Picture showing how to check Zabbix agent service on Windows

How to check Zabbix agent service on Windows

WELL DONE!
You have successfully installed and configured Zabbix agent on Windows OS!
Now it’s time to add that Windows host to Zabbix monitoring system.

Step 3: Add Windows host to Zabbix monitoring system

You can add a host to existing host group or you can create a new host group for your Windows servers. I will create host group “Devices/OS/Windows“ using “Host groups” option under “Configuration” section on the Zabbix frontend. Click “Create host group” button, define “Group name” and click “Add” (you only need to create host group once):

Create Zabbix host group for Windows servers

Create Zabbix host group for Windows servers

Navigate to “Host” menu under “Configuration” tab and then click “Create host” option to create a host in Zabbix:

Add Windows host to Zabbix - Step 1

Add Windows host to Zabbix – Step 1

Define “Hostname” and set “Groups” using your newly created host group. Then set the IP address of the Windows server under “Agent interfaces” section

Add Windows host to Zabbix - Step 2

Add Windows host to Zabbix – Step 2

Switch to tab “Templates” and choose the “Template OS Windows by Zabbix agent” template under section “Link new template” by typing “OS Windows …”.

Add Windows host to Zabbix - Step 3

Add Windows host to Zabbix – Step 3

And you’re done! If you are interested in automating this whole process of adding Windows hosts to Zabbix see the section “Configure auto registration for Windows Zabbix agents“

Note that in this tutorial I m using a template “Template OS Windows by Zabbix agent” that can only monitor passive Zabbix agents. However, if you want to monitor your host using Zabbix agents in active mode use a template called “Template OS Windows by Zabbix agent active“. Check out the section Understanding Active vs Passive Zabbix Agent mode” to learn more about the differences between the active and passive agent mode.

Step 4: Check if Zabbix Agent is working correctly

You can check that the Zabbix agent is working properly by using the “Latest Data” option on the Zabbix frontend. Wait up to 5 minutes after you have installed and started Zabbix agent to allow for data to be collected. Look at columns “Last check” and “Latest value” and if they are updating then the agent is working.

How to check the latest data collected on the Zabbix host

How to check the latest data collected on the Zabbix host

Your agent should be working and collecting data by now, but if you experience any problems, restart Zabbix agent service and check the log “C:Program Fileszabbixzabbix_agentd.log“. And if there is nothing unusual in the log file then check the firewall – make sure that TCP port 10050 on the host (where Zabbix agent is installed) and TCP port 10051 on the Zabbix server side are open.

CONGRATULATIONS!
You have successfully installed Zabbix Agent and your Windows server is being monitored!
No need to do anything else as other steps are optional!

CONTINUE TO LEARN MORE:
How to manage Zabbix agent service on Windows
Auto registration of Zabbix agents (Windows OS)
Learn how to Secure Zabbix Agent
Alternative Zabbix agent installation via Windows command-line (CLI)
Understanding Active vs Passive Zabbix Agent mod

Step 5: Restart Zabbix Agent service on Windows

In the previous steps, we learned how to check the status of Zabbix agent service using the “services.msc” option, and now we will learn how to use the command line interface (CMD) to stop or start the agent and check its status.

Click on “Windows Start” button and type “cmd” in the search bar, right-click on “cmd” icon and select option “Run as administrator” and use these commands to start/stop the agent:

net stop "Zabbix Agent"
net start "Zabbix Agent"

And to check Zabbix agent service status use the command:

sc query "Zabbix Agent" | findstr /i "STATE"

You should get status “RUNNING” if the Zabbix agent is up and running!

Step 6: Configure auto registration for Windows Zabbix Agents

Adding one or two hosts to Zabbix manually is not a big problem. However, what if you need to add more servers to Zabbix? Or you just want to automate that tedious process of adding Windows hosts to Zabbix and linking them with the correct template and host group?

Don’t worry, you don’t have to write the script because Zabbix has a tool called “Auto registration”.

Before we configure Zabbix frontend, make sure that all of your Zabbix agents have “HostMetadata=Windows” line in their configuration file (default path: “C:Program Fileszabbixzabbix_agentd.conf“). And if that line does not exist, add it and restart the Zabbix Agent afterward. You can automate that via CLI like this:

echo HostMetadata=Windows >> C:"Program Files"zabbixzabbix_agentd.conf
net stop "Zabbix Agent"
net start "Zabbix Agent"

In the future always install the Zabbix agent on Windows with the “HostMetadata=Windows” parameter if you are planning to use the auto-registration feature!

Now that we’ve clarified that let’s configure auto-registration on the Zabbix frontend.

Go to the “Actions” tool under the “Configuration” section, then select “Auto registration” from the dropdown menu and click the “Create action” button.

How to configure auto-registration of agents (Windows servers) in Zabbix - Step 1

How to configure auto-registration of agents (Windows servers) in Zabbix – Step 1

On the “Action” tab define the “Name” of the action and add a “New condition” that will check if the “Host metadata” contains the word “windows”.

How to configure auto-registration of agents (Windows servers) in Zabbix - Step 2

How to configure auto-registration of agents (Windows servers) in Zabbix – Step 2

Then, change tab to “Operations” and add new operation.

How to configure auto-registration of agents (Windows servers) in Zabbix - Step 3

How to configure auto-registration of agents (Windows servers) in Zabbix – Step 3

Define “Operation type” as “Add to host group” and then select to which “Host groups” will Windows hosts be added when discovered. In my case, I will use my custom host group called “Devices/OS/Windows“.

How to configure auto-registration of agents (Windows servers) in Zabbix - Step 4

How to configure auto-registration of agents (Windows servers) in Zabbix – Step 4

After that, you need to add a new operation by setting “Link to the template” as “Operation type” and then select which templates will be linked with the newly discovered Windows hosts. In my example, I will use template “Template OS Windows by Zabbix agent” (passive checks)

How to configure auto-registration of agents (Windows servers) in Zabbix - Step 5

How to configure auto-registration of agents (Windows servers) in Zabbix – Step 5

Well done! Auto-registration is configured. Wait a few minutes and your Windows server should appear in Zabbix. From now on, every time you install a Zabbix agent on a Windows server, it will automatically be added to the Zabbix and linked with the appropriate host group and template.

Note, that you can add anything you want to the “HostMetadata” parameter. For example, you can have a host that has in Zabbix agent configuration file defined “HostMetadata=Windows:Tomcat:Prod” or another with “HostMetadata=Windows:MSSQL:Test“. For the first host, you can configure auto-registration to add to host groups: “Windows”, “Web servers” and “Production servers” and to link templates that can monitor Windows and Tomcat server. And the second host can be added to host groups: “Windows”, “Databases”, and “Test servers” and linked with templates that can monitor Windows server and Microsoft SQL database.

Using PSK encryption on the Zabbix agents? Then there is one more step left, you need to add your PSK identity and PSK key using the “Auto Registration” option under the “Administration“→”General” section just as shown in the image below:

How to configure PSK encryption for auto-registration in the Zabbix frontend

How to configure PSK encryption for auto-registration in the Zabbix frontend

From now on, during the auto registration process, Zabbix will configure provided PSK identity and key on each registered host.

Step 7: Configure PSK encryption on Zabbix Agent (Windows)

Zabbix supports encrypted communications between Zabbix server and Zabbix agent using Transport Layer Security (TLS) protocol v.1.2. You can use certificate-based and pre-shared key-based encryption (PSK), but in this tutorial we will configure PSK encryption.

In this step, I will show you how to configure PSK encryption on an already installed Zabbix agent, but keep in mind that all of these configurations can be configured during the installation

a. Generate PSK key

Generate 256-bit (32 bytes) PSK key with openssl command on Zabbix server (or use some other tool on Windows):

$ openssl rand -hex 32
1b38eac9d870a319f201fb1da989c081faba993e3d91940193224a100cdcdb86

On Windows server, create a new text file “ZabbixAgentPSK.txt” in the default Zabbix agent installation folder (“C:Program Fileszabbix“) and put that PSK key in the first line of the file. Don’t forget to save the file before closing.

b. Configure Zabbix agent to support PSK encryption

Open “C:Program Fileszabbixzabbix_agentd.conf” file with text editor (Notepad++) and add this configuration anywhere in file:

TLSConnect=psk
TLSAccept=psk
TLSPSKFile=C:Program FileszabbixZabbixAgentPSK.txt
TLSPSKIdentity=ZBX-AGENT-PSK-ID

Save and exit file. Keep in mind that “TLSPSKIdentity” can be anything, so for security reasons set something else – don’t use mine!

Don’t forget to restart Zabbix agent service after changing the configuration file!

c. Enable PSK encryption on the agent in Zabbix frontend

Communication between Zabbix agent and server is not yet encrypted because we have enabled PSK encryption on the agent side but not on the server side. 

We need to enable encryption on the server side so go to web frontend and select your “Hosts” tab under the “Configuration” section and find and click on your Windows hosts.

On the “Encryption” tab set PSK under “Connections from hosts” option and copy/paste “PSK identity” and “PSK” (key) that is configured on the Zabbix agent.

When you are done with configuration click the “Update” button just as shown in the image below. 

How to configure PSK encryption on Zabbix agent in the frontend

How to configure PSK encryption on Zabbix agent in the frontend

Keep in mind, that you can automate the configuration of the host encryption (PSK) on the frontend using the Zabbix auto registration process.

Step 8: Install Zabbix agent via Windows command-line (CMD)

This step is for those who prefer command-line based installation instead of wizard-based installation.

a. Run CMD as administrator

Click on “Windows Start” button and type “CMD” in the search bar, right-click on “cmd” and select option “Run as administrator“:

picture showing how to run windows cmd as a administrator

b. Download Zabbix agent

Download installer zabbix_agent2-6.0.7-windows-amd64-openssl.msi for 64-bit Windows or zabbix_agent2-6.0.7-windows-i386-openssl.msi for 32-bit Windowsand save it on a “C:” disk or somewhere else.

c. Change directory and set installation folder

Change directory to the path where you have downloaded the MSI file and set the installation folder with commands:

cd C://
SET INSTALLFOLDER=C:Program Fileszabbix

d. Install Zabbix agent using msiexec

Here is an example of Zabbix agent installation that will work for most people, just change parameteres “SERVER“, “SERVERACTIVE” and “HOSTNAME” to suit your enviroment.

msiexec /l*v log.txt /i zabbix_agent2-6.0.7-windows-amd64-openssl.msi /qn^
LOGTYPE=file^
LOGFILE="%INSTALLFOLDER%zabbix.log"^
SERVER=192.168.5.156^
LISTENPORT=10050^
SERVERACTIVE=192.168.5.156^
HOSTNAME=w01fileservice^
ENABLEPATH=1^
INSTALLFOLDER="%INSTALLFOLDER%"

Check “Zabbix agent” service status with the command:

sc query "Zabbix Agent" | findstr /i "STATE"

If the Zabbix agent is up and running then the status should be “RUNNING“.

Picture showing how to install Zabbix agent on Windows server using the command line (CMD)

Picture showing how to install Zabbix agent on Windows server using the command line (CMD)

Note, if you are planning to use the auto-registration feature don’t forget to add “HostMetadata=Windows” parameter to “zabbix_agentd.conf” and restart Zabbix agent afterward because Zabbix CLI installation doesn’t support “HostMetadata” parameter:

echo HostMetadata=Windows >> C:"Program Files"zabbixzabbix_agentd.conf
net stop "Zabbix Agent"
net start "Zabbix Agent"

e. Example of Zabbix agent installation with additional options

You can set almost any Zabbix agent parameter during installation, here is one example of an installation where many parameters are used.

SET INSTALLFOLDER=C:Program Fileszabbix

msiexec /l*v log.txt /i zabbix_agent2-6.0.7-windows-amd64-openssl.msi /qn^
LOGTYPE=file^
LOGFILE="%INSTALLFOLDER%zabbix.log"^
SERVER=10.10.10.162^
LISTENPORT=10055^
SERVERACTIVE=10.10.10.162^
HOSTNAME=cmr_server^
TLSCONNECT=psk^
TLSACCEPT=psk^
TLSPSKIDENTITY=CompanyPSKID^
TLSPSKFILE="%INSTALLFOLDER%company_key.psk"^
TLSCAFILE="c:tempfile1.txt"^
TLSCRLFILE="c:tempfil2.txt"^
TLSSERVERCERTISSUER="Company CA"^
TLSSERVERCERTSUBJECT="Company Cert"^
TLSCERTFILE="c:tempfile4.txt"^
TLSKEYFILE="c:tempfile5.txt"^
ENABLEPATH=1^
INSTALLFOLDER="%INSTALLFOLDER%"
SKIP=fw

Parameter “SKIP=fw” means that the firewall exception rule will not be added. Explanations of other parameters can be found in the official Zabbix documentation section Zabbix Agent (Windows).

Step 9: Understanding Active vs Passive Zabbix Agent mode

When using a Zabbix agent in active mode, it will connect to the Zabbix server via port 10051 to retrieve configuration and send data. This is a great feature that allows an active Zabbix agent to work behind the firewall and to offload the Zabbix server in large environments.

On the other hand, if you use a Zabbix agent in passive mode Zabbix server will initiate a connection via port 10050 and retrieve data from the agent. The Zabbix server will do this for every metric (item) every few minutes – which is very inefficient! Because of this, active mode is more recommended.

An additional advantage of the Zabbix agent in active mode is that it can read logs from the device and that is not possible if the Zabbix agent is used in passive mode.

Differences between Zabbix agent active  and passive check

Differences between Zabbix agent active and passive check (Source: Zabbix)

You can detect on Zabbix host if the agent is working in active or passive mode. Passive mode will show red or green “ZBX” icon in the agent status bar and active mode will show grey “ZBX” icon:

Detect on Zabbix host if the agent is working in active or passive mode

Learn how to setup Zabbix email notifications and escalations in a few minutes!

setup zabbix mail alerts and escalations

Обновлено и опубликовано Опубликовано: 06.10.2020

Используемые термины: Zabbix, Windows.

В нашем примере мы установим агент для Zabbix на Windows в качестве службы, а также сделаем минимальную настройку для отправки данных на сервер.

Загрузка агента с официального сайта
Установка агента
    Из пакета MSI
    Из архива
Настройка брандмауэра
Проверка подключения к агенту
Другие статьи про Zabbix

Загрузка агента

Переходим на страницу загрузки агента Zabbix и выбираем платформу операционной системы (x32 или x64) и версию агента, например:

Выбираем версию агента zabbix и платформу Windows

* помимо этого, мы можем выбрать вариант дистрибутива: с использованием шифрования или нет, а также файл установки — msi пакет или архив. В данном примере мы выбрали версию 5.

В зависимости от выбранных критериев поиска агента, ниже мы можем увидеть несколько вариантов для загрузки. Находим нужный и кликаем по DOWNLOAD для скачивания файла:

Скачиваем агента Zabbix по ссылке Download

Ждем окончания загрузки и переходим к установке.

Установка агента

В зависимости от загрузки типа пакета (MSI или архив) будут разные методы установки. Рассмотрим оба.

Установка из MSI-пакета

Это удобный вариант, который позволит установить агента с помощью мастера. Чтобы начать, кликаем дважды по скачанному пакету и в окне приветствия нажимаем Next:

Идем дальше в окне приветствия

Принимаем лицензионное соглашение, установив галочку I accept the terms in the License Agreement и нажимаем Next:

Принимаем лицензионное соглашение

В следующем окне оставляем имя компьютера, на который устанавливается агент и вводим имя или IP-адрес сервера zabbix, после кликаем по Next:

Указываем имя компьютера и сервера Zabbix

* в данном примере имя нашего компьютера Windows PC, а сервера — zabbix-server.dmosk.local.

Выбираем компоненты, которые хотим установить — можно просто оставить все по умолчанию и нажимаем Next:

Выбираем компоненты для установки

Подтверждаем установку, кликая по Install:

Начинаем установку агента

Ждем завершения процесса — агент установлен.

Установка из архива

Данный метод требует дополнительных манипуляций, но с его помощью можно автоматизировать процесс. Мы рассмотрим только установку.

Распаковываем содержимое скачанного архива в каталог, где будут находиться файлы программы, например в C:Program FilesZabbix Agent. В итоге, у нас получится:

Содержимое архива в папке назначения

Открываем WordPad от администратора и в нем открываем конфигурационный файл conf/zabbix_agentd.conf и правим опцию для сервера zabbix — находим строку:

Server=127.0.0.1

… и меняем ее на:

Server=zabbix-server.dmosk.local

* где zabbix-server.dmosk.local — имя сервера Zabbix.

Теперь открываем командную строку от администратора и выполняем команду для установки агента:

«C:Program FilesZabbix Agentbinzabbix_agentd.exe» —config «C:Program FilesZabbix Agentconfzabbix_agentd.conf» —install

* где C:Program FilesZabbix Agent — папка, куда мы распаковали архив.

Мы должны увидеть что-то на подобие:

zabbix_agentd.exe [468]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [468]: event source [Zabbix Agent] installed successfully

Теперь открываем службы Windows и находим «Zabbix Agent» — кликаем по ней правой кнопкой мыши и выбираем Запустить:

Запуск агента Zabbix в службах Windows

Установка завершена.

Настройка брандмауэра

Если в нашей системе работает брандмауэр 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 FilesZabbix Agentbinzabbix_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 agent в панели сервера

Читайте также

Другие инструкции по Zabbix:

1. Установка и настройка Zabbix-агента на CentOS

2. Установка и начальная настройка сервера мониторинга Zabbix на Ubuntu Server

3. Настройка сервера Zabbix 5 на CentOS 8

Skip to content

Zabbix Monitor Windows using Agent

Zabbix Monitor Windows using Agent

Would you like to learn how to do a Zabbix agent installation on Windows? In this tutorial, we are going to show you how to install and configure the Zabbix agent software on a computer running Windows.

• Zabbix version: 3.4.12
• Windows version: 2012 R2

Hardware List:

The following section presents the list of equipment used to create this Zabbix tutorial.

Every piece of hardware listed above can be found at Amazon website.

Zabbix Playlist:

On this page, we offer quick access to a list of videos related to Zabbix installation.

Don’t forget to subscribe to our youtube channel named FKIT.

Zabbix Related Tutorial:

On this page, we offer quick access to a list of tutorials related to Zabbix installation.

Tutorial — Zabbix Agent Installation on Windows

Zabbix download windows

In our example, we download the Zabbix file: zabbix-3.4.12.tar.gz

Open the Windows Explorer application, navigate to the root of drive C and create a new directory.

Zabbix new folder

The new directory name should be: zabbix

zabbix folder

The Zabbix installation package usually is compacted using a TAR.GZ file extension.

Today, Windows is not able to open TAR.GZ extensions file.

Download and install 7ZIP or WINRAR to enable the Windows operating system to use TAR.GZ files.

Use a program like 7ZIP or WINRAR to extract the Zabbix installation package content.

zabbix extraction

In our example, we used the 7ZIP software.

Copy the content of the following Zabbix installation package: zabbix-3.4.12binwin64

Paste the content of the inside the folder that we created before: C:zabbix

zabbix installation windows

Copy file zabbix_agentd.win.conf from the following Zabbix installation package folder: zabbix-3.4.12conf

Paste the file zabbix_agentd.win.conf inside the folder that we created before: C:zabbix

zabbix folder content

Open the WORDPAD application and edit the zabbix_agentd.win.conf configuration file.

The file zabbix_agentd.win.conf is locate inside the C:Zabbix folder.

Zabbix configuration file Windows

Delete all the content of the configuration file and enter the following directives:

Server=127.0.0.1,200.200.200.200
ServerActive=200.200.200.200
Logfile=C:zabbixzabbix_agent.log

Save the configuration file and exit the WORDPAD application.

In our example, the Zabbix agent is configured to allow the connection of the Zabbix server 200.200.200.200.

The server with the IP address 200.200.200.200 is allowed to request and receive information from the agent.

The Localhost, 127.0.0.1, is allowed to request and receive information from the agent.

After finishing the configuration, open a DOS elevated command prompt.

Enter the following command to install the Zabbix agent service on Windows.

c:zabbixzabbix_agentd.exe —config c:zabbixzabbix_agentd.win.conf —install

If everything was done correctly, you should see the following messages

zabbix_agentd.exe [4508]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [4508]: event source [Zabbix Agent] installed successfully

The Zabbix agent was installed on your computer but we need to start the service manually.

You only need to start the service manually the first time after the installation.

Open the Windows service management screen and start the Zabbix agent service.

zabbix agent windows

Open the zabbix_agent.log file to verify the Zabbix agent log file.

If the Zabbix agent was started successfully, you should see a message similar to this.

4964:20180808:190920.442 Starting Zabbix Agent [WINDOWS-SERVER-01]. Zabbix 3.4.12 (revision 83216).
4964:20180808:190920.442 **** Enabled features ****
4964:20180808:190920.442 IPv6 support: YES
4964:20180808:190920.442 TLS support: NO
4964:20180808:190920.442 **************************
4964:20180808:190920.442 using configuration file: c:zabbixzabbix_agentd.win.conf

4964:20180808:190920.442 agent #0 started [main process]

4764:20180808:190920.442 agent #2 started [listener #1]

4856:20180808:190920.442 agent #1 started [collector]

4340:20180808:190920.442 agent #3 started [listener #2]

4400:20180808:190920.442 agent #5 started [active checks #1]

5016:20180808:190920.442 agent #4 started [listener #3]

Congratulations! you have installed the Zabbix agent on a computer running Windows

Keep in mind that your Windows firewall application needs to accept connections from the Zabbix server.

The Windows firewall should accept network packets on TCP port: 10050

You can now use the Zabbix server dashboard to add this computer to the network monitoring service.

Tutorial — Zabbix Monitor Windows

Now, we need to access the Zabbix server dashboard and add the Windows computer as a Host.

Open your browser and enter the IP address of your web server plus /zabbix.

In our example, the following URL was entered in the Browser:

• http://35.162.85.57/zabbix

On the login screen, use the default username and default password.

• Default Username: Admin
• Default Password: zabbix

zabbix login

After a successful login, you will be sent to the Zabbix Dashboard.

zabbix dashboard

On the dashboard screen, access the Configuration menu and select the Host option.

zabbix add host

On the top right of the screen, click on the Create host button.

Zabbix Create Host

On the Host configuration screen, you will have to enter the following information:

• Host Name — Enter a Hostname to identify the Windows server.
• Visible Hostname — Repeat the hostname.
• New group — Enter a name to identify a group of similar devices.
• Agent Interface — Enter the IP address of the Windows server.

Here is the original image, before our configuration.

zabbix linux - Antes

Here is the new image with our configuration.

Zabbix Windows host

Next, we need to associate the host with a specific network monitor template.

By default, Zabbix comes with a large variety of monitoring templates.

Access the Templates tab on the top of the screen.

Click on the Select button and locate the template named: TEMPLATE OS Windows

Click on the Add button (1).

Click on the Add button (2).

After a few minutes, you will be able to see the initial result on the Zabbix Dashboard.

The final result will take at least one hour.

By default, Zabbix will wait 1 hour to discover the number of interfaces available on the Windows computer.

By default, Zabbix will wait 1 hour before collect information from the network interfaces.

In order to test your configuration, access the Monitoring menu and click on the Graphs option.

Zabbix graphic

On the top right of the screen, select the group named ALL.

Select your Windows computer host name.

Select the graph named: CPU UTILIZATION

Zabbix Windows Graphic

You should be able to see the graphic of CPU utilization.

Zabbix cpu utilization linux

Congratulations! You have configured the Zabbix server to monitor a Windows computer.

VirtualCoin CISSP, PMP, CCNP, MCSE, LPIC22019-06-11T10:57:47-03:00

Related Posts

Page load link

Join Our Newsletter 

Stay updated with the latest tutorials

close-link

This website uses cookies and third party services.

Ok

1. Скачать архив с Zabbix агентом с официального сайта разработчика http://www.zabbix.com/download2.php
(Прямая ссылка на архив http://www.zabbix.com/downloads/1.8.3/zabbix_agents_1.8.3.win.zip )

 
2. Разархивировать файлы из папки архива bin/win64 в папку где будет работать zabbix agent (например в C:zabbix)

 
3. В этой же папке (C:zabbix) создать конфигурационный файл zabbix_agentd.conf со следующим содержимым:

 
Server=zabbix.vpsville.ru
ServerPort=10051
# Unique hostname. Required for active checks.
Hostname=vpsville
# Listen port. Default is 10050
ListenPort=10050
# Name of log file.
LogFile=c:zabbixzabbix_agentd.log
# Maximum size of log file in MB. Set to 0 to disable automatic log rotation.
LogFileSize=10
EnableRemoteCommands=1

 
4. Из командной строки дать команду на установку агента:
zabbix_agentd.exe —config c:zabbixzabbix_agentd.conf —install

5. После установки проверить появившуюся новую служб

 
zabbix agent

 
 
 
 
 
 
 
 
 
6. Проверить что бы служба запускалась Автоматически.
7. Сделать заявку в службу поддержки для создания учетной записи на сервере мониторинга Zabbix для получения статистики по серверу. (У всех клиентов хостинга vpsville.ru zabbix agent установлен в системе по умолчанию).
P. S. Что бы все работало в брандмауэре Windows создать правило для входящих подключений разрешающее работу с портом 10050.
брандмауэр windows

Небольшая капля информации о мониторинге и простой установке Zabbix.

Что такое мониторинг

Рано или поздно (а лучше рано) возникают вопросы повышения качества сервисов, улучшения стабильности и быстрого реагирования на возникающие проблемы. Их можно решать различными путями, но самым эффективным и стратегически правильным является разворачивание мониторинга.

При этом под мониторить можно как инфраструктуру, так и вспомогательные сервисы, показатели состояния приложений и бизнес-показатели. Главное, чтобы собираемые данные были востребованы, а не хранились “для галочки” в базах данных до лучших времен.

Обычно от мониторинга ждут следующего:

  • Оповещение о критических событиях в системе на основе собираемых данных
  • Отражение текущего актуального состояния компонентов системы
  • Удобная визуализация данных, в т.ч. и за большие периоды
  • Построение отчетов

При этом на самом старте его разворачивания и настройки чаще всего нет четкого понимания какие инструменты использовать, какие метрики собирать, когда нужно рассылать оповещения и так далее. Вместо того, чтобы надолго уходить в изучение этой темы и месяц выбирать всем отделом систему мониторинга и набор метрик — проще всего воспользоваться готовыми рецептами, которые уже после начала использования адаптировать под себя. Главное, чтобы мониторинг был востребованным, а данные им собираемые могли использоваться на практике.

Таким первым шагом может быть установка системы мониторинга Zabbix. Это не единственное решение, но весьма себя зарекомендовавшее. Другими решениями можно назвать:

  • Graphite
  • Prometheus
  • Graphana — интерфейс для визуализации
  • StatsD
  • И многие другие.

Но мы сегодня остановимся именно на Zabbix. Но не обязательно использовать на рабочем окружении только этот продукт, ведь система мониторинга из нескольких частей или компонентов всегда лучше, чем единый монолит на все случаи и времена. Поэтому использовать вместе с Zabbix, например, Prometheus — просто отлично.

Совсем немного о Zabbix

Он может все! Мониторинг сетей, серверов, облачных ресурсов, сервисов и бизнес показателей. Это мощнейшая система мониторинга распределенной архитектуры, да к тому же и OpenSource. Все самое актуальное и необходимое всегда можно узнать в официальной документации. А пока кратко пробежимся по возможностям.

Сбор данных Zabbix может выполнять на основе:

  • Логов
  • Интерфейсов
  • API
  • SNMP
  • ping
  • Запросов к ресурсам
  • Открытых портов
  • Анализу запущеных процессов
  • Счетчиков производительности ОС
  • Информации о СУБД (резервные копии, показатели производительности и др.)

Все эти данные позволяют в дальнейшем диагностировать приложения и сервисы, делать правильные решения по улучшению стабильности и производительности. Кроме этого есть возможность использовать шаблоны собираемых показателей и автообнаружение новых машин для мониторинга в сети. В общем, все то, что и должна делать система мониторинга.

Пройдем все основные шаги по установке и началу использования Zabbix.

Подготовка к установке

На момент создания публикации выпущена версия Zabbix 5.0, в которой есть различные новые фишки, одна из которых это TimescaleDB, через которую выполнена реализация партиционирования данных при организации хранилища логов на базе PostgreSQL. Но мы не будем ее использовать. Мы пойдем по пути использования предыдущих стабильных версий:

  • Zabbix 4
  • CentOS 7
  • PostgreSQL 11
  • Apache

Будем считать, что CentOS уже установлена, а также сконфигурирован firewall, сетевые настройки, SELinux и прочее. Мы лишь остановимся на настройках, непосредственно связанных с Zabbix. Единственное, рекомендую обязательно обновить пакеты, компоненты системы до свежих версий командой:

Итак, поехали!

Подготавливаем базу данных

Прежде чем устанавливать сам Zabbix, установим и настроим PostgreSQL 11, который будет хранилищем данных системы мониторинга. Конечно, можно было бы представить просто список команд в терминале и остановиться на этом, но это было бы некорректно.

Вместо этого рекомендую сначала перейти на официальную страницу загрузки / установки PostgreSQL, а уже на ней выбрать операционную систему, версию СУБД, платформу и архитектуру. После этого будет выдана актуальная инструкция по установке СУБД для выбранных параметров. Это может пригодиться, если Вам нужна другая версия СУБД или при использовании другой операционной системы.

Мы же продолжим пример для CentOS 7 и PostgreSQL 11. Устанавливать СУБД будем на тот же сервер, где будет находиться и сам Zabbix. В рабочем окружении это не всегда правильно и для масштабирования хранилища может потребоваться вынести PostgreSQL на отдельный сервер (или даже нескольких серверов). Но в нашем простом примере все будет на одной машине.

# Установка репозитория
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Устанавливаем PostgreSQL
sudo yum install -y postgresql11-server

# Дополнительные настройки
#   Инициализация кластера баз данных
sudo /usr/pgsql-11/bin/postgresql-11-setup initdb
#   Включаем автоматический запуск PostgreSQL
sudo systemctl enable postgresql-11
#   И запускаем его
sudo systemctl start postgresql-11

Проверим успешно ли прошла установка. Запустим утилиту psql и выполним запрос на получение версии СУБД.

# Запускаем psql от имени пользователя postgres
sudo -u postgres -i psql

# Выполняем запрос получения версии СУБД
postgres=# 
SELECT VERSION();

# Пример результата:
# PostgreSQL 11.9 on x86_64-pc-linux-gnu, 
# compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit

Ошибок нет — значит все прошло отлично. Можно также провести тюнинг настроек PostgreSQL, но это уже другая история. Можете использовать сервис PGTune, чтобы подобрать настройки под себя. Подробнее об этом останавливаться сейчас не будем. На этапе установки Zabbix мы еще вернемся к некоторым настройкам СУБД, но это будет позже.

Установка и конфигурирование Zabbix

Как и с PostgreSQL, прежде чем начать идем на официальную страницу выбора параметров для загрузки Zabbix, а после выполняем предложенные инструкции. Для выбранной нами конфигурации получилась вот такая настройка.

Теперь начнем установку Zabbix.

Установка пакетов

Первым делом устанавливаем репозитории, пакеты Zabbix-сервера, веб-интерфейс и агент сбора данных.

# Установка репозитория
sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
# Предварительная очистка
sudo yum clean all

Теперь все готово для установки пакетов сервера, веб-интерфейса и агента.

# Установка основных пакетов сервера, веб-интерфейса и агента
sudo yum install zabbix-server-pgsql zabbix-web-pgsql zabbix-apache-conf zabbix-agent

Грандиозный успех!

Настраиваем базу данных

Ранее мы установили СУБД, теперь время создать пользователя баз данных для системы мониторинга.

# Создаем пользователя баз данных: zabbix
# Будет запрошен пароль для нового пользователя.
sudo -u postgres createuser --pwprompt zabbix
# Создаем базу данных zabbix, у которой владельцем будет пользователь zabbix (последний параметр)
sudo -u postgres createdb -O zabbix zabbix

Когда база создана, необходимо импортировать схему данных базы.

sudo zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix

Теперь в файле ‘/etc/zabbix/zabbix_server.conf’ изменим параметр пароля базы данных zabbix:

sudo mcedit /etc/zabbix/zabbix_server.conf
# Ищем 'DBPassword=' и подставляем пароль, указанный выше для пользователя zabbix

Немного настроек для фронта

Осталась еще одна настройка — это настроить часовой пояс для PHP в файле ‘/etc/httpd/conf.d/zabbix.conf’:

sudo mcedit /etc/httpd/conf.d/zabbix.conf
# Пример конфигурации:
# php_value date.timezone Europe/Moscow

Готово!

Стартуем процессы

Теперь все готово для запуска процессов Zabbix.

# Перезапускаем процессы
sudo systemctl restart zabbix-server zabbix-agent httpd
# Устанавливаем автоматический запуск
sudo systemctl enable zabbix-server zabbix-agent httpd

После этого все необходимые службы будут запускаться автоматически при старте системы.

Ох уж эта безопасность

Если после этого попытаться зайти через браузер со сторонней машины на фронт Zabbix, то, скорее всего, ничего не выйдет. Нужно настроить фаервол так, чтобы был доступ к веб-интерфейсу Zabbix.

sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --reload

Но и это еще не все. Нужно настроить возможность подключаться к базе zabbix по логину и паролю, и только локально. Для этого нужно в файле конфигурации ‘/var/lib/pgsql/11/data/pg_hba.conf’ применить вот такие изменения:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:

# Разрешаем подключение к базе zabbix пользователю zabbix
# по логину и паролю и только локально (для IPv4)
host    zabbix          zabbix          127.0.0.1/32            password

host    all             all             127.0.0.1/32            ident
# IPv6 local connections:

# Разрешаем подключение к базе zabbix пользователю zabbix
# по логину и паролю и только локально (для IPv6)
host    zabbix          zabbix          ::1/128                 password

host    all             all             ::1/128                 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     peer
host    replication     all             127.0.0.1/32            ident
host    replication     all             ::1/128                 ident

Проверяем подключение к базе zabbix с помощью psql:

psql -h 127.0.0.1 -W -U zabbix

Если после ввода пароля запустилась сессия работы с PostgreSQL, то все в порядке. В противном случае проверьте настройки файла pg_hba.conf и корректность пароля.

Теперь, если зайти по URL “http://<АдресСервера>/zabbix», то мы попадем на страницу начальной настройки Zabbix.

Мастер настройки Zabbix

Мы находимся на начальной странице настройки Zabbix.

Жмем “Next step” и попадаем на страницу с проверкой всех требований к работе системы мониторинга. Везде должно быть ОК. Если нет, то смотрите документацию по ситуации. Обычно необходимо установить совместимую версию PHP с текущей версией Zabbix.

Идем далее и попадаем на страницу настройки подключения к базе данных. Даже если сейчас введем пароль для пользователя zabbix, то ничего не выйдет. Мы получим ошибку “Error connecting to database.” и не будет понятно почему так произошло.

Но мы ведь настроили firewall и возможность подключаться к zabbix по логину и паролю выше. И все работало! В чем же дело? Ответ не лежит на поверхности и кроется под страшным названием SElinux — это система принудительного контроля доступа. Если посмотреть связанные с ней логи в файле ‘/var/log/audit/audit.log’ сразу после возникновения ошибки подключения на фронте Zabbix:

# Читаем последние 25 строк из файла логов
sudo tail -n 25 /var/log/audit/audit.log

то можем увидеть такое сообщение:

type=AVC msg=audit(1599285909.278:1682): avc:  denied  { name_connect } for  pid=9610 comm="httpd" dest=5432 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:postgresql_port_t:s0 tclass=tcp_socket permissive=0

Именно SELinux блокирует подключение Apache (https) к PostgreSQL. Интуитивно это понять никак не получится, нужно просто знать :) (а возможно и гуглить). Исправить это можно добавив правило, разрешающее такое подключение:

# Включаем правило, разрешающее Apache подключаться к PostgreSQL
setsebool -P httpd_can_network_connect_db 1

# Проверяем настройку
getsebool httpd_can_network_connect_db
# Должно вернуться: httpd_can_network_connect_db --> on

Теперь подключение успешно пройдет и ошибки подключения к базе данных не будет. Переходим к настройке сервера:

Здесь нам нужно ввести имя сервера (или IP-адрес), а также имя установки (не обязательно). В нашем простом случае оставлю это без изменений, т.к. ни на что в данном примере не влияет. Перейдя на следующий шаг мы увидим итоговые параметры.

Проверяем их и идем на финальный шаг.

Ура! Все эти настройки можно будет изменить в конфигурационном файле ‘/etc/zabbix/web/zabbix.conf.php’ по необходимости.

Первый поход на фронт

Снова идем по адресу ‘http://<АдресСервера>/zabbix’ и попадаем на форму аутентификации.

Для входа используем учетную запись по умолчанию: Admin с паролем zabbix. Не зубудьте потом поменять эти настройки. Далее мы попадаем на главную страницу веб-интерфейса, откуда можем перейти куда угодно.

А также уже есть собранные данные для анализа. Это информация о самом сервере Zabbix.

Все готово для использования.

И снова проблема

Мы рано радовались. Снова появилась проблема — сервер Zabbix не запускается, хотя на этапе настройки веб-интерфейса все могло быть хорошо. В логах ‘/var/log/zabbix/zabbix_server.log’ можно увидеть такую информацию:

29435:20200905:094034.449 cannot start preprocessing service: Cannot bind socket to "/var/run/zabbix/zabbix_server_preprocessing.sock": [98] Address already in use.

29400:20200905:094034.450 One child process died (PID:29435,exitcode/signal:1). Exiting ...

На самом деле все это есть в документации и мы специально пришли к этой проблеме, чтобы разобрать как бороться с ошибками. В официальной документации сказано, что если используется SELinux, то нужно выполнить дополнительные настройки.

# разрешаем соединение веб-сервера с Zabbix
sudo setsebool -P httpd_can_connect_zabbix on

# Следующий пункт мы уже сделали ранее
# Если база данных доступна через сеть (включая 'localhost' в случае PostgreSQL) вам также потребуется разрешить соединение между Zabbix веб-интерфейсом и базой данных:
# setsebool -P httpd_can_network_connect_db on

# Перезапускаем Apache
sudo service httpd restart

Но пока и этого недостаточно. Нужно настроить политики SELinux, чтобы разблокировать заблокированные операции Zabbix’а. Для быстрой настройки установим пакет ‘policycoreutils-python’:

sudo yum install policycoreutils-python

Теперь мы можем создать правила SELinux на основании событий в логах:

grep AVC /var/log/audit/audit.log* | audit2allow -M systemd-allow; semodule -i systemd-allow.pp

Перезапускаем Zabbix и теперь все готово:

# Перезапускаем
sudo systemctl restart zabbix-server

# Проверяем статус
sudo systemctl status zabbix-server

Конечно, можно было бы просто взять и отключить SELinux и это бы решило проблемы. Но отключать систему безопасности для работы одного приложения считаю неправильным. Хотя бывают ситуации, когда использование SELinux не имеет смысла, но это не наш случай. В любом случае ошибок нет, можно идти дальше.

Настраиваем агента Linux

Теперь рассмотрим процесс подключения новой машины к мониторингу. Установим агента Zabbix на сервер под управлением CentOS 7.

На самом деле мы это уже в какой-то мере уже сделали, т.к. на сервер Zabbix мы уже устанавливали пакет “zabbix-agent”. А в веб-интерфейсе мы уже видели собираемые данные о сервере.

Установку и конфигурирование начнем с самого главного — перейдем на страницу с выбором необходимой версии агента:

  • Linux
  • Версия 3.0
  • Платформа AMD64
  • Для версии Zabbix 4.0

На этой же странице будет ссылка с инструкцией по установке агента. В нашем случае она находится здесь.

Как и с установкой сервера, сначала рекомендую обновить компоненты системы, пакеты:

Далее как и с сервером нужно добавить репозиторий.

# Добавляем репозиторий
sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

Установим и сам пакет агента Zabbix, а после запустим его.

# Установка пакета агента
sudo yum install zabbix-agent

# Запускаем агент
sudo systemctl start zabbix-agent

# Проверяем состояние
sudo systemctl status zabbix-agent

Запустили мы, конечно, рано, нужно еще сконфигурировать работу агента. Идем в файл ‘/etc/zabbix/zabbix_agentd.conf’ и изменяем три параметра:

  • Hostname=<Имя хоста=»» для=»» Zabbix=»»>
  • Server=<Имя или=»» адрес=»» Zabbix-сервера=»»>
  • ServerActive=<Имя или=»» адрес=»» Zabbix-сервера=»»>

После этого перезапускаем агента:

# Перезапускаем агента
sudo systemctl restart zabbix-agent

# Проверяем состояние
sudo systemctl status zabbix-agent

И проверяем логи работы агента. Возьмем последине 30 строк для анализа:

sudo tail -n 30 /var/log/zabbix/zabbix_agentd.log

Мы получим все что происходило при запуске агента. В нашем примере вывод был таким:

 42693:20200905:172314.572 Starting Zabbix Agent [Zabbix server]. Zabbix 4.0.24 (revision 95be642769).
 42693:20200905:172314.572 **** Enabled features ****
 42693:20200905:172314.572 IPv6 support:          YES
 42693:20200905:172314.572 TLS support:           YES
 42693:20200905:172314.572 **************************
 42693:20200905:172314.572 using configuration file: /etc/zabbix/zabbix_agentd.conf
 42693:20200905:172314.572 agent #0 started [main process]
 42695:20200905:172314.573 agent #2 started [listener #1]
 42694:20200905:172314.574 agent #1 started [collector]
 42696:20200905:172314.574 agent #3 started [listener #2]
 42697:20200905:172314.575 agent #4 started [listener #3]
 42698:20200905:172314.576 agent #5 started [active checks #1]
 42698:20200905:172314.578 active check configuration update from [192.168.11.144:10051] started to fail (cannot connect to [[192.168.11.144]:10051]: [113] No route to host)

Мы сразу видим, что при запуске активных проверок появилась ошибка подключения (для моего окружения 192.168.11.144 — это адрес сервера Zabbix). Эта тема выходит за рамки этого материала, но Вы можете прочитать о пассивных и активных проверках самостоятельно.

Ошибка снова связана с настройками безопасности. Нужно открыть порт 10051 сервера Zabbix.

# Открываем порт 10051 на стороне сервера
sudo firewall-cmd --zone=public --add-port=10051/tcp --permanent
# Перезапускаем
sudo firewall-cmd --reload
# Проверяем применилось ли новое правило
iptables-save | grep 10051
# Вывод будет примерно таким:
# -A IN_public_allow -p tcp -m tcp --dport 10051 -m conntrack --ctstate NEW,UNTRACKED -j ACCEPT

Перезапускаем агента и проверяем лог.

# Перезапускаем агента
sudo systemctl restart zabbix-agent

# Проверяем состояние
sudo systemctl status zabbix-agent

# Проверяем что там в логах
sudo tail -n 30 /var/log/zabbix/zabbix_agentd.log

В этот раз все отлично.

 52725:20200905:175604.827 Starting Zabbix Agent [EDU-SRV-ZBX-02-VM]. Zabbix 4.0.24 (revision 95be642769).
 52725:20200905:175604.828 **** Enabled features ****
 52725:20200905:175604.828 IPv6 support:          YES
 52725:20200905:175604.828 TLS support:           YES
 52725:20200905:175604.828 **************************
 52725:20200905:175604.828 using configuration file: /etc/zabbix/zabbix_agentd.conf
 52725:20200905:175604.828 agent #0 started [main process]
 52727:20200905:175604.829 agent #2 started [listener #1]
 52726:20200905:175604.829 agent #1 started [collector]
 52728:20200905:175604.829 agent #3 started [listener #2]
 52729:20200905:175604.830 agent #4 started [listener #3]
 52730:20200905:175604.830 agent #5 started [active checks #1]

Дальше идем в веб-интерфейс и вручную добавим хост в список наблюдаемых. На продакшене обычно работает автообнаружение или добавление хостов скриптами, но у нас все по простому. Перейдем в “Configuration -> Hosts -> Create host”. На открытой форме заполняем:

  • Host name — имя хоста. Должно совпадать с одноименным параметром на стороне агента (мы заполняли этот параметр выше)
  • Groups — группы, к которым этот хост относится. Сейчас просто добавил его в “Linux servers”.
  • IP address (или DNS имя) — название говорит само за себя. Это адрес или имя машины, на которой установлен агент, которую нужно мониторить.

Также на вкладке “Templates” (Шаблоны) выбираем шаблоны показателей, которые будем собирать. Сейчас просто выбрал шаблон стандартных метрик для Linux OS.

Сохраняем и видим список хостов, в котором есть сам Zabbix-сервер и только что добавленны элемент. Спустя небольшой промежуток времени мы увидим ошибку.

Ситуация, думаю, понятная. На клиентской машине нужно открыть порт 10050 для взаимодействия с сервером мониторинга. Делается это аналогичными командами как и для порта 10051 сервера выше.

# Открываем порт 10050 на стороне сервера
sudo firewall-cmd --zone=public --add-port=10050/tcp --permanent
# Перезапускаем
sudo firewall-cmd --reload
# Проверяем применилось ли новое правило
sudo iptables-save | grep 10050
# Вывод будет примерно таким:
# -A IN_public_allow -p tcp -m tcp --dport 10050 -m conntrack --ctstate NEW,UNTRACKED -j ACCEPT

Ждем немного времени и видим, что с соединением теперь все отлично.

Данные от агента поступают и все работает как надо. Дело сделано, мониторинг этой машины работает. Далее рассмотрим кратко установку агента на хост с операционной системой Windows.

Настраиваем агента Windows

Установка агента для Windows принципиально не отличается от той же установки для *.nix, которую мы рассмотрели выше:

  • Тот же файл конфигурации агента
  • Необходимо открывать те же порты на сервере и на машине с агентом
  • Так же все описано в документации

Единственным отличием может быть синтаксис команд по настройке службы и правил брэндмауэра на стороне Windows. Их мы и опишем.

Сначала идем на страницу установки и выбора параметров. В нашем случае мы будем ставить агента на Windows Server 2012 для Zabbix 4.0. Вот эта конфигурация. Внизу страницы скачиваем предлагаемый клиент. Там же есть ссылка на документацию.

Скачиваем архив с приложением, распаковываем. Создаем каталог для приложения. Например: ‘C:Program FilesZabbixAgent’. В этот каталог из скачанного архива переносим два файла:

  • zabbix_agentd.exe — приложение агента.
  • zabbix_agentd.conf — файл конфигурации агента.

В файле конфигурации делаем те же настройки, что и в примере для Linux. А дальше устанавливаем агент как службу и запускаем следующими командами, и не забываем открыть порт 10050 на стороне агента:

# Открываем порты со стороны агента Zabbix для Windows

netsh advfirewall firewall add rule name="Open Zabbix agentd port 10050 inbound" dir=in action=allow protocol=TCP localport=10050

netsh advfirewall firewall add rule name="Open Zabbix agentd port 10050 outbound" dir=out action=allow protocol=TCP localport=10050

# Устанавливаем агента как службу и запускаем

```powershell
zabbix_agentd.exe --config zabbix_agentd.conf --install
zabbix_agentd.exe --start

# Проверяем состояние службы
Get-Service *zabbix*
# Пример вывода
#Status   Name               DisplayName
#------   ----               -----------
#Running  Zabbix Agent       Zabbix Agent

Далее на всякий случай проверяем логи:

  2324:20200905:185501.371 Starting Zabbix Agent [EDU-SRV-ZBX-03-VM]. Zabbix 4.0.24 (revision 95be642769).
  2324:20200905:185501.371 **** Enabled features ****
  2324:20200905:185501.371 IPv6 support:          YES
  2324:20200905:185501.372 TLS support:            NO
  2324:20200905:185501.372 **************************
  2324:20200905:185501.372 using configuration file: C:Program FilesZabbixAgentzabbix_agentd.conf
  2324:20200905:185501.386 agent #0 started [main process]
  2436:20200905:185501.387 agent #1 started [collector]
  2384:20200905:185501.387 agent #2 started [listener #1]
  1684:20200905:185501.387 agent #4 started [listener #3]
  2352:20200905:185501.387 agent #3 started [listener #2]
  1644:20200905:185501.387 agent #5 started [active checks #1]

И все готово. Если перейдем в веб-интерфейс Zabbix и добавим вручную хост (как и в примере выше, но с шаблоном для Windows), то через некоторое время увидим успешный сбор данных.

Подробнее информацию об установке агента на Windows можно также узнать в официальной документации.

Грандиозный успех!

Продолжение следует

В самом начале мы затронули вопрос что же такое мониторинг и какие инструменты для его реализации вообще есть. А дальше уже прошли процесс настройки сервера Zabbix с некоторыми нюансами и примерами решения частых проблем. Настроили брэндмауэр и SELinux, а после настроили и подключили агентов сбора данных на Linux и Windows хостах.

Не смотря на большой объем, на самом деле тема эта очень простая и не требует большого количества времени для изучения. Все что нужно — это один раз ознакомиться с документацией и попробовать использовать. После можно считать, что мониторинг Вам уже не страшен.

Надеюсь, что у Вас в компании он настроен и используется. Ведь иначе следить за состоянием работы инфраструктуры, информационных ситсем и других составных частей ИТ-ландшафта просто нереально. Обманывать себя проще, чем собирать объективные метрики.

В следующих публикациях мы коснемся тем использования прокси, создания собственных элементов данных, автообнаружения хостов, создание собственных шаблонов и использования существующих и много другого. Все что касается мониторинга только начинается.

Удачи в делах и вдохновения!

Будьте в курсе

Создание материалов будет продолжаться. Хотите быть в курсе последних обновлений? Подписывайтесь на канал.

По любым вопросам пишите на электронную почту. Адрес в самом низу страницы.


Zabbix это open-source система мониторинга корпоративного уровня. На текущий момент Zabbix одна из самых популярных и функциональных бесплатных систем мониторинга. Благодаря простой установке и настройке Zabbix можно использовать для мониторинга крупных инфраструктур с сотнями серверов, так и для мелких конфигураций. В этой статье мы рассмотрим, как выполнить установку и базовую настройку сервера Zabbix 4.4 с веб-интерфейсом на базе Linux Ubuntu и CentOS, установить агенты Zabbix на сервере Windows и Linux, и добавить новые хосты в систему мониторинга.

Общий интерфейс Zabbix сервера представлен на скриншоте ниже.

веб интерфейс системы мониторинга zabbix

Содержание:

  • Из чего состоит Zabbix и что он может?
  • Установка Zabbix Server в Linux (Ubuntu, CentOS)
  • Настройка веб-интерфейса Zabbix
  • Установка Zabbix Agent в Windows
  • Добавление устройства на Zabbix-сервере
  • Установка Zabbix Agent в Linux

Из чего состоит Zabbix и что он может?

Zabbix простой установке и настройке, написан на C (сервер, прокси и агент) и PHP (фронтенд). Zabbix Server и Zabbix Proxy может работать только на Linux системах. Агент можно установить на большом количестве поддерживаемых ОС и платформах.

Инсталляция Zabbix сервера состоит из:

  • бинарника zabbix_server (обычно работает как сервис);
  • MySQL (MariaDB)/PostgreSQL базы данных;
  • Веб сервера Apache2/Nginx с обработчиком PHP;
  • Файлов самого frontend сайта (.php, .js, .css и т.д.).

Обычно схема работы выглядит так:

  1. Агент Zabbix посылает данные на сервер
  2. Сервер Zabbix получает и обрабатывает данные.
  3. Если полученные данные подпадают под заданные условия, то срабатывает триггер;
  4. Активный триггер сигнализирует о проблеме. Отображается уведомление на фронтенде (сайте), и в зависимости от конфигурации рассылается сообщение по почте и выполняется какие-либо действия (например, перезапуск службы, которая мониторится).

Zabbix может работать со всеми известными протоколами, а благодаря системе внешних скриптов, Zabbix может выполнять и получать данные из любых исполняемых скриптов/бинарников.

Установка Zabbix Server в Linux (Ubuntu, CentOS)

В этой статье мы рассмотрим пример установки Zabbix Server 4.4 на Linux (на примере Ubuntu Server 18.4 и CentOS) через пакетный менеджер.

Перейдите на страницу загрузки https://www.zabbix.com/download и выберите репозиторий, соответствующий вашему дистрибутиву Linux. Готовые пакеты есть для всех популярных дистрибутивов.

Например, для установки Zabbix на Ubuntu 18.04 нужно последовательно выбрать :

Zabbix Version (4.4) -> OS Distribution (Ubuntu) -> OS Version (18.04 Bionic) -> Database (MySQL) -> Веб сервер (Nginx или Apache).

инструкция по установке zabbix, получение репозиториев

Скачем и добавим репозиторий:

# wget https://repo.zabbix.com/zabbix/4.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.4-1+bionic_all.deb
# dpkg -i zabbix-release_4.4-1+bionic_all.deb
# apt update

Теперь можно установить необходимые пакеты:

# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent

установка zabbix-server в linux ubuntu

Для установки Zabbix в CentOS 8/RHEL 8 нужно подключить репозиторий с актуальной версией Zabbix (можно установить Zabbix из ветки 4.0 LTS или последнюю версию Zabbix 4.4):

# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm
# dnf clean all

Предполагаем, что на сервере уже установлены: nginx, MySQL/MariaDB, php и php-fpm. Теперь через пакетный менеджер установим сам сервер Zabbix и агент:

# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-agent

Осталось создать базу данных для Zabbix в MySQL (вместо MySQL можно использовать PostgreSQL, просто замените в командах ‘mysql’ на ‘pgsql’).

Создайте базу данных и дайте права пользователю, из-под которого Zabbix будет обращаться к базе данных:

mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to [email protected] identified by 'ВашПароль';
mysql> quit;

Импортируйте базу данных Zabbix. Нужно будет ввести пароль, который вы указали при создании пользователя.

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p Zabbix

Измените конфигурационный файл /etc/zabbix/zabbix_server.conf, укажите пароль от вновь созданного пользователя.

DBPassword=Пароль_Пользователя_Zabbix

Так как в моем случае веб сервером служит nginx, нужно изменить nginx.conf, раскомментировав следующие строчки

# listen 80;
# server_name example.com;

Уберите # и поменяйте example.com на домен, по которому вы хотите заходить на Zabbix, в моём случае это
test.zabbix.local
.

Для Apache файл нужно править файл конфигурации /etc/httpd/conf.d/zabbix.conf .

Выставим временную зону в PHP. В файле /etc/zabbix/php-fpm.conf раскомментируем строчку

php_value[date.timezone] = Europe/Moscow

Дополнительно можно выставить следующие параметры PHP в
/etc/php.ini
:

memory_limit 128M
upload_max_filesize 8M
post_max_size 16M
max_execution_time 300
max_input_time 300
max_input_vars 10000

Добавьте службу zabbix-server в автозапуск и запустите ее:

# systemctl enable zabbix-server zabbix-agent nginx php7.2-fpm
# systemctl restart zabbix-server zabbix-agent nginx php7.2-fpm

Настройка веб-интерфейса Zabbix

Теперь нужно настроить frontend (веб-интерфейс) Zabbix. В браузере откройте указанный ранее URL адрес zabbix сервера. В моем случае это test.zabbix.local (или на домен, который вы указывали. Не забудьте прописать его у себя в hosts файле или на DNS сервере).

zabbix веб installer

Убедитесь, что во всех требования инсталлятора указано ОК.

zabbix check pre-requisites

Укажите данные для подключения к БД. Используйте пользователя и пароль, который создали ранее.

данные для подключения к базе данных zabbix

Укажите название Zabbix сервера. Порт рекомендую оставлять стандартный – TCP 10051.

Система Zabbix по-умолчанию использует два порта:

  • TCP 10050 — порт пассивного агента, по нему zabbix сервер опрашивает клиентов;
  • TCP 10051 — порт, на котором zabbix сервер получает данные от клиентов (активный агент).

Не забудьте открыть данные порты. Например, на Zabbix сервере на базе CentOS можно открыть порты в firewalld с помощью firewall-cmd:

# firewall-cmd --add-service={http,https} --permanentfirewall-cmd --add-port={10051/tcp,10050/tcp} –permanent

А на агенте достаточно открыть 10050:

# firewall-cmd --permanent --add-port=10050/tcp

Не забудьте перезагрузить firewalld:

# firewall-cmd –reload

имя и порты zabbix сервера

После этого жмите Next Step и Finish. После успешной установки вас попросит залогиниться. По-умолчанию логин
Admin
, пароль
zabbix
(замените его).

авторизация веб-интерфейсе в zabbix

zabbix dashboard

На этом установка сервера Zabbix Server завершена.

На странице https://www.zabbix.com/download есть пошаговые инструкции для установки Zabbix Server на другие операционные системы, а так же инструкции как собрать zabbix-server из исходного кода или запустить его в docker контейнерах.

Установка Zabbix Agent в Windows

Попробуем установить Zabbix агент на сервер Windows и добавим его на наш сервер мониторинга Zabbix. Скачать версию Zabbix агент для Windows можно здесь: https://www.zabbix.com/download_agents. агенты zabbix для windows

Выберите нужную версию агента под Windows. Я выберу формат msi (amd64) (без OpenSSL). Если вы планируете устанавливать zabbix agent на сервера/компьютеры домена через групповые политики или SCCM, то можете скачать zip архив с бинарными файлами и конфигурационными файлами.

Запустите инсталлятор, примите лицензионное соглашение, укажите запрошенные данные. Обратите внимание, что в поле “Server or Proxy for active checks” я указал IP адрес в формате IP:PORT. Поскольку порт я оставлял стандартный, я пишу IP:10051.

настройка параметров zabbix сервера при установке агента в windows

Далее еще пару раз нажмем Next и Install.

После этого убедимся, что наш агент установлен. В списке служб должен появиться сервис Zabbix Agent.

служба zabbix agent в windows

На клиенте Windows нужно разрещить входящие подключения с IP адреса сервера Zabbix в Брандмауэре Windows:

New-NetFirewallRule -DisplayName "ZabbixMonitoring" –RemoteAddress 192.168.1.100 -Direction Inbound -Protocol TCP –LocalPort 10050 -Action Allow

Добавление устройства на Zabbix-сервере

Чтобы убедиться в работоспособности агента, нужно добавить хост testnode2 на Zabbix сервер и назначить ему проверки (checks).

Заметка. В заббиксе есть 2 типа проверок:

  • Пассивные – Zabbix сервер запрашивает у агента какие-либо данные;
  • Активные – агент посылает на сервер данные;

При установке агента мы указывали сервер в формате IP:PORT как раз для активных проверок.

Добавление нового устройства для мониторинга в Zabbix выполняется через Web-интерфейс. Перейдите в раздел Configuration -> Hosts.

добавление хоста в мониторинг Zabbix

Нажмите Create host и заполните данные. Обратите внимание, что Host name хоста должен полностью совпадать с hostname машины или значением параметра Hostname в конфиге агента.

добавление windows устройства в Zabbix сервере

Во вкладке Templates добавить несколько встроенных Windows шаблонов. Шаблоны в Zabbix это наборы значений, триггеров, графов и правил обнаружения, которые могут быть назначены одному или нескольким хостам.

Эти интегрированные шаблоны имеют постфикс “active”, значит, будут использоваться активные проверки.

шаблоны zabbix для windows

Нажмите Add. Чтобы не ждать пока сервер и агент увидят друг друга (обычно занимает пару минут), перезагрузите службу Zabbix Agent на testnode2 и проверьте лог агента (C:Program FilesZabbix Agentzabbix_agentd.txt).

перезапуск службы Zabbix agent

лог zabbix_agentd.txt

Сообщение “started [active checks #1]” говорит о том, что на сервере найдены активные проверки для этого хоста. Теперь посмотрим на данные, которые пришли на сервер Zabbix от агента. Для этого в Zabbix перейдите на Monitoring -> Latest Data и выберете нужный вам хост в поле Hosts.

проверка получение данных от хоста в zabbix

данные об устройстве в веб интерфейсе zabbix

В этом разделе отображаются последние данные, которые пришли на сервер по выбранным хостам или группам хостов.

Обратите внимание на то, что в дашборде Zabbix висит уведомление о том, что служба BITS не запущена. Это уведомление появилось потому что мы назначили стандартные шаблоны нашему хосту. В одном из шаблонов был мониторинг сервиса BITS и соответствующий триггер, который срабатывает если служба BITS находится не в статусе Running.

события в dashboard zabbix

На этом настройка Windows Agentа завершена.

Установка Zabbix Agent в Linux

Теперь установим агент Zabbix в Linux. Для установки Zabbix агента в Ubuntu Server 18.04 с помощью пакетного менеджера нужно скачать и установить репозиторий Zabbix. Затем из репозитория установим zabbix agent:
# wget https://repo.zabbix.com/zabbix/4.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.4-1+bionic_all.deb
# dpkg -i zabbix-release_4.4-1+bionic_all.deb
# apt update
# apt install zabbix-agent

В CentOS для добавления репозитория и установки агента zabbix используется команды:
# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm
# dnf clean all
# dnf install zabbix-agent

Перед тем как мы запустим zabbix агент, нужно отредактировать конфигурационный файл /etc/zabbix/zabbix_agentd.conf. В нем нужно указать IP адрес сервера Zabbix для активных проверок.

Server=IP
ServerActive=IP:10051
Hostname=testagent

После этого запустите сервис агента:

# service zabbix-agent start

Убедитесь, что агент успешно запустился.

# cat /var/log/zabbix/zabbix_agentd.log

установка zabbix agent в linux ubuntu

Строка cannot parse list of active checks говорит о том, что на сервере нет активных проверок для этого хоста.

Как и в случае с Windows агентом, вам нужно добавить ваш Linux хост в настройках сервера Zabbix. Обратите внимание на параметр Host name в настройка хоста в интерфейсе заббикс сервера — этот параметр должен совпадать с Hostname параметром, который мы указываем в конфиге Zabbix -агента. В конфиге выше я указывал имя хоста testagent.

добавление ubuntu в мониторинг zabbix

23

Перезагрузите Zabbix агент и проверьте лог.

лог zabbix_agentd

Проверьте, что данные от агента появились на сервере Zabbix.

данные с linux сервера появились в веб интерфейсе zabbix

На этом настройка Zabbix-агента на Linux системе завершена. В следующей статье мы рассмотрим безагентный мониторинг доступности узлов в Zabbix через ICMP Ping.

Zabbix в примерах

Zabbix. Получение и первичная настройка.

Zabbix можно получить по ссылке:

http://www.zabbix.com/download.php

Системные требования: 2 ядра CPU / 2ГБ

Далее предполагается, что вы скачали с официального сайта образ виртуальной машины, либо ISO-файл и установили его в Ubuntu
Server 16.04 LTS.

По умолчанию доступ к веб-интерфейсу разрешен отовсюду.

Инсталляция готового решения Zabbix имеет следующие пароли:

Доступ к веб-интерфейсу может быть получен с http://<хост>/zabbix

Логин.пароль:

Admin:zabbix

SSH доступ логин.пароль:

appliance:zabbix

Используйте “sudo su” команду вместе с паролем от “appliance” пользователя для получения привилегированных root прав.

База данных:

root:<случайный>
zabbix:<случайный>

Создание своего пользователя.
adduser имя_пользователя

После того, как пользователь создан, добавляем его в группу sudo.

usermod -a -G sudo имя_пользователя
Не забудьте отключить пользователя по умолчанию

passwd appliance –l

На все вопросы по работе сервера и клиента вам с удовольствием ответят логи.
Логи сервера лежат по пути:

/var/log/zabbix/zabbix_server.log

Агента:

/var/log/zabbix/zabbix_agentd.log

Команда:

tail -f /путь/к/файлу

поможет в прямом эфире отслеживать, что же происходит.

На картинке пример просмотра логов агента.

Zabbix добавление узла сети вручную

Для того, чтобы добавить узел сети, необходимо перейти в меню настройка, подменю узлы сети и выбрить создать узел сети.

Присваиваем узлу сети имя, вводим его видимое имя, добавляем в существующую или создаем новую группу, задаем интерфейс, посредством которого будет осуществляться мониторинг.

Для получения информации по узлу сети необходимо добавить к нему шаблон(ы).
Делается это так: выбираем узел сети, переходим на вкладку шаблоны, нажимаем кнопку выбрать, в открывшемся окне выбираем необходимый шаблон или шаблоны и нажимаем выбрать. Когда шаблоны выбраны, нажимаем на главной странице добавить и обновить.
В результате получаемые с узла данные будут доступны в меню мониторинг, подменю последние данные.

Обнаружение узлов в сети.

Для того, чтобы не создавать все узлы сети вручную, полезно использовать функцию обнаружения. Она позволяет находить узлы и производить с ними различные действия:
добавлять в определенные группы узлов
привязывать шаблоны
прочее.
Чтобы создать правило обнаружения необходимо перейти в раздел обнаружение и выбрать пункт создать правило обнаружения.
Дальнейшие действия будем производить на примере принтеров. Предполагается, что нам известен диапазон их адресов.

Установка Zabbix agent в CentOS 7

sudo bash
rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

yum install zabbix-agent

По умолчанию в CentOS сервис не запускается автоматически при перезагрузке!
Убеждаемся в этом:
systemctl status zabbix-agent

И добавляем его в автозагрузку:
systemctl enable zabbix-agent

Запускаем сервис:
systemctl start zabbix-agent
Проверяем, все ли в порядк:
systemctl status zabbix-agent

Установка Zabbix agent в Ubuntu 16.04 LTS

sudo bash

wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+trusty_all.deb

dpkg -i zabbix-release_3.4-1+trusty_all.deb

apt-get update

apt-get install zabbix-agent

Установка Zabbix agent в Windows 7/8/2012 32-x/64-x

Для операционных систем семейства Windows на сайте представлены бинарники агента для 32-х и 64-х разрядных архитектур.
http://www.zabbix.com/downloads/3.4.0/zabbix_agents_3.4.0.win.zip
Установщик отсутствует. Для установки необходимо проделать несколько шагов:

  1. Открыть в файерволе TCP порт 10050, по которому агент общается с сервером

netsh advfirewall firewall add rule name="Zabbix Agent" dir=out protocol=tcp localport=10050 action=allow

netsh advfirewall firewall add rule name="Zabbix Agent" dir=in protocol=tcp localport=10050 action=allow

  1. Распаковать архив

  2. Переименовать папку в zabbix_agent

  3. c:zabbix_agentbinwin64zabbix_agentd.exe --config c:zabbix_agent confzabbix_agentd.conf --install

Где:
c:zabbix_agentbinwin64zabbix_agentd.exe – путь к исполняемому файлу тебуемой разрядности;

—config c:zabbix_agentconfzabbix_agentd.conf – путь к конфигурационному файлу;

—install – команда для установки сервиса с указанными выше параметрами.

На 64-битных системах требуется 64-битная версия Zabbix агента, чтобы все проверки связанные с запущенными 64-битными процессами корректно работали.

Или возьмите готовое у меня:

https://github.com/alv1r/zabbix_agent

Подробнее про настройки агента, специфические для Windows можно посмотреть тут:
https://www.zabbix.com/documentation/3.4/ru/manual/appendix/install/windows_agent

Для облегчения задачи я написал скрипт, который автоматически создает конфигурационный файл, открывает порты и устанавливает сервис требуемой разрядности.
Полный комплект (zabbix_agent) лежит на яндекс диске в папке soft
Скрипт требует настройки
SET String=%computername%.%userdomain%.local – заменяем на постфикс вашего домена (ru/loc/net)
SET Zabbix=192.168.10.31 – заменяем на адрес вашего сервера Zabbix.

Настройка Zabbix agent (универсальная)

Zabbix agent хранит свои настройки в файле zabbix_agentd.conf .
В ОС UNIX он хранится по пути /etc/zabbix/zabbix_agentd.conf
В ОС Windows он хранится по пути zabbix_agentconfzabbix_agentd.conf
Ниже приведена минимальная необходимая для работы конфигурация.

Server=192.168.10.31 – адрес сервера Zabbix

ServerActive=192.168.10.31 – адрес сервера Zabbix

Hostname=001-0036.et.local – полное имя хоста, в таком виде, каким его видит сервер.

ListenPort=10050 — порт, на котором будет работать агент.

LogFile=c:zabbix_agentzabbix_agentd.log — расположение файла журнала в Windows

LogFile=/var/log/zabbix/zabbix_agentd.log — расположение файла журнала в UNIX

LogFileSize=10 – размер файла журнала в мегабайтах.

Подробнее про настройку можно почитать тут:
для Windows

https://www.zabbix.com/documentation/3.4/ru/manual/appendix/config/zabbix_agentd_win
UNIX

https://www.zabbix.com/documentation/3.4/ru/manual/appendix/config/zabbix_agentd

Получение данных от агента.

В целях отладки очень удобно получать данные от агента в консоли.
За это отвечает утилита zabbix_get. Синтаксис у нее такой:
zabbix_get -s -p -k ключ
Где:
-s — адрес узла
-p — порт, на котором слушает агент
-k ключ – ключ, значение которого необходимо получить

В примере выше мы запросили у узла 192.168.10.30, агент у которого работает на порту 10050 значение ключа sip.status.
.

Мониторинг журналов событий Windows

Для того, чтобы работать с журналом событий, достаточно создать элемент данных следующего вида:
Тип: Zabbix агент (активный)
Ключ: eventlog[System,,»Error|Information»,»^Zabbix test event$»]
Тип информации: Журнал (лог)
Затем создаем триггер с текстом
{имя.хоста:eventlog[Application,,»Warning|Error|Failure»,,,,].logseverity()}>1 and { имя.хоста:eventlog[Application,,»Warning|Error|Failure»,,,,].nodata(60)}<>1

Чтобы упростить себе мониторинг журналов Система и Приложения достаточно импортировать на сервер шаблон YandexDisksoftzabbix_templateszbx_eventlog_template.xml
Настройки-Шаблоны-Импорт

Затем выбираем файл и нажимаем импорт

После того, как шаблон добавлен, необходимо прикрепить его к нужному узлу сети. Проверить работу можно, зайдя в Мониторинг-Последние данные

Выбираем узел сети, или группу узлов и видим, какие ошибки и предупреждения поступали.

Проверить работу можно, выполнив на узле, в запущенной от имени администратора консоли PowerShell:
eventcreate /t error /id 999 /l system /so «Zabbix test event» /d «Test ERROR event log by Zabbix»
Которая создаст в журнале система тестовую ошибку.
Сбор информации из системных журналов является активной проверкой, а потому в настройках агента должно быть указано его полное имя и сервер для активных проверок.
Подробнее описано в разделе «Настройки Zabbix agent».
Почитать подробнее о настройке логов можно тут:
https://www.zabbix.com/documentation/3.0/ru/manual/config/items/itemtypes/zabbix_agent/win_keys

Мониторинг нестандартных журналов событий Windows

Тип — активный,
Ключ eventlog[Microsoft-Windows-Hyper-V-VMMS-Admin,,»Error|Critical»,,,100,skip]
тип информации: лог

Ищем ошибки, относящиеся к работе Windows Scheduler:

eventlog[Microsoft-Windows-TaskScheduler/Operational,,»Error|Critical»,,,100,skip]
Основная проблема — что указать в качестве первого параметра ключа eventlog. Делаем так:
открываем родной виндовый Event Viewer (например, right-click на MyComputer -> Manage, затем открываем System Tools -> Event Viewer);
в Event Viewer-е находим нужный лог (например, в данном случае: Application and Services Logs -> Microsoft -> Windows -> TaskScheduler -> Operational), на нём RightClick -> Properties;
в свойствах находим поле «Full Name» (самое первое), его содержимое и копипастим в качестве первого параметра ключа.

https://www.zabbix.com/forum/showthread.php?t=50565

PostgreSQL

https://github.com/postgrespro/mamonsu
https://oc.postgrespro.ru/index.php/s/qu7YsFvOE55LdXo
https://raw.githubusercontent.com/postgrespro/mamonsu/master/packaging/conf/template_win32.xml

Мониторинг необходимости перезагрузки Windows.

Бывает полезно знать, каким серверам требуется перезагрузка, а когда их много, то удобно об этом узнавать, не заходя на сервер.
Для мониторинга нам понадобится клиент, настроенный для активных проверок и соответствующий скрипт.
Скрипт берем в галерее технета по ссылке ниже.
https://gallery.technet.microsoft.com/scriptcenter/Get-PendingReboot-Query-bdb79542/view/Discussions
set-executionpolicy remotesigned
Полученный скрипт определяем в папку zabbix_agentscripts на клиенте, в конфигурации пишем:
UserParameter=Reboot.IsNedeed,powershell -NoProfile -ExecutionPolicy Bypass -command «$ErrorActionPreference = ‘silentlycontinue’; $eval = get-pendingreboot; if ($eval.RebootPending) { Write-Host ‘1’; } else { Write-Host ‘0’ };
На стороне Zabbix создаем элемент данных:
Zabbix (активный)
ключ:
Reboot.IsNedeed

Мониторинг Asterisk на примере Elastix (CentOS 7 x64)

Подразумевается, что агент у вас уже установлен. Если это не так – смотрите соответствующий раздел руководства.
Для того, чтобы настроить мониторинг нам нужно сделать несколько вещей:
0 добавить пользователю zabbix от чьего имени работает zabbix agent право запускать программы баз ввода пароля,
1 добавить в конфигурационный файл агента нужные параметры
3 скачать, импортировать и применить к нужному узлу шаблон.
Приступим. Открываем файл
sudo nano /etc/sudoers
И в самый конец допишем:
zabbix ALL=(ALL) NOPASSWD:ALL
Теперь создадим отдельный файл настроек для работы с Asterisk

nano /etc/zabbix/zabbix_agentd.d/asterisk.conf
«`UserParameter=ast.pid,sudo -u zabbix sudo cat /var/run/asterisk/asterisk.pid

UserParameter=ast.uptime,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘core show uptime’ | grep uptime | cut -f2 -d: | sed ‘s/ //g’

UserParameter=ast.reloadtime,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘core show uptime’ | grep reload | cut -f2 -d: | sed ‘s/ //g’

UserParameter=ast.version,sudo -u zabbix sudo /usr/sbin/asterisk -V | cut -f2 -d’ ‘

Core Stats

INFO: Active Calls is Buggy yet.

UserParameter=ast.callsdone,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘core show calls’| grep -i ‘processed’ | awk ‘{print $1}’

IAX2 Stats

UserParameter=iax.status,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘iax2 show registry’|grep Registered |wc -l

UserParameter=iax.channels,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘iax2 show channels’|grep —text -i ‘active IAX channel’|awk ‘{print $1}’

SIP Stats

UserParameter=sip.status,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘sip show registry’|grep Registered |wc -l

UserParameter=sip.peersonline,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘sip show peers’|grep —text -i ‘sip peers’|awk ‘{print $5}’

UserParameter=sip.peersoffline,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘sip show peers’|grep —text -i ‘sip peers’|awk ‘{print $7}’

UserParameter=sip.peers,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘sip show peers’|grep —text -i ‘sip peers’|awk ‘{print $1}’

DNS Manager

UserParameter=dns.status,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘dnsmgr status’ | grep ‘DNS Manager’ | awk ‘{print $NF}’

UserParameter=dns.entries,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘dnsmgr status’ | grep ‘Number of entries’ | awk ‘{print $NF}’

FAX Stats

UserParameter=fax.sessions,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘fax show stats’ | grep ‘Current Sessions’ | awk ‘{print $NF}’

UserParameter=fax.transmits,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘fax show stats’ | grep ‘Transmit Attempts’ | awk ‘{print $NF}’

UserParameter=fax.receive,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘fax show stats’ | grep ‘Receive Attempts’ | awk ‘{print $NF}’

UserParameter=fax.done,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘fax show stats’ | grep ‘Completed’ | awk ‘{print $NF}’

UserParameter=fax.fail,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘fax show stats’ | grep ‘Failed’ | awk ‘{print $NF}’

Parked Calls

UserParameter=ast.parkedcalls,sudo -u zabbix sudo /usr/sbin/asterisk -rvvvvvx ‘parkedcalls show’ | grep ‘parked calls in total’ | awk ‘{print $1}’

Version information

Version Info — Edit this part for your own loss

UserParameter=ast.tribily.ver,sudo -u zabbix sudo echo ${VERSION}

Перезапускаем агент.
systemctl restart zabbix-agent
Скачиваем шаблон отсюда:
https://github.com/olindata/tribily-zabbix-templates/blob/master/App_Asterisk/Tpl_Tribily_App_Asterisk_Extended_v1.0.xml
Правой клавшей мыши по кнопке RAW, Сохранить объект как, далее Настройка-Шаблоны-Импорт шаблона, добавляем шаблон и применяем его к нужному узлу.

Мониторинг доступности телефонов на примере аппаратов Yealink.

Поскольку SNMP доступен не для всех телефонов, а получать с них информацию необходимость есть, мы воспользуемся функцией Zabbix, которая называется Веб мониторинг.
Создаем узел сети с произвольным именем, без указания адреса, он нам нужен только для привязки к нему сценария.
После создания кликаем по пункту веб
Далее выбираем создать веб сценарий

Даём ему имя, например, «Доступность», потом переходим на вкладку шаги, и нажимаем на кнопку добавить.
Вводим название шага, url, по которому необходимо проследовать, строку, которая там должна быть и код ответа. Нажимаем добавить, и еще раз добавить на основной страничке.

А теперь по порядку. В поле url мы указываем адрес, по которому будет осуществлен переход во время проверки, требуемая строка это строка, которая должна быть на странице, а 200, это код ответа, если она присуствует.
Ссылка позволяет заходить на телефон не авторизируясь.
http://192.168.10.214/servlet?p=login&q=login&username=admin&pwd=admin
Далее нам необходимо создать триггер, который будет срабатывать, когда пропадет регистрация на телефоне.

Называем триггер, далее нажимаем добавить, и в появившемся окошке из элементов данных выбираем ошибку проверки, а в значении функции Последнее значение NOT N, и нажимаем вставить.
Выбираем высокую важность и нажимаем добавить.

Триггер означает, что, если проверка не удалась, и вернула любой код ответа, отличный от N (200, как мы его задали), это будет означать событие высокой важности с немедленным уведомлением заинтересованных лиц.

Настройка оповещений по Email на примере почты от yandex.

Переходим в раздел Администрирование(1)->Способы оповещений(2)->Email(3)

Настраиваем следующим образом:
Email
SMTP сервер smtp.yandex.ru
Порт SMTP сервера 465
SMTP helo yandex.ru
SMTP email адрес_для_отправки@домен.ру
Безопасность подключения SSL/TLS
Проверка SSL узла нет
Проверка SSL хоста нет
Аутентификация НетОбычный пароль
Имя пользователя monitor@ener-t.ru
Пароль ************
Активировано да
Ниже пример рабочих настроек.

Мониторинг хоста Hyper-V

https://share.zabbix.com/virtualization/hyper-v/hyper-v-template-with-replication-state

https://github.com/ameiji/Zabbix-HyperV-Templates
Сначала импортируем шаблон Template_Windows_HyperV_VM_Guest.xml, потом Template_Windows_HyperV_Host.xml, поскольку они зависят друг от друга.
UserParameter=hyperv.discovery,powershell.exe -file «c:zabbix_agentscriptszabbix-vm-perf.ps1»
UserParameter=hyperv.discoveryitem[],powershell.exe -file «c:zabbix_agentscriptszabbix-vm-perf.ps1» «$1» «$2»
UserParameter=hyperv.check[
],powershell.exe -file «c:zabbix_agentscriptszabbix-vm-perf.ps1» «$1» «$2» «$3»
Set-ExecutionPolicy -ExecutionPolicy Bypass
Мониторинг WSUS
https://github.com/zbx-sadman/wsus

Мониторинг iLO

Для работы нам потребуется пакет freeipmi

‘sudo apt-get install freeipmi’

/usr/sbin/ipmi-sensors -D LAN2_0 -h 192.168.10.36 -u пользователь_в_iLO -p пароль -l USER -W discretereading —no-header-output —quiet-cache —sdr-cache-recreate —comma-separated-output —entity-sensor-names

1 Скачиваем шаблон и скрипты отсюда: https://www.zabbix.com/forum/attachment.php?attachmentid=6874&d=1397131920
2 редактируем скрипты, вписываем туда наш логин и пароль от iLO

3 копируем скрипты в папку External scripts
cp ilo_discovery.pl ipmi_proliant.pl /usr/lib/zabbix/externalscripts/
4 Делаем их исполняемыми
chmod +x /usr/lib/zabbix/externalscripts/ilo_discovery.pl
chmod +x /usr/lib/zabbix/externalscripts/ipmi_proliant.pl
и даем пользователю заббикс все права на них
chown zabbix:zabbix /usr/lib/zabbix/externalscripts/ilo_discovery.pl
chown zabbix:zabbix /usr/lib/zabbix/externalscripts/ipmi_proliant.pl
5 Создаем узел сети, в настройках интерфейса ничего не пишем, к нему применяем шаблон из архива, и во вкладке макросы ставим макрос {$ILO} равны IP интерфейса iLO

Мониторинг S.M.A.R.T. в Windows x64

Для мониторинга используется набор утилит smarttools.
Скачиваем отсюда
https://sourceforge.net/projects/smartmontools/files/smartmontools/6.4/
Распаковываем в папку zabbix_agentscriptssmarttools
Добавляем в конфигурационный файл строки:
#############SMARTMON
UserParameter=uHDD[], for /F «tokens=10» %a in (‘c:zabbix_agentscriptssmarttoolsbin64smartctl.exe -A $1 ^| find «$2″‘) do @echo %a
UserParameter=uHDD.health.[
], for /F «tokens=6» %a in (‘c:zabbix_agentscriptssmarttoolsbin64smartctl.exe -H $1 ^| find «test»‘) do @echo %a
UserParameter=uHDD.model.[],for /F «tokens=3» %a in (‘c:zabbix_agentscriptssmarttoolsbin64smartctl.exe -i $1 ^| find «Device Model»‘) do @echo %a %b
UserParameter=uHDD.sn.[],for /F «tokens=3» %a in (‘c:zabbix_agentscriptssmarttoolsbin64smartctl.exe -i $1 ^| find «Serial Number»‘) do @echo %a
UserParameter=uHDD.errorlog.[
], for /F «tokens=4» %a in (‘c:zabbix_agentscriptssmarttoolsbin64smartctl.exe -l error $1 ^| find «ATA Error Count»‘) do @echo %a
UserParameter=uHDD.discovery,powershell -NoProfile -ExecutionPolicy Bypass -File «c:zabbix_agentscriptssmartctl-disks-discovery.ps1»
Обязательно перезапускаем службу после внесения изменений в конфигурационный файл. Так же должен быть разрешен запуск скриптов PowerShell. Делается это в консоли PowerShell запущенной от администратора командой:
Set-ExecutionPolicy -ExecutionPolicy Bypass

Отсюда берем шаблон и скрипт
https://github.com/v-zhuravlev/zbx-smartctl
Скрипт помещаем в папку c:zabbix_agentscripts, а шаблон импортируем и применяем к нужным хостам. Вот и всё.
Для обеспечения работы в Windows x32 необходимо заменить в конфигурационном файле все вхождения bin64 на bin32. Как в строке ниже
c:zabbix_agentscriptssmarttoolsbin64smartctl.exe

Мониторим время окончания оплаты домена с помощью Zabbix

Для мониторинга нам понадобится скрипт и шаблон.

checkdomainexpire.sh

#!/bin/sh

# получаем имя домена
DOMAIN=$1

# получаем имя зоны
ZONE=`echo $DOMAIN | sed 's/./ /' | awk '{ print $2 }'`

# получаем дату протухания домена
# Должна вернуться в формате ГГГГ-ММ-ДД (год-месяц-день)
case "$ZONE" in
ru|net.ru|org.ru|pp.ru)
DATE=`whois $DOMAIN | grep paid-till | awk '{ print $2 }' | sed 's/./-/g'`
;;
com|net)
DATE=`whois $DOMAIN | grep "Registration Expiration Date:" | sed 's/Registrar Registration Expiration Date: //g;s/T/ /g' | awk '{ print $1 }'`
;;
org)
DATE=`whois $DOMAIN | grep "Registry Expiry Date:" | sed 's/Registry Expiry Date: //g;s/T/ /g' | awk '{ print $1 }'`
;;
*)
DATE="$(whois $DOMAIN | awk '/[Ee]xpir.*[Dd]ate:/ || /[Tt]ill:/ || /expire/ {print $NF; exit;}')"
if test -z "$DATE"; then
#Отсутствует информация в Whois для домена
echo "-1"
continue
fi
esac

# считаем дни и выводим
expr ( `date --date="$DATE" +%s` - `date +%s` ) / 60 / 60 / 24

Скрипт кладем в каталог по умолчанию для внешних скриптов, который указан в конфигурации сервера zabbix, вот строчка по умолчанию в zabbix-server.conf

ExternalScripts=/usr/lib/zabbix/externalscripts/checkdomainexpire.sh

Теперь выдаем права и делаем его исполняемым:

chown zabbix:zabbix /usr/lib/zabbix/externalscripts/checkdomainexpire.sh
chmod +x /usr/lib/zabbix/externalscripts/checkdomainexpire.sh

Теперь осталось в агента добавить свой параметр:

nano /etc/zabbix/zabbix_agentd.conf
UserParameter=domainexpire[*],/usr/lib/zabbix/externalscripts/checkdomainexpire.sh $1
service zabbix-agent reload

Шаблон берем тут

https://sysadmin-note.ru/monitorim-vremya-okonchaniya-oplaty-domena-s-pomoshhyu-zabbix/
Привязываем шаблон к узлу сети и создаем макрос
{$DOMAINNAME} со значением имя.сайта

Работа с SNMP. Общие сведения.

Значения OID удобно получаться с помощью специальной утилиты snmpget, нижу идут примеры использования:
snmpget -v2c -cpublic snmp_agent_Ip_address OID
где:
-v2c – версия протокола SNMP;
-cpublic – community имя. В нашем случае public;
snmp_agent_Ip_address – адрес узла сети;
OID – ключ, значение которого необходимо получить.
Например, запрос вида:
snmpget -v2c -cpublic prn-udo.et.local .1.3.6.1.2.1.1.5.0
Вернет нам модель принтера:

Работа с Mikrotik.

Через winbox переходим «IP»-«SNMP»

Здесь устанавливаем флаг «Enabled», тем самым включая SNMP на маршрутизаторе. Далее нажимаем кнопку «Сommunities» и выбираем уже созданный по умолчанию community «public», и исправляем его на свой. Так же для безопасности можно указать IP адреса с которых можно подключаться по SNMP.

Скачиваем отсюда шаблон
https://github.com/andyzasl/zabbix-templates/tree/master/mikrotik
Импортируем и применяем к узлу сети, который мы создали для нашего Mikrotik.
Работа с SNMP. Принтеры.

Kyocera
Так напишу для истории, кому пригодится.
1.3.6.1.4.1.1347.43.10.1.1.12.1.1 — кол-во копий по счетчику принтера
1.3.6.1.2.1.43.11.1.1.8.1.1 — уровень тонера (Х)
1.3.6.1.2.1.43.11.1.1.9.1.1 — процент использования в тонере (Y)
Соответственно удобоваримый вид сколько осталось тонера Z= Y*100/X
Ну и еще немного для комплекта
1.3.6.1.2.1.25.3.2.1.3.1 — модель принтера
1.3.6.1.4.1.1347.40.10.1.1.5.1 — сетевое имя
1.3.6.1.2.1.25.3.5.1.2.1 — состояние принтера (нормальное %00, загрузить кассету B …)
1.3.6.1.4.1.1347.43.5.4.1.5.1.1 — версия прошивки
1.3.6.1.4.1.1347.43.5.1.1.28.1 — серийный номер

Ricoh
Page Count — .1.3.6.1.2.1.43.10.2.1.4.1.1
Printer Description — .1.3.6.1.2.1.25.3.2.1.3.1
Printer Status — .1.3.6.1.2.1.25.3.5.1.1.1
Toner Estimated Capacity % — .1.3.6.1.4.1.367.3.2.1.2.24.1.1.5.1

По тонеру — показывает значение
-3 при полном картридже
-100 при низком уровне тонера
0 при необходимости замены тонера

Устранение ошибок при сборке Zabbix

При сборке Zabbix из исходных кодов, возникают ошибки с зависимостями.
Решение для устранения зависимостей под Debian:

Flag: —with-mysql
Error: configure: error: MySQL library not found
Fix: sudo apt-get install libmysqlclient-dev

Flag: —with-jabber
Error: checking for IKSEMEL… configure: error: Jabber library not found
Fix: sudo apt-get install libiksemel-dev

Flag: —with-libcurl
Error: configure: error: Curl library not found
Fix: sudo apt-get install libcurl4-openssl-dev

Flag: —with-net-snmp
Error: configure: error: Not found NET-SNMP library
Fix: sudo apt-get install libsnmp-dev
Flag: —with-openipmi
Error: configure: error: Invalid OPENIPMI directory — unable to find ipmiif.h
Fix: sudo apt-get install libopenipmi-dev

Zabbix 2.2.0

Flag: —with-libxml2
Error: configure: error: LIBXML2 library not found
Fix: sudo apt-get install libxml2-dev

Flag: —with-ssh2
Error: configure: error: SSH2 library not found
Fix: sudo apt-get install libssh2-1-dev
Типичные ошибки и их решение.

При установке из пакетов, для создания структуры БД, выполните следующие команды:
cd /usr/share/doc/zabbix-server-mysql
zcat create.sql.gz | mysql -uzabbix -p zabbix

При получении ошибок вида:
Cannot adopt OID in UCD-SNMP-MIB: laIndex ::= { laEntry 1 }
……………………………………………………………………………………………….
Cannot adopt OID in UCD-SNMP-MIB: laErrorFlag ::= { laEntry 100 }

Устанавливаем snmp-mibs-downloader
apt-get install snmp-mibs-downloader

Zabbix icmp pinger processes more than 75% busy — говорит нам о том, что процесс pinger перегружен. И если продолжить добавлять узлы на мониторинг, то вскоре данные просто перестанут успевать обрабатываться.
Исправить ситуацию можно увеличив кол-во pinger процессов. Для этого необходимо поправить конфигурацию zabbix сервера:

nano /etc/zabbix/zabbix_server.conf
находим строчку:

StartPingers=1

Установим значение StartPingers в 5.
StartPingers=5
Сохраняем конфигурацию и перезагружаем zabbix сервер
service zabbix-server restart

sudo: no tty present and no askpass program specified
Суть проблемы: у пользователя zabbix, из-под которого в системе выполняется этот скрипт, не хватает прав на запуск через sudo без пароля команды nmap.
Решение: Правим файл /etc/sudoers, дописывая нужные разрешения:
nano /etc/sudoers
zabbix ALL=(ALL) NOPASSWD: /usr/sbin/smartctl

Если машина долгое время была выключена и показывает неправильное время, нужно проверить и при необходимости установить правильный часовой пояс.
dpkg-reconfigure tzdata

Используемые материалы:

Zabbix Wiki, основной источник информации

https://www.zabbix.com/documentation/3.4/ru/start

Родной форум на русском

https://www.zabbix.com/forum/forumdisplay.php?f=21

Неофициальный, но очень полезный сайт:

https://www.zabbix.org/wiki/Main_Page

Поиск шаблонов:

https://share.zabbix.com/
http://monitoringartist.github.io/zabbix-searcher/
https://github.com/thecamels/zabbix

Шаблон для WSUS

https://github.com/zbx-sadman/wsus

Инсталляторы агентов для Windows 32/64

http://www.suiviperf.com/zabbix/index.php

Cisco template generator

http://ross.vc/cisco_tpl/

Мониторинг S.M.A.R.T.

https://github.com/v-zhuravlev/zbx-smartctl

Мониторим всё: расширение агентов Windows и Linux при помощи скриптов

https://habrahabr.ru/company/zabbix/blog/196218/
http://www.bog.pp.ru/work/zabbix.html

Настройка Asterisk:

https://www.zabbix.com/forum/showthread.php?t=41191
https://github.com/olindata/tribily-zabbix-templates/blob/master/App_Asterisk/Tpl_Tribily_App_Asterisk_Extended_v1.0.xml

SNMP

http://www.k-max.name/linux/snmp-protocol/
https://github.com/macrokernel/zabbix-snmpbuilder/tree/2.4.7
https://www.zabbix.org/wiki/Snmp_builder
https://habrahabr.ru/post/85156/

Мониторинг журналов безопасности:

https://habrahabr.ru/post/215509/

Мониторинг хоста Hyper-V
https://share.zabbix.com/virtualization/hyper-v/hyper-v-template-with-replication-state
https://github.com/ameiji/Zabbix-HyperV-Templates

Рекомендации по «производству» шаблонов

https://www.zabbix.org/wiki/Docs/template_guidelines
http://neskripit.ru/blogs/blogs-all/viewpost/724
http://saradmin.ru/?p=1542

Мониторинг свичей D-Link

https://share.zabbix.com/official-templates/template-modules-pack
https://share.zabbix.com/official-templates/network-devices/template-net-d-link-des-dgs-switch-snmpv2

Работа с сервисами в CentOS

http://www.putorius.net/2014/07/start-services-on-boot-in-red-hat-7-or.html

Мониторинг веб сайта

Zabbix как настроить мониторинг web сайта или как я мониторил питание в сети

Мониторинг состояния Windows Server (необходимость перезагрузки)

https://social.technet.microsoft.com/Forums/ru-RU/a72ebb02-c034-4bdc-8a43-72d2ab9bcb05/-?forum=WS8ru
https://gallery.technet.microsoft.com/scriptcenter/Get-PendingReboot-Query-bdb79542

PostgreSQL

https://github.com/lesovsky/zabbix-extensions/tree/master/files/postgresql

Мониторинг окончания домена

https://sysadmin-note.ru/monitorim-vremya-okonchaniya-oplaty-domena-s-pomoshhyu-zabbix/

Before I was trying to use Microsoft-Windows-Hyper-V-VMMS/Admin which is the name on Event Viewer, but on C:windowssystem32WinEvtLogs the log name is Microsoft-Windows-Hyper-V-VMMS-Admin which works !!!
всем привет! Ребят, подскажите как можно затягивать информацию из текстового файла в zabbix? Сам файл создается скриптом PS(туда сваливаются логи некоторых журналов). Пробовал вот таким ключом на zabbix-сервере: Logrt[«D:zabbixtest.txt»], но в логе агента виндового пишет: active check «Logrt[«D:zabbixtest.txt»]» is not supported
решил проблему с логом, если кому интересно, то делается это так: logrt[путь к логу,,ANSI], правда, забыл написать о решении=)

Понравилась статья? Поделить с друзьями:
  • Your windows license supports only one display language как русифицировать
  • Your windows license support only one display language перевод
  • Your windows license support only one display language как поменять язык
  • Your windows kernel has been modified faceit как решить
  • Your windows kernel has been modified faceit win 10