pixel

How to install Zabbix on Rocky Linux 10

Share on Social Media

Want bulletproof server monitoring? Learn how to install Zabbix on Rocky Linux 10 with this step-by-step guide. Discover powerful features, avoid common mistakes, and get set up in minutes—don’t fall behind while others level up their infrastructure! #centlinux #linux #zabbix


Table of Contents


How to install Zabbix on Rocky Linux 10

Zabbix is one of the most powerful and flexible open-source monitoring solutions available today. From tracking network devices, servers, and applications to setting up custom alerts and detailed dashboards, Zabbix does it all. Pairing it with a solid OS like Rocky Linux 10 makes for a stable, secure, and enterprise-grade monitoring environment.

If you’re a system administrator, DevOps engineer, or just an IT enthusiast looking to gain better visibility into your infrastructure, installing Zabbix on Rocky Linux 10 is a great choice. This guide will walk you through the process, step-by-step, so even if you’re not a Linux guru, you’ll still be able to set it up successfully. Let’s dive in!

How to install Zabbix on Rocky Linux 10
How to install Zabbix on Rocky Linux 10

Introduction

What is Zabbix?

Zabbix is an enterprise-class monitoring platform designed to provide real-time visibility into your entire IT infrastructure. It can monitor servers, cloud resources, containers, databases, networks, websites, and more. Zabbix works through a combination of agents, SNMP, APIs, and scripts to gather and visualize data.

Key features include:

  • Real-time monitoring and alerting
  • Auto-discovery of devices
  • Custom dashboards and graphs
  • Support for distributed monitoring
  • Integration with external tools like Slack, email, and Grafana

It’s also 100% free and open source, meaning you get enterprise-grade tools without enterprise costs. The flexibility and power of Zabbix make it a go-to solution for many organizations around the world.

Why Choose Rocky Linux 10 for Zabbix?

Rocky Linux 10 is a fantastic choice for deploying Zabbix. It’s a stable, RHEL-compatible Linux distribution created to fill the gap left by CentOS’s shift in focus. Designed with enterprise use in mind, Rocky Linux brings long-term support, reliability, and strong community backing.

Why it’s ideal for Zabbix:

  • Enterprise-grade stability
  • Binary-compatible with Red Hat Enterprise Linux (RHEL)
  • Strong support for system packages and repositories
  • Active development and community support

Combining Zabbix with Rocky Linux gives you a robust, scalable, and cost-effective solution for infrastructure monitoring. Whether you’re running on bare metal, virtual machines, or the cloud—this duo will handle it effortlessly.

Recommended Training: Zabbix 7 Application and Network Monitoring from Sean Bradley

2360122 39a6 7
show?id=oLRJ54lcVEg&bids=1597309

System Requirements and Prerequisites

Hardware Requirements for Zabbix

Before installing Zabbix, you need to make sure your system meets the basic hardware requirements. These requirements can vary depending on the number of hosts and items you want to monitor.

Here’s a general guide:

ComponentMinimumRecommended
CPU1 core2+ cores
RAM1 GB2–4 GB+
Storage1 GB5–10 GB+

If you plan to monitor a large network or use extensive dashboards and history retention, you’ll need more resources. A medium deployment might require 8+ GB RAM and multiple CPU cores.

Software Dependencies

Zabbix requires several software packages to run correctly, including:

  • Web server (Apache or Nginx)
  • Database server (MariaDB or PostgreSQL)
  • PHP (version compatible with Zabbix)
  • Required PHP modules
  • Zabbix repository packages

We’ll cover the installation of these as part of the setup process, so don’t worry if you haven’t installed them yet.

Preparing Your Rocky Linux 10 Environment

Before starting the installation:

Update Linux system:

sudo dnf update -y 
sudo dnf install epel-release -y

Set the system timezone:

sudo timedatectl set-timezone <Your_Timezone>

Disable SELinux (optional but recommended for beginners):

sudo sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 
sudo setenforce 0

Configure the hostname (optional):

sudo hostnamectl set-hostname zabbix-server

These steps prepare your Rocky Linux 10 environment for a smooth Zabbix installation. Now that the basics are in place, let’s move forward with adding the necessary repositories.

Read Also: How to install Zabbix on Rocky Linux 9


Installing and Configuring the Zabbix Repository

Adding the Zabbix Official Repository

Zabbix provides an official RPM repository that makes installation easy. You can install it directly using a single command tailored for Rocky Linux 10.

Run:

sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/10/x86_64/zabbix-release-6.0-4.el10.noarch.rpm

After that, clean the repository cache:

sudo dnf clean all

This step ensures your package manager recognizes the new repository.

Updating System Packages

Before installing anything from the new repo, update your system again to ensure compatibility:

sudo dnf update -y

This includes syncing metadata and ensures that you get the latest versions of required dependencies.

Now your system is fully ready to begin the actual installation of Zabbix components.


Installing Zabbix Server, Frontend, and Agent

Installing the Zabbix Server

With the repository in place, you can now install the core Zabbix server:

sudo dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts -y

This command pulls down all necessary packages to run the Zabbix server using MySQL/MariaDB as the database backend.

Installing the Zabbix Frontend

Zabbix comes with a PHP-based frontend that runs under Apache. It’s included in the earlier install command, but we’ll fine-tune it later when configuring PHP.

Installing the Zabbix Agent

You need the Zabbix agent installed on each system you want to monitor—including your own server:

sudo dnf install zabbix-agent -y

The agent collects local metrics like CPU, RAM, and disk usage, sending that data back to the Zabbix server.


Configuring the Database for Zabbix

Installing MariaDB Server

Zabbix requires a reliable backend database to store metrics, events, configurations, and history data. MariaDB is the preferred choice for many due to its performance and ease of setup on Rocky Linux 10.

To install MariaDB, run:

sudo dnf install mariadb-server -y

After installation, start and enable the MariaDB service:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Secure your MariaDB installation:

sudo mysql_secure_installation

You’ll be asked to set MariaDB root password and disable anonymous users, remote root login, and test databases. Follow the prompts for a more secure setup.

Creating the Zabbix Database and User

With MariaDB installed, the next step is to create a dedicated database and user for Zabbix.

Log into the MariaDB shell:

sudo mysql -u root -p

Then run the following SQL commands:

CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER zabbix@localhost IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost;
FLUSH PRIVILEGES;
EXIT;

Be sure to replace 'your_secure_password' with a strong and unique password.

Importing Initial Schema and Data

Zabbix provides SQL scripts that populate the database with the required schema and initial data. To import them:

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

Enter the Zabbix user password when prompted. This step may take a few minutes depending on your system’s speed.

Once it’s completed, your database is now ready for the Zabbix server to use.


Configuring Zabbix Server and Frontend

Editing the Zabbix Server Configuration File

Now, we need to point the Zabbix server to the database we just created.

Open the config file:

sudo nano /etc/zabbix/zabbix_server.conf

Find and update these lines:

DBName=zabbix
DBUser=zabbix
DBPassword=your_secure_password

Save and close the file.

This tells the Zabbix server how to connect to the database. Without this step, the server won’t be able to start or function properly.

Setting Up PHP for Zabbix Frontend

Zabbix frontend is a PHP application, so we need to adjust PHP settings for optimal performance.

Open the PHP configuration file for Zabbix:

sudo nano /etc/php-fpm.d/zabbix.conf

Ensure the following parameters are set (adjust the timezone accordingly):

php_value[date.timezone] = America/New_York

You can find your timezone using:

timedatectl list-timezones

Restarting and Enabling Services

Now that all configurations are done, start and enable the necessary services:

sudo systemctl restart zabbix-server zabbix-agent httpd php-fpm
sudo systemctl enable zabbix-server zabbix-agent httpd php-fpm

Check the status of services to confirm everything is running:

sudo systemctl status zabbix-server

If all services are active, congratulations—you’re almost ready to use Zabbix!


Accessing Zabbix Web Interface

With the web server running, it’s time to access the Zabbix frontend in your browser.

Open your browser and go to:

http://<your_server_ip_or_hostname>/zabbix

You should see the Zabbix setup wizard. If not, double-check that your firewall allows HTTP traffic and that Apache is running.

To allow HTTP traffic through the Linux firewall:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

Completing the Web Installer Setup

The setup wizard walks you through these steps:

  1. Check prerequisites – Ensures PHP settings, database drivers, and web server are ready.
  2. Configure database – Enter the DB details you set up:
    • DB type: MySQL
    • Host: localhost
    • Port: 3306
    • DB name: zabbix
    • DB user: zabbix
    • DB password: your_secure_password
  3. Zabbix server details – Set the server name and port.
  4. Pre-installation summary – Confirm everything looks good.
  5. Install – Completes the setup.

Once done, you’ll be redirected to the login page.

Logging into the Zabbix Dashboard

Default login credentials:

  • Username: Admin
  • Password: zabbix

After logging in, immediately change the default password for security.

The Zabbix dashboard is where you’ll configure hosts, monitor metrics, create alerts, and build dashboards.


Securing Your Zabbix Installation

Setting Strong Passwords

First and foremost, change all default passwords. Start with:

  • Zabbix web admin account
  • MariaDB root and Zabbix users
  • Any other system users or services

Use long, complex passwords and consider using a password manager for storage.

Configuring Firewall and SELinux

We already opened HTTP in the firewall, but it’s a good idea to allow HTTPS too:

sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

If you re-enabled SELinux, set the correct context:

sudo setsebool -P httpd_can_connect_zabbix=1

And apply file contexts:

sudo restorecon -Rv /etc/zabbix /etc/httpd /usr/share/zabbix

Enabling HTTPS with SSL

To secure your Zabbix frontend with SSL, you can use Let’s Encrypt:

  1. Install Certbot:
sudo dnf install certbot python3-certbot-apache -y
  1. Generate a certificate:
sudo certbot --apache -d yourdomain.com
  1. Set up auto-renewal:
sudo systemctl enable certbot-renew.timer

Now, you can access Zabbix securely at https://yourdomain.com/zabbix.


Monitoring with Zabbix

Adding Hosts and Templates

Once Zabbix is up and running, your first task is usually to add hosts—these are the servers, network devices, or applications you want to monitor.

To add a new host:

  1. Log into the Zabbix dashboard.
  2. Go to Configuration → Hosts.
  3. Click on Create Host.
  4. Enter the Host name, Visible name, and Group.
  5. Under Interfaces, add an IP address and port.
  6. Assign a Template to the host.

Templates in Zabbix are preconfigured sets of items, triggers, and graphs. Using them saves a ton of time. For example:

  • Template OS Linux – monitors CPU, memory, disk, network
  • Template App MySQL – monitors MySQL/MariaDB performance
  • Template SNMP Device – great for network switches and printers

You can also create custom templates if you have specific metrics you want to track.

Setting Up Triggers and Alerts

Triggers are conditions that evaluate your monitored data. For instance, a trigger might alert you when:

  • CPU load exceeds 90% for 5 minutes
  • Disk space falls below 10%
  • Ping to a server fails

To create a trigger:

  1. Go to Configuration → Hosts.
  2. Click on the host name.
  3. Navigate to Triggers and click Create Trigger.
  4. Set the name, expression (e.g., {host:system.cpu.load[percpu,avg1].last()}>5), severity, and dependencies.

Alerts in Zabbix are configured under Media Types and Actions:

  • Media Types – Email, SMS, Slack, Telegram, webhook, etc.
  • Actions – What should happen when a trigger fires (e.g., send a message).

Zabbix allows for escalations, recovery messages, time-based notifications, and more, giving you full control over your alerting logic.

Creating Custom Dashboards

Zabbix dashboards give you an overview of system health, network performance, and any issues that need your attention.

To create a dashboard:

  1. Go to Monitoring → Dashboards.
  2. Click Create Dashboard.
  3. Name it, assign permissions, and add widgets.

Popular widgets include:

  • System status overview
  • Top hosts by CPU load
  • Problems view
  • Custom graphs
  • Maps and topology views

You can make dashboards public or restrict access to certain user groups, making them perfect for both teams and clients.


Troubleshooting Common Issues

Zabbix Server Not Starting

One of the most frustrating issues is when the Zabbix server fails to start. To troubleshoot:

  1. Check the service status:
sudo systemctl status zabbix-server
  1. Check logs:
sudo tail -f /var/log/zabbix/zabbix_server.log

Common causes:

  • Incorrect DB credentials
  • Database not running
  • Port conflicts
  • Missing schema import

Fix any misconfigurations in /etc/zabbix/zabbix_server.conf and ensure MariaDB is active.

Web Interface Not Loading

If the frontend isn’t loading:

  • Confirm Apache and PHP-FPM are running:
sudo systemctl status httpd php-fpm
  • Check PHP and Apache logs:
sudo tail -f /var/log/httpd/error_log
sudo tail -f /var/log/php-fpm/www-error.log
  • Ensure port 80/443 is open in the firewall:
sudo firewall-cmd --list-all

Also verify that the hostname or IP you’re accessing matches your server and that DNS is resolving properly.

Database Connection Problems

If Zabbix shows errors connecting to the database:

  • Recheck the DB credentials in the zabbix_server.conf
  • Make sure the Zabbix user has the correct privileges
  • Confirm MariaDB is listening on localhost:3306
  • Check for typos in the SQL import step

Use this to test DB connection manually:

mysql -uzabbix -p -h localhost zabbix

If it connects, the issue is likely in the Zabbix config file.


Upgrading and Maintaining Zabbix

Keeping Zabbix Updated

Zabbix regularly releases updates for performance, features, and security. To upgrade:

  1. Back up your Zabbix DB and config files.
  2. Update the Zabbix repository to the latest version.
  3. Run:
sudo dnf upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent
  1. Restart the services:
sudo systemctl restart zabbix-server zabbix-agent httpd php-fpm

Always read the official upgrade notes before applying updates.

Backing Up Zabbix Data

Regular backups are essential for disaster recovery.

Backup the database:

mysqldump -u root -p zabbix > zabbix_backup.sql

Also, back up config files:

tar -czvf zabbix_configs.tar.gz /etc/zabbix /etc/httpd /etc/php-fpm.d

Automate these backups using cron jobs or backup tools like Bacula or Duplicati.

Performance Optimization Tips

As your Zabbix instance grows, performance tuning becomes critical.

Tips:

  • Enable database partitioning
  • Tune MariaDB for Zabbix with InnoDB buffer pool adjustments
  • Use proxy servers for distributed monitoring
  • Disable unused features/templates
  • Optimize trigger expressions and discovery rules

Monitoring your own Zabbix server using Zabbix itself is a smart way to stay proactive.


Integrating Zabbix with Other Tools

Zabbix and Grafana

Grafana is a popular dashboard tool that many admins prefer for its sleek UI and flexible visualizations. You can integrate it with Zabbix using the official plugin.

Steps:

  1. Install Grafana and Zabbix plugin:
grafana-cli plugins install alexanderzobnin-zabbix-app
  1. Configure the Zabbix data source with API access.
  2. Build custom dashboards with graphs, charts, and panels.

This is especially useful for NOC screens or executive reporting.

Zabbix API Usage

The Zabbix API allows you to automate tasks like adding hosts, retrieving metrics, or creating alerts.

Basic usage involves:

  • Authenticating with a user token
  • Sending JSON-RPC calls over HTTP

Example: Getting a list of all hosts:

curl -X POST -H 'Content-Type: application/json' -d '{
 "jsonrpc": "2.0",
 "method": "host.get",
 "params": {"output": ["hostid","name"]},
 "auth": "your_auth_token",
 "id": 1
}' http://yourdomain.com/zabbix/api_jsonrpc.php

This is ideal for integrating Zabbix with CI/CD pipelines or external inventory systems.

Integrations for Slack, Telegram, and Email

Zabbix supports multiple notification methods. You can send alerts to:

  • Slack – via webhook and custom scripts
  • Telegram – using a bot and custom media type
  • Email – built-in support via SMTP

Set these up under Administration → Media types, and link them with Users and Actions.

With the right integration, you’ll never miss an important alert again—even on the go.


Conclusion

Installing Zabbix on Rocky Linux 10 isn’t just about spinning up a monitoring tool—it’s about gaining complete visibility and control over your infrastructure. From the initial repository setup to configuring the web interface, database, and fine-tuning security, every step is designed to build a resilient monitoring system that scales with your environment.

Zabbix’s strength lies in its flexibility. Whether you’re a sysadmin monitoring a handful of Linux servers or an enterprise-level IT team managing hundreds of devices across the globe, Zabbix adapts to your needs. The real-time graphs, intelligent alerts, integrations, and automation make it not just a monitoring solution, but an operational command center.

With Rocky Linux 10 as its foundation, you benefit from enterprise-grade reliability without vendor lock-in or subscription costs. And the best part? It’s all free and open-source.

By following this guide, you’ve gone from zero to a fully operational Zabbix server. But this is just the beginning. Dive into advanced topics like custom scripting, SNMP traps, and distributed proxies to take your setup to the next level. Your infrastructure will thank you.

Struggling with AWS or Linux server issues? I specialize in configuration, troubleshooting, and security to keep your systems performing at their best. Check out my Fiverr profile for details.


Frequently Asked Questions (FAQs)

1. Can I install Zabbix on a minimal Rocky Linux installation?

Absolutely. A minimal Rocky Linux 10 installation works just fine. You’ll need to manually install all necessary packages, such as Apache, MariaDB, PHP, and other dependencies. The steps covered in this guide include everything you need to make it work on a minimal install.


2. How do I reset the Zabbix admin password?

If you’ve lost access to the Zabbix frontend, you can reset the password using the database:

UPDATE users SET passwd=md5('new_password') WHERE alias='Admin';

Run this SQL inside your Zabbix database. Replace 'new_password' with your desired password.


3. Is it possible to monitor Windows servers with Zabbix?

Yes! Zabbix has a native agent for Windows. Simply download and install the agent on your Windows host, configure the host settings, and link it to the Template OS Windows. From there, you can monitor CPU, disk, services, and more.


4. Can I use PostgreSQL instead of MariaDB with Zabbix?

Yes, Zabbix supports both MariaDB/MySQL and PostgreSQL. During installation, choose the appropriate server package (e.g., zabbix-server-pgsql), and follow the same setup steps, replacing MariaDB commands with PostgreSQL equivalents.


5. What’s the default login for Zabbix frontend?

After completing the web installation wizard, you can log in with:

  • Username: Admin
  • Password: zabbix

Make sure to change this default password immediately after the first login to secure your setup.


Looking for something?

Leave a Reply