DEV Community

Cover image for Monitoring Ubuntu, Windows, and RHEL Servers with Zabbix (Part 2)
Morodolu Oluwafikunayomi
Morodolu Oluwafikunayomi

Posted on

Monitoring Ubuntu, Windows, and RHEL Servers with Zabbix (Part 2)

In Part 1, we installed the Zabbix Server on Ubuntu 22.04, configured the MySQL database, and started the required services.

At this point, the server is running, but it isn't monitoring anything yet.

In this article, we'll:

Complete the Zabbix web setup wizard
Install the Zabbix Agent on Windows Server
Install the Zabbix Agent on RHEL 10
Add both systems to Zabbix
Verify that data is being collected

By the end of this guide, you'll have a centralized monitoring platform collecting metrics from multiple operating systems.
Understanding Zabbix Agents

The Zabbix Server collects information from monitored systems using agents.

These agents gather metrics such as:

CPU utilization
Memory consumption
Disk usage
Network traffic
Running services
System uptime

The collected data is then displayed on the Zabbix dashboard and can be used to generate alerts.

For this lab, we'll install agents on:

Windows Server
Red Hat Enterprise Linux 10
Installing the Zabbix Agent on Windows Server

Download Zabbix Agent 2 from the official Zabbix website.

After launching the installer, provide:

Server=
Hostname=

Configuring the Windows Firewall

The Zabbix Server communicates with the agent using TCP port 10050.

Open PowerShell as Administrator and run:

netsh advfirewall firewall add rule name="Allow TCP 10050" dir=in action=allow protocol=TCP localport=10050
Enter fullscreen mode Exit fullscreen mode

Verify the Zabbix service is running:

Get-Service "Zabbix Agent 2"
Enter fullscreen mode Exit fullscreen mode

Expected output:

Status   Name
------   ----
Running  Zabbix Agent 2
Enter fullscreen mode Exit fullscreen mode

Installing the Zabbix Agent on RHEL 10
Next, let's onboard our Red Hat server.

Add the Zabbix repository:

sudo rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/10/x86_64/zabbix-release-latest-7.0.el10.noarch.rpm
Enter fullscreen mode Exit fullscreen mode

Install the agent:

sudo dnf install zabbix-agent2 -y
Enter fullscreen mode Exit fullscreen mode

Configuring the Agent

Edit the configuration file:

sudo nano /etc/zabbix/zabbix_agent2.conf
Enter fullscreen mode Exit fullscreen mode

Update the following parameters:

Server=192.168.1.100
ServerActive=192.168.1.100
Hostname=RHEL10-SRV01

Where:

Server = Zabbix Server IP
ServerActive = Zabbix Server IP
Hostname = Host name displayed inside Zabbix

Save the file.
Starting the Agent Service

Enable and start the service:

sudo systemctl enable --now zabbix-agent2

Enter fullscreen mode Exit fullscreen mode

Verify:

sudo systemctl status zabbix-agent2
Enter fullscreen mode Exit fullscreen mode

You should see:

active (running)
Configuring the Firewall

Allow inbound traffic on TCP port 10050:


sudo firewall-cmd --permanent --add-port=10050/tcp
sudo firewall-cmd --reload
Enter fullscreen mode Exit fullscreen mode

Verify the port is listening:


ss -tlnp | grep 10050
Enter fullscreen mode Exit fullscreen mode

Adding Windows Server to Zabbix

Navigate to:

Data Collection → Hosts

Click:

Create Host

Enter:

Host Name:
Visible Name: Windows Server

Add the Agent interface:

IP Address:
Port: 10050
Under Templates, select:

Windows by Zabbix agent

Save the host.

Adding RHEL 10 to Zabbix

Repeat the same process.

At this stage, we now have a fully functional monitoring environment.

Our Ubuntu server is running Zabbix, while both Windows Server and RHEL 10 are sending performance metrics back to a centralized dashboard.

The ability to monitor different operating systems from a single platform is one of the reasons Zabbix remains a popular choice in enterprise environments.

In Part 3, we'll explore triggers, dashboards, graphs, notifications, and alerting so that Zabbix can automatically notify us when something goes wrong instead of waiting for users to report issues.

Top comments (0)