1. Monitor Linux with Zabbix agent
Introduction
This page walks you through the steps required to start basic monitoring of Linux machines with Zabbix. The steps described in this tutorial can be applied to any Linux-based operating system.
Who this guide is for
This guide is designed for new Zabbix users and contains the minimum set of steps required to enable basic monitoring of your Windows machine. If you are looking for deep customization options or require more advanced configuration, see Configuration section of Zabbix manual.
Prerequisites
Before proceeding with this installation guide, you must download and install Zabbix server and Zabbix frontend according to instructions for your OS.
Install Zabbix agent
Zabbix agent is the process responsible for gathering data.
Check your Zabbix server version:
zabbix_server -V
Install Zabbix agent of the same version (recommended) on the Linux machine that you want to monitor. Based on your monitoring needs, it may be the same machine, where Zabbix server is installed, or a completely different machine.
Choose the most suitable installation method:
Run as a Docker container - see the list of available images in Zabbix Docker repository.
Install from Zabbix packages (available for Alma Linux, CentOS, Debian, Oracle Linux, Raspberry Pi OS, RHEL, Rocky Linux, SUSE Linux Enterprise Server, Ubuntu).
Compile from sources.
Configure Zabbix for monitoring
Zabbix agent can collect metrics in active or passive mode (simultaneously).
A passive check is a simple data request. Zabbix server or proxy asks for some data (for example, CPU load) and Zabbix agent sends back the result to the server. Active checks require more complex processing. The agent must first retrieve from the server(s) a list of items for independent processing and then bulk send the data back. See Passive and active agent checks for more info.
Monitoring templates provided by Zabbix usually offer two alternatives - a template for Zabbix agent and a template for Zabbix agent (active). With the first option, the agent will collect metrics in passive mode. Such templates will deliver identical monitoring results, but using different communication protocols.
Further Zabbix configuration depends on whether you select a template for active or passive Zabbix agent checks.
Passive checks
Zabbix frontend
1. Log in to Zabbix frontend.
2. Create a host in Zabbix web interface.
This host will represent your Linux machine.
3. In the Interfaces parameter, add Agent interface and specify the IP address or DNS name of the Linux machine where the agent is installed.
4. In the Templates parameter, type or select Linux by Zabbix agent.
Zabbix agent
Open Zabbix agent configuration file (by default, the path is /usr/local/etc/zabbix_agentd.conf):
sudo vi /usr/local/etc/zabbix_agentd.conf
Add the IP address or DNS name of your Zabbix server to the Server parameter.
For example:
Server=192.0.2.22
Active checks
Zabbix frontend
1. Log in to Zabbix frontend.
2. Create a host in Zabbix web interface.
This host will represent your Linux machine.
3. In the Templates parameter, type or select Linux by Zabbix agent active.
Zabbix agent
Open Zabbix agent configuration file (by default, the path is /usr/local/etc/zabbix_agentd.conf):
sudo vi /usr/local/etc/zabbix_agentd.conf
Add:
- The name of the host you created in Zabbix web interface to the Hostname parameter.
- The IP address or DNS name of your Zabbix server to the ServerActive parameter.
For example:
ServerActive= 192.0.2.22
Hostname="Linux server"
View collected metrics
Congratulations! At this point, Zabbix is already monitoring your Linux machine.
To view collected metrics, open the Monitoring->Hosts menu section and click on the Latest data next to the host.
This action will open a list of all the latest metrics collected from Linux server host.
Set up problem alerts
Zabbix can notify you about a problem with your infrastructure using a variety of methods. This guide provides configuration steps for sending email alerts.
1. Go to the User settings -> Profile, switch to the tab Media and add your email.
2. Follow the guide for Receiving problem notification.
Next time, when Zabbix detects a problem you should receive an alert via email.
Test your configuration
On Linux, you can simulate high CPU load and as a result receive a problem alert by running:
cat /dev/urandom | md5sum
You may need to run several md5sum processes for CPU load to exceed the treshold.
When Zabbix detects the problem, it will appear in the Monitoring->Problems section.
If the alerts are configured, you will also receive the problem notification.
See also:
- Creating an item - how to start monitoring additional metrics (custom monitoring without templates).
- Zabbix agent items, Zabbix agent items for Windows - full list of metrics you can monitor using Zabbix agent on Windows.
- Problem escalations - how to create multi-step alert scenarios (e.g., first send message to the system administrator, then, if a problem is not resolved in 45 minutes, send message to the data center manager).