The Zabbix agent is a lightweight daemon that runs on hosts you want to monitor. It collects metrics (CPU, memory, disk, processes, logs, and more) and sends them to the Zabbix server or proxy on demand (passive checks) or on a schedule (active checks). This guide walks you through installing and configuring the Zabbix agent on Rocky Linux and AlmaLinux 8 or 9, enabling it with systemd, and opening the correct firewall port.
In this guide you’ll learn:
- How to add the Zabbix repository and install the Zabbix agent on Rocky Linux / AlmaLinux
- How to configure
Server,ServerActive, andHostnameinzabbix_agentd.conf - How to allow port 10050 (firewalld), handle SELinux, and start/enable the agent
Check types:
- Passive checks – The Zabbix server or proxy connects to the agent on port 10050 and requests data.
- Active checks – The agent connects out to the server/proxy and pushes data periodically.
If you need to set up the server, see How to Install and Configure Zabbix Server 5 on Rocky Linux/Alma Linux 8 or Zabbix Server 6 on Rocky Linux/Alma Linux 9.
Related Zabbix guides:
- How to Add Host in Zabbix Server to Monitor
- How to Install and Configure Zabbix Agent on OpenSUSE Leap 15.3
Ensure the server packages are up to date
Before proceeding, let us make sure that our server packages are up to date with this command:
| |
Let us also install some common packages that we will need:
| |
Install the Zabbix Agent
The Zabbix agent packages are not available under the default Rocky Linux 8 repositories. We will need to configure the Zabbix repository in our system before installing the agent.
At the time this article was written, the Zabbix 5.4 repository was current. If you want a newer major version, use the appropriate repo (for example Zabbix 6.x/7.x) and package names from Zabbix.
Install the Zabbix 5.4 repository using this command:
| |
Once the repository is installed, we can install the agent:
| |
Confirm the software version installed:
| |
Configure Zabbix Agent
Now configure the agent so it knows which Zabbix server/proxy to talk to, and so the host is identified correctly.
Edit the Zabbix agent configuration file:
| |
Update (or add) these settings (replace the IP and hostname with your values):
| |
Notes:
Serveris used for passive checks (server/proxy connects to the agent).ServerActiveis used for active checks (agent connects out to server/proxy).Hostnamemust match the host name you create in the Zabbix UI (unless you use auto-registration).
Adjust the firewall (if enabled)
If firewalld is enabled, allow inbound TCP port 10050 so the server/proxy can reach the agent for passive checks.
Note: port 10051 is used by the Zabbix server/proxy, not the agent, so you usually do not need it open on an agent host.
| |
SELinux
You do not need to disable SELinux just to run the Zabbix agent. The “frontend in a browser” applies to the Zabbix server host, not the agent host.
If you run into SELinux-related issues, check logs with sudo ausearch -m AVC -ts recent and address the specific denial rather than setting the whole system to permissive.
Start and enable the Zabbix agent
Start the agent (it is not started by default):
| |
Check the status to confirm that it is started.
| |
From the above output, we can confirm that the agent is running. To enable the agent to start on boot, use this command:
| |
Frequently Asked Questions (FAQ)
What is the Zabbix agent?
The Zabbix agent is a small service installed on each host you want to monitor. It gathers system and application metrics and provides them to the Zabbix server (or proxy) via passive checks (server pulls) or active checks (agent pushes). It listens on TCP port 10050 by default.
What port does the Zabbix agent use?
The Zabbix agent listens on TCP port 10050. The Zabbix server uses port 10051. On the agent host you only need to open 10050 (e.g. with firewalld) so the server can perform passive checks.
Where is the Zabbix agent config file?
The main config file is /etc/zabbix/zabbix_agentd.conf. Key settings include Server (allowed server IPs for passive checks), ServerActive (server/proxy for active checks), and Hostname (must match the host name in the Zabbix UI).
Do I need to disable SELinux for the Zabbix agent?
No. The Zabbix agent runs fine with SELinux enabled. If you see denials, use sudo ausearch -m AVC -ts recent and fix the specific rule instead of setting SELinux to permissive.
Conclusion
You now have the Zabbix agent installed and configured on Rocky Linux or AlmaLinux 8/9, with the service enabled and (if applicable) firewall port 10050 open. Add this host in the Zabbix frontend using the same Hostname as in zabbix_agentd.conf; see How to Add Host in Zabbix Server to Monitor for the steps.