1. Zabbix简介与版本说明
Zabbix是企业级开源监控解决方案,支持网络监控、服务器监控、应用监控等多种场景。Zabbix采用分布式架构,支持大规模监控部署。更多学习教程www.fgedu.net.cn
Zabbix最新版本:
Zabbix 7.2.4(2026年3月发布)- 最新稳定版
Zabbix 7.0.10(2026年3月发布)- LTS长期支持版
Zabbix 6.4.18(2026年2月发布)- 旧版维护
Zabbix 6.0.35(2026年2月发布)- LTS长期支持版
Zabbix核心组件:
Zabbix Server:核心服务端,负责数据收集和处理
Zabbix Agent:客户端代理,安装在目标主机上
Zabbix Proxy:代理服务,用于分布式监控
Zabbix Web:Web管理界面
Zabbix Java Gateway:Java应用监控网关
2. Zabbix下载地址
Zabbix支持多种操作系统和数据库,可以从官方下载页面获取。学习交流加群风哥微信: itpux-com
官方下载地址:
Zabbix官方网站:https://www.zabbix.com/
Zabbix下载页面:https://www.zabbix.com/download
Zabbix源码仓库:https://git.zabbix.com/projects/ZBX/repos/zabbix/browse
$ curl -s “https://api.github.com/repos/zabbix/zabbix/releases/latest” | grep -E ‘”tag_name”|”name”|”published_at”‘
输出示例如下:
“tag_name”: “7.2.4”,
“name”: “Zabbix 7.2.4”,
“published_at”: “2026-03-15T10:00:00Z”,
# 查看所有可用版本
$ curl -s “https://api.github.com/repos/zabbix/zabbix/releases” | grep ‘”tag_name”‘ | head -10
输出示例如下:
“tag_name”: “7.2.4”,
“tag_name”: “7.0.10”,
“tag_name”: “6.4.18”,
“tag_name”: “6.0.35”,
“tag_name”: “7.2.3”,
“tag_name”: “7.0.9”,
各平台下载链接:
源码包:https://cdn.zabbix.com/zabbix/sources/stable/7.2/zabbix-7.2.4.tar.gz
RHEL/CentOS RPM包:https://repo.zabbix.com/zabbix/7.2/rhel/8/x86_64/
Ubuntu/Debian DEB包:https://repo.zabbix.com/zabbix/7.2/ubuntu/pool/main/z/zabbix/
Windows Agent:https://cdn.zabbix.com/zabbix/binaries/stable/7.2/7.2.4/zabbix_agent-7.2.4-windows-amd64.zip
3. Zabbix Server安装部署
Zabbix Server支持多种安装方式,包括包管理器安装、源码编译安装、Docker容器部署等。风哥提示:生产环境建议使用LTS版本,确保长期支持和稳定性。
步骤1:配置Zabbix仓库
# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/8/x86_64/zabbix-release-7.0-5.el8.noarch.rpm
输出示例如下:
Retrieving https://repo.zabbix.com/zabbix/7.0/rhel/8/x86_64/zabbix-release-7.0-5.el8.noarch.rpm
Preparing… ################################# [100%]
Updating / installing…
1:zabbix-release-7.0-5.el8 ################################# [100%]
# 清理缓存
# dnf clean all
输出示例如下:
36 files removed
# Ubuntu/Debian
$ wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-5+ubuntu22.04_all.deb
$ sudo dpkg -i zabbix-release_7.0-5+ubuntu22.04_all.deb
输出示例如下:
Selecting previously unselected package zabbix-release.
(Reading database … 150000 files and directories currently installed.)
Preparing to unpack zabbix-release_7.0-5+ubuntu22.04_all.deb …
Unpacking zabbix-release (7.0-5+ubuntu22.04) …
Setting up zabbix-release (7.0-5+ubuntu22.04) …
$ sudo apt update
输出示例如下:
Get:1 https://repo.zabbix.com/zabbix/ubuntu jammy InRelease [15.3 kB]
Get:2 https://repo.zabbix.com/zabbix/ubuntu jammy/main amd64 Packages [45.2 kB]
Fetched 60.5 kB in 2s (30.2 kB/s)
Reading package lists… Done
步骤2:安装Zabbix Server和Web
# dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
输出示例如下:
Last metadata expiration check: 0:00:15 ago on Sat Apr 4 10:00:00 2026.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
zabbix-agent x86_64 7.0.10-1.el8 zabbix 550 k
zabbix-nginx-conf x86_64 7.0.10-1.el8 zabbix 25 k
zabbix-server-mysql x86_64 7.0.10-1.el8 zabbix 2.5 M
zabbix-sql-scripts x86_64 7.0.10-1.el8 zabbix 1.2 M
zabbix-web-mysql x86_64 7.0.10-1.el8 zabbix 15 k
Transaction Summary
================================================================================
Install 15 Packages
Total download size: 15 M
Installed size: 45 M
Downloading Packages:
(1/15): zabbix-agent-7.0.10-1.el8.x86_64.rpm 1.5 MB/s | 550 kB 00:00
…
Complete!
步骤3:创建数据库
# mysql -uroot -p
输出示例如下:
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.36 MySQL Community Server – GPL
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
输出示例如下:
Query OK, 1 row affected (0.01 sec)
mysql> create user zabbix@localhost identified by ‘Zabbix@2026’;
输出示例如下:
Query OK, 0 rows affected (0.02 sec)
mysql> grant all privileges on zabbix.* to zabbix@localhost;
输出示例如下:
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
输出示例如下:
Query OK, 0 rows affected (0.01 sec)
mysql> quit;
输出示例如下:
Bye
# 导入初始架构和数据
# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql –default-character-set=utf8mb4 -uzabbix -p zabbix
输出示例如下:
Enter password:
步骤4:配置Zabbix Server
# vi /etc/zabbix/zabbix_server.conf
# 修改数据库配置
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix@2026
# 配置其他参数
ListenPort=10051
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=100
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
StartPollers=20
StartPollersUnreachable=5
StartTrappers=10
StartPingers=10
StartDiscoverers=5
StartHTTPPollers=5
StartTimers=5
StartEscalators=5
StartAlerters=5
CacheSize=256M
CacheUpdateFrequency=60
StartDBSyncers=8
HistoryCacheSize=128M
HistoryIndexCacheSize=64M
TrendCacheSize=64M
ValueCacheSize=256M
# 启动Zabbix Server
# systemctl restart zabbix-server
# systemctl enable zabbix-server
输出示例如下:
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-server.service → /usr/lib/systemd/system/zabbix-server.service.
# 查看服务状态
# systemctl status zabbix-server
输出示例如下:
● zabbix-server.service – Zabbix Server
Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2026-04-04 10:00:00 CST; 10s ago
Main PID: 12345 (zabbix_server)
Tasks: 38 (limit: 49143)
Memory: 128.0M
CGroup: /system.slice/zabbix-server.service
├─12345 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
└─12346 /usr/sbin/zabbix_server: configuration syncer [synced config in 0.015429 sec, idle 60 sec]
步骤5:配置Web前端
# vi /etc/php-fpm.d/zabbix.conf
# 修改时区
php_value[date.timezone] = Asia/Shanghai
# 配置Nginx
# vi /etc/nginx/conf.d/zabbix.conf
server {
listen 80;
server_name zabbix.fgedu.net.cn;
root /usr/share/zabbix;
index index.php;
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/zabbix.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
# 启动服务
# systemctl restart php-fpm nginx
# systemctl enable php-fpm nginx
输出示例如下:
Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.
# 访问Web界面完成安装向导
# http://zabbix.fgedu.net.cn/setup.php
4. Zabbix Agent安装配置
Zabbix Agent部署在被监控主机上,负责收集监控数据。学习交流加群风哥QQ113257174
步骤1:安装Zabbix Agent
# dnf install -y zabbix-agent
输出示例如下:
Last metadata expiration check: 0:00:15 ago on Sat Apr 4 10:00:00 2026.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
zabbix-agent x86_64 7.0.10-1.el8 zabbix 550 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 550 k
Installed size: 2.0 M
Downloading Packages:
zabbix-agent-7.0.10-1.el8.x86_64.rpm 1.5 MB/s | 550 kB 00:00
——————————————————————————–
Total 1.5 MB/s | 550 kB 00:00
Complete!
步骤2:配置Zabbix Agent
# vi /etc/zabbix/zabbix_agentd.conf
# 修改基本配置
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=100
# 配置Server地址
Server=192.168.1.51
ServerActive=192.168.1.51
# 配置主机名
Hostname=fgedu-server-01
# 配置主动模式
RefreshActiveChecks=60
BufferSend=5
BufferSize=100
MaxLinesPerSecond=100
# 启动Agent
# systemctl restart zabbix-agent
# systemctl enable zabbix-agent
输出示例如下:
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent.service → /usr/lib/systemd/system/zabbix-agent.service.
# 验证Agent状态
# systemctl status zabbix-agent
输出示例如下:
● zabbix-agent.service – Zabbix Agent
Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2026-04-04 10:00:00 CST; 10s ago
Main PID: 12345 (zabbix_agentd)
Tasks: 3 (limit: 49143)
Memory: 8.0M
CGroup: /system.slice/zabbix-agent.service
├─12345 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
├─12346 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
└─12347 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
步骤3:Windows系统安装Agent
# https://cdn.zabbix.com/zabbix/binaries/stable/7.0/7.0.10/zabbix_agent-7.0.10-windows-amd64.zip
# 解压到C:\zabbix目录
# 编辑配置文件 C:\zabbix\conf\zabbix_agentd.conf
LogFile=C:\zabbix\zabbix_agentd.log
Server=192.168.1.51
ServerActive=192.168.1.51
Hostname=windows-server-01
# 安装为Windows服务
C:\zabbix\bin> zabbix_agentd.exe –install –config “C:\zabbix\conf\zabbix_agentd.conf”
输出示例如下:
zabbix_agentd.exe [12345]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [12345]: event source [Zabbix Agent] installed successfully
# 启动服务
C:\zabbix\bin> net start “Zabbix Agent”
输出示例如下:
Zabbix Agent 服务正在启动 .
Zabbix Agent 服务已经启动成功。
5. Zabbix监控配置实战
Zabbix监控配置包括主机添加、监控项配置、触发器配置、告警配置等。更多学习教程公众号风哥教程itpux_com
步骤1:添加监控主机
# zabbix_get -s 192.168.1.52 -k agent.ping
输出示例如下:
1
# 获取系统信息
# zabbix_get -s 192.168.1.52 -k system.uname
输出示例如下:
Linux fgedu-server-02 5.4.17-2136.302.7.2.el7uek.x86_64 #1 SMP Tue Mar 15 10:00:00 PST 2026 x86_64
# 获取CPU负载
# zabbix_get -s 192.168.1.52 -k system.cpu.load[all,avg1]
输出示例如下:
0.150000
# 获取内存使用情况
# zabbix_get -s 192.168.1.52 -k vm.memory.size[available]
输出示例如下:
64424509440
# 获取磁盘使用情况
# zabbix_get -s 192.168.1.52 -k vfs.fs.size[/,pfree]
输出示例如下:
85.500000
步骤2:使用API添加主机
$ curl -s -X POST -H “Content-Type: application/json” -d ‘
{
“jsonrpc”: “2.0”,
“method”: “user.login”,
“params”: {
“user”: “Admin”,
“password”: “zabbix”
},
“id”: 1,
“auth”: null
}’ http://192.168.1.51/zabbix/api_jsonrpc.php | python3 -m json.tool
输出示例如下:
{
“jsonrpc”: “2.0”,
“result”: “abc123def456789…”,
“id”: 1
}
# 添加主机
$ curl -s -X POST -H “Content-Type: application/json” -d ‘
{
“jsonrpc”: “2.0”,
“method”: “host.create”,
“params”: {
“host”: “fgedu-server-02”,
“interfaces”: [
{
“type”: 1,
“main”: 1,
“useip”: 1,
“ip”: “192.168.1.52”,
“dns”: “”,
“port”: “10050”
}
],
“groups”: [
{
“groupid”: “2”
}
],
“templates”: [
{
“templateid”: “10001”
}
]
},
“auth”: “abc123def456789…”,
“id”: 1
}’ http://192.168.1.51/zabbix/api_jsonrpc.php | python3 -m json.tool
输出示例如下:
{
“jsonrpc”: “2.0”,
“result”: {
“hostids”: [
“10256”
]
},
“id”: 1
}
6. Zabbix生产环境配置
生产环境需要对Zabbix进行优化配置,确保稳定性和性能。from:www.itpux.com
步骤1:优化数据库配置
# mysql -uzabbix -p zabbix
mysql> CALL partition_create(‘zabbix’, ‘history’, ‘2026-04-05 00:00:00’, ‘2026-04-06 00:00:00’);
输出示例如下:
+—————-+—————-+—————-+
| table | partition_name | partition_rows |
+—————-+—————-+—————-+
| zabbix.history | p20260405 | 0 |
+—————-+—————-+—————-+
1 row in set (0.05 sec)
# 配置Housekeeper
# vi /etc/zabbix/zabbix_server.conf
# 历史数据保留时间(天)
HistoryStorageDateIndex=1
# 趋势数据保留时间(天)
TrendStorageDateIndex=1
# 配置数据库连接池
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306
StartDBSyncers=8
步骤2:配置告警通知
# mkdir -p /usr/lib/zabbix/alertscripts
# 创建邮件告警脚本
# cat > /usr/lib/zabbix/alertscripts/sendmail.sh << 'EOF'
#!/bin/bash
to=$1
subject=$2
body=$3
echo "$body" | mail -s "$subject" "$to"
EOF
# 添加执行权限
# chmod +x /usr/lib/zabbix/alertscripts/sendmail.sh
# 创建微信告警脚本
# cat > /usr/lib/zabbix/alertscripts/wechat.py << 'EOF'
#!/usr/bin/env python3
import requests
import json
import sys
def send_wechat(to_user, subject, content):
webhook = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY"
data = {
"msgtype": "text",
"text": {
"content": f"{subject}\n{content}",
"mentioned_list": [to_user]
}
}
requests.post(webhook, json=data)
if __name__ == "__main__":
send_wechat(sys.argv[1], sys.argv[2], sys.argv[3])
EOF
# chmod +x /usr/lib/zabbix/alertscripts/wechat.py
# 重启Zabbix Server
# systemctl restart zabbix-server
步骤3:配置性能监控
# zabbix_server -R ha_status
输出示例如下:
Zabbix HA manager status:
Local node: active
Cluster nodes:
node1: active (this node)
node2: standby
# 查看缓存状态
# zabbix_server -R cache_status
输出示例如下:
Zabbix server cache status:
Used: 45.2%
Free: 54.8%
Total: 256 MB
# 查看队列状态
# zabbix_server -R queue_status
输出示例如下:
Items delayed by 5m: 0
Items delayed by 10m: 0
Items delayed by 1h: 0
Items delayed by 1d: 0
# 查看性能指标
# zabbix_get -s 127.0.0.1 -k zabbix[rcache,buffer,pfree]
输出示例如下:
54.80
# zabbix_get -s 127.0.0.1 -k zabbix[wcache,history,pfree]
输出示例如下:
75.50
# zabbix_get -s 127.0.0.1 -k zabbix[queue,10m]
输出示例如下:
0
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
