Depending on your home lab or commercial IT setup, keeping your servers, PCs, and smart devices running smoothly requires monitoring them. Enter Zabbix, a powerful open-source monitoring platform that detects system health, detects issues, and even generates alerts automatically. However, you can also install Zabbix on your Raspberry Pi and create a lightweight and low-power monitoring solution.

Then (in this tutorial), we will show you how to set up Zabbix to monitoring servers and PCs as well as IoT devices and other network hardware, on a Raspberry Pi. If you’re an IT pro, home lab user, or just someone learning to use network monitoring, this guide will help you build a cheap and cost-efficient monitoring system. Let’s begin!

  • Update your Raspberry Pi Using Below CoPreparing the Raspberry Pi
  • Install Raspberry Pi OS or Ubuntu
  • Download and flash the Raspberry Pi OS Lite (best for servers) or Ubuntu Server using Raspberry Pi Imager.
  • Enable SSH access if necessary (sudo raspi-config → Enable SSH).

Login to your ROOT account

sudo passwd root

Update your Raspberry Pi using below command:

sudo apt update && sudo apt upgrade -y

Install Zabbix repository:

wget https://repo.zabbix.com/zabbix/7.0/raspbian/pool/main/z/zabbix-release/zabbix-release_latest_7.0+debian12_all.deb
sudo dpkg -i zabbix-release_latest_7.0+debian12_all.deb

apt update

Install Required Dependencies for Zabbix:

sudo apt install -y apache2 mariadb-server mariadb-client php php-mysql php-bcmath php-mbstring php-xml php-gd php-ldap php-zip libapache2-mod-php

Start and Enable MariaDB:

sudo systemctl enable mariadb
sudo systemctl start mariadb

Secure the database:(Set a root password, Remove anonymous users, Disallow remote root login, Remove test databases.)

sudo mysql_secure_installation

Install Zabbix Server, Frontend & Agent:

sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

Configure MariaDB for Zabbix:

sudo mysql -u root -p

Create Zabbix database and user:

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

Import Zabbix database schema:

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

Configure Zabbix Server:

sudo nano /etc/zabbix/zabbix_server.conf

Set the database password:

DBPassword=zabbix_password

Start and Enable Zabbix Services:

sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2

Configure Zabbix Web Interface:

http://Your_RaspberryPi_IP/zabbix
Username: Admin
Password: zabbix

Leave A Reply

Please enter your comment!
Please enter your name here