zabbix快速搭建和使用

前言:Zabbix Web 登录与 Admin 密码重置

1. Web 访问方式

  • 访问地址:http://Zabbix服务器IP/zabbix
  • 默认用户名:Admin
  • 默认密码:zabbix

2. 遗忘 Admin 密码解决方案

用户信息存储在 Zabbix 数据库中,通过数据库操作重置密码。

(1)查询 Admin 用户信息
复制代码
-- 登录 MariaDB/MySQL
MariaDB [(none)]> use zabbix;
-- 查询 Admin 用户完整信息
MariaDB [(none)]> select * from zabbix.users where username='Admin'\G

查询结果字段说明:

  • userid:用户 ID,固定为 1
  • username:登录用户名,Admin
  • name:名称,Zabbix
  • surname:姓氏,Administrator
  • passwd:加密后的密码串
  • lang:界面语言,zh_CN(简体中文)
  • roleid:角色 ID,3 代表超级管理员
(2)重置 Admin 密码

文档中alias='Admin'错误,Zabbix 7.0 字段为username

复制代码
-- 将密码重置为 password(可自定义)
mysql> UPDATE zabbix.users SET passwd=md5('password') WHERE username='Admin';
-- 刷新权限,立即生效
mysql> FLUSH PRIVILEGES;

打开zabbix的web界面出现可能为selinux问题:

复制代码
[root@zabbix ~]# setsebool -P httpd_can_network_connect on
[root@zabbix ~]# systemctl restart nginx php-fpm zabbix-server

5.1 Zabbix 标准配置流程

完整配置链路

数据采集 → Host groups(主机群组)Hosts(主机)Applications(监控项组)Items(监控项)Triggers(触发器)Problems(故障)Actions(处理动作)User groups(用户组)Users(用户)Medias(告警方式)Action log(日志审计)

核心简化原则

实际使用中,监控项、触发器、图形无需逐台手动配置 ,通过模板批量配置即可;模板是对监控配置的抽象,可链接到同类设备,实现配置复用。


5.2 添加主机组(Host groups)

5.2.1 主机组划分原则(文档原文)

分组目的:对同一属性的主机、模板分类管理;Zabbix 强制要求:主机 / 模板必须归属一个组。划分维度:

  1. 地理位置划分
  2. 业务单元划分
  3. 机器用途划分
  4. 系统版本划分
  5. 应用程序划分
  6. 其他自定义方式

5.2.2 Web 界面创建主机组

操作路径:【数据采集】→【主机群组】→【创建主机群组】

  • 填写群组名称 → 点击添加,完成创建
  • 组信息永久存储在 Zabbix 数据库中
复制代码
MariaDB [zabbix]> select * from hstgrp;
+---------+------------------------------+-------+----------------------------------+------+
| groupid | name                         | flags | uuid                             | type |
+---------+------------------------------+-------+----------------------------------+------+
|       1 | Templates                    |     0 | 7df96b18c230490a9a0a9e2307226338 |    1 |
|       2 | Linux servers                |     0 | dc579cd7a1a34222933f24f52a68bcd8 |    0 |
|       4 | Zabbix servers               |     0 | 6f6799aa69e844b4b3918f779f2abf08 |    0 |
|       5 | Discovered hosts             |     0 | f2481361f99448eea617b7b1d4765566 |    0 |
|       6 | Virtual machines             |     0 | 137f19e6e2dc4219b33553b812627bc2 |    0 |
|       7 | Hypervisors                  |     0 | 1b837a3c078647049a0c00c61b4d57b5 |    0 |
|       9 | Templates/Network devices    |     0 | 36bff6c29af64692839d077febfc7079 |    1 |
|      10 | Templates/Operating systems  |     0 | 846977d1dfed4968bc5f8bdb363285bc |    1 |
|      11 | Templates/Server hardware    |     0 | e960332b3f6c46a1956486d4f3f99fce |    1 |
|      12 | Templates/Applications       |     0 | a571c0d144b14fd4a87a9d9b2aa9fcd6 |    1 |
|      13 | Templates/Databases          |     0 | 748ad4d098d447d492bb935c907f652f |    1 |
|      14 | Templates/Virtualization     |     0 | 02e4df4f20b848e79267641790f241da |    1 |
|      15 | Templates/Telephony          |     0 | 1d12408342854fd5a4436dd6d5d1bd4a |    1 |
|      16 | Templates/SAN                |     0 | 7c2cb727f85b492d88cd56e17127c64d |    1 |
|      17 | Templates/Video surveillance |     0 | d37f71c7e3f7469bab645852a69a2018 |    1 |
|      18 | Templates/Power              |     0 | 3dcd5bbe90534f9e8eb5c2d53756af63 |    1 |
|      19 | Applications                 |     0 | a571c0d144b14fd4a87a9d9b2aa9fcd6 |    0 |
|      20 | Databases                    |     0 | 748ad4d098d447d492bb935c907f652f |    0 |
|      21 | Templates/Cloud              |     0 | c2c162144c2d4c5491c8801193af4945 |    1 |
|      23 | web app                      |     0 | 8fedc9940d9c495d8594d5ed26a1e80d |    0 |
+---------+------------------------------+-------+----------------------------------+------+
20 rows in set (0.000 sec)

5.2.3 数据库查询主机组

复制代码
[root@zabbix-server ~]# mysql -uzabbix -p'password' zabbix -e 'select * from hstgrp;'

查询结果关键字段:

  • groupid:组 ID
  • name:组名称
  • flags:标识
  • uuid:唯一标识
  • type:类型(1 = 模板组,0 = 主机组)

5.2.4 层级分组规则(Zabbix 4.0+ 新特性)

  • 格式:用/分隔多级分组,例:ShangHai/IDC/Nginx(3 级分组)
  • 强制规则:/前后不能有空格

5.3 添加模板(Templates)

模板核心作用

  1. 对监控项、触发器、图形等配置分组管理
  2. 一键应用到主机,实现配置复用
  3. 支持继承:模板可嵌套使用其他模板
  4. 支持导入 / 导出:跨环境迁移配置

Web 界面创建模板

操作路径:【配置】→【模板】→【创建模板】

  • 填写模板名称 → 选择归属群组 → 添加
  • 支持关联已有模板、导入导出模板配置

也可以只选择模版组,不选模版更新


5.4 添加被监控主机(以 Linux-server2 为例)

详细步骤看之前文章,还有图片展示ip不同是因为我是后续添加图片的,参考就行。

5.4.1 被监控端安装 Zabbix Agent2

复制代码
# 安装 Zabbix 7.0 官方YUM源
[root@linux-server2 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/10/x86_64/zabbix-release-latest-7.0.el10.noarch.rpm

5.4.2 配置 Agent2 配置文件

配置文件路径:/etc/zabbix/zabbix_agent2.conf

复制代码
# 过滤注释和空行,查看生效配置
[root@linux-server2 ~]# egrep -v "^#|^$" /etc/zabbix/zabbix_agent2.conf

生效配置参数:

复制代码
PidFile=/var/run/zabbix/zabbix_agent2.pid       # 进程PID文件路径
LogFile=/var/log/zabbix/zabbix_agent2.log       # 日志文件路径
LogFileSize=0                                   # 日志不自动切割
Server=192.168.72.51                            # 被动模式:允许访问的Server IP
ServerActive=192.168.72.51                       # 主动模式:上报数据的Server IP
Hostname=linux-server2                          # 本机主机名(与Web一致)
Include=/etc/zabbix/zabbix_agent2.d/*.conf      # 子配置文件引入路径
ControlSocket=/tmp/agent.sock                   # 控制套接字文件

5.4.3 启动 Agent2 服务

复制代码
[root@linux-server2 ~]# systemctl enable --now zabbix-agent2.service

5.4.4 Server 端连通性测试(zabbix_get 工具)

复制代码
# 测试获取被监控端系统信息
[root@zabbix-server ~]# zabbix_get -s 192.168.72.12 -k system.uname

正常返回:Linux linux-server2 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2026 x86_64

5.4.5 Web 界面添加主机

操作路径:【配置】→【主机】→【创建主机】

  • 填写主机信息 → 配置 Agent 接口 → 关联模板 → 添加

等一会后


5.5 添加监控项(Items)

5.5.1 监控项定义

监控项是监控指标的完整配置 ,包含:数据采集方式、数据类型、更新间隔、历史数据保留时长、趋势数据保留时长、监控项分组;监控项键值(Key) 是核心标识,在单个主机 / 模板内必须唯一

5.5.2 普通监控项添加

  • 支持在模板主机上创建
  • 操作路径:【配置】→【模板 / 主机】→【监控项】→【创建监控项】
  • 示例:给Template web-app模板添加 CPU 负载监控项(1 分钟、5 分钟、15 分钟)

因为演示的监控项在之前选择模版里面有,先清理

克隆监控项

5.5.3 自定义监控项(UserParameter)

(1)监控项键值(Key)语法规则
  • 键名允许字符:0-9a-zA-Z_-.

  • 键参数:支持多参数,逗号分隔;支持带引号 / 不带引号字符串、数组

  • 引号规则:仅支持双引号,不支持单引号;不允许多级数组

  • 空参数:留空用逗号占位,例:icmpping[,,200,,500]

    [root@zabbix-agent2 ~]# egrep -v "#|$" /etc/zabbix/zabbix_agent2.conf PidFile=/run/zabbix/zabbix_agent2.pid
    LogFile=/var/log/zabbix/zabbix_agent2.log
    LogFileSize=0
    Server=192.168.24.41
    ServerActive=192.168.24.41
    Hostname=linux-server2
    PluginSocket=/run/zabbix/agent.plugin.sock
    UnsafeUserParameters=1
    ControlSocket=/run/zabbix/agent.sock
    Include=/etc/zabbix/zabbix_agent2.d/plugins.d/.conf
    Include=/etc/zabbix/zabbix_agent2.d/
    .conf

(2)自定义 Key 语法格式
复制代码
# 无参数格式
UserParameter=<key>,<shell command>
# 带参数格式(支持传参)
UserParameter=<key[*]>,<shell command> $1 $2 $3 ...

举例:

复制代码
[root@zabbix-agent2 ~]# cat  /etc/zabbix/zabbix_agent2.d/coustom.conf
UserParameter=os.login,who | wc -l

重启服务生效
[root@zabbix ~]# zabbix_get -s 192.168.24.43 -k os.login
2

如果没设置UnsafeUserParameters=1 已开启
[root@zabbix ~]# zabbix_get -s 192.168.24.43 -k os.login
ZBX_NOTSUPPORTED: Unsupported item key.

注意:
因为有两个配置文件,一个是agentd,一个是agent2,要看自己启用的是那个,修改对应的配置文件才会生效

[root@zabbix-agent2 ~]# netstat -lntp | grep 10050
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      1268/zabbix_agentd  
tcp6       0      0 :::10050                :::*                    LISTEN      1268/zabbix_agentd  
[root@zabbix-agent2 ~]# systemctl stop zabbix-agent
systemctl disable zabbix-agent
Removed '/etc/systemd/system/multi-user.target.wants/zabbix-agent.service'.
[root@zabbix-agent2 ~]# systemctl restart zabbix-agent2
systemctl enable zabbix-agent2
[root@zabbix-agent2 ~]# netstat -lntp | grep 10050
tcp6       0      0 :::10050                :::*                    LISTEN      43572/zabbix_agent2 

配置文件位置:

  • 主配置:/etc/zabbix/zabbix_agent2.conf
  • 子配置:/etc/zabbix/zabbix_agent2.d/xxx.conf(推荐)
(3)特殊字符处理规则

UserParameter包含:\ ' " * ? \[\] {} ~ $ ! & ; ( ) < > | # @`必须开启:

复制代码
UnsafeUserParameters=1
  • 默认值:0(禁止特殊字符)
  • 修改配置后必须重启 Agent2 服务
  • 变量转义:$1需写成$$1避免冲突
(4)Key 返回值规则
  • 支持返回:文本(character/log/text)、空值
  • 无效值返回:ZBX_NOTSUPPORTED
(5)自定义监控项示例( 2 个完整示例)
示例 1:监控系统登录用户数
复制代码
# 原生命令
[root@linux-server2 ~]# who | wc -l
# 创建自定义配置文件
[root@linux-server2 ~]# cat /etc/zabbix/zabbix_agent2.d/custom.conf
UserParameter=os.login,who | wc -l
# 重启Agent2
[root@linux-server2 ~]# systemctl restart zabbix-agent2.service
# Server端测试
[root@zabbix-server ~]# zabbix_get -s 192.168.72.12 -k os.login
示例 2:监控主机内存信息(传参模式)
复制代码
# 原生命令
[root@linux-server2 ~]# awk '/^MemTotal:/ {print $2}' /proc/meminfo
[root@linux-server2 ~]# awk '/^MemFree:/ {print $2}' /proc/meminfo
# 自定义配置(传参模式)
[root@linux-server2 ~]# tail -1 /etc/zabbix/zabbix_agent2.d/custom.conf
UserParameter=memory.usage[*],/usr/bin/awk '/^$1:/ {print $$2}' /proc/meminfo
# 重启Agent2
[root@linux-server2 ~]# systemctl restart zabbix-agent2.service
# Server端测试
[root@node1 ~]# zabbix_get -s 192.168.72.12 -k memory.usage[MemFree]
[root@node1 ~]# zabbix_get -s 192.168.72.12 -k memory.usage[SwapTotal]


例子:
[root@zabbix ~]# zabbix_get -s 192.168.24.43 -k memory.usage[MemTotal]
1713232
(6)Web 关联自定义监控项

将自定义 Key 添加到Template web-app模板,配置:

  • 名称、键值、更新间隔、历史 / 趋势保留时长、类型、应用集
  • 状态:已启用

5.6 配置图形(Graphs)

文档原文说明

  • 作用:将监控数据可视化展示
  • 配置位置:主机 / 模板
  • 操作路径:【配置】→【模板 / 主机】→【图形】→【创建图形】
  • 示例:给Template web-app模板添加 CPU、内存图形

查看图形:


5.7 配置聚合图形(Screens)

文档原文说明

  • 作用:集中展示多类监控信息(图形、地图、服务器信息等)
  • 支持:单主机多指标、多主机同指标展示
  • 操作路径:【模板 / 主机】→【聚合图形】→【创建聚合图形】
  • 示例:创建 2×2 聚合图形,展示 CPU、内存、用户登录数

5.8 配置地图(Maps)

  • 作用:配置网络拓扑图,展示设备间网络关系
  • 官方文档:4 拓扑图
  • 操作路径:【监控】→【地图】→ 创建 / 管理网络拓扑图

5.9 使用报表(Reports)

Zabbix 报表包含:系统运行状态、可用性报告、故障报告、日志审计、告警通知。

  1. 系统信息:展示 Zabbix 服务摘要(主机 / 模板 / 监控项数量、服务状态)
  2. 可用性报告:主机 / 服务正常运行率统计
  3. 触发器 TOP100:故障触发次数最多的前 100 个触发器
  4. 审计日志:用户操作记录(时间、账号、IP、操作内容)
  5. 动作日志:告警动作执行记录(邮件、短信等)
  6. 通知日志:告警发送记录

操作路径:【报表】→ 选择对应报表类型


5.10 最新数据(Latest data)

  • 作用:展示监控项最近一次采集的原始数据
  • 适用场景:未配置图形时,快速查看监控数值
  • 操作路径:【监控】→【最新数据】→ 选择主机查看

5.11 用户权限管理

5.11.1 用户类

Zabbix 共 4 类用户:

  1. 超级管理员:最高权限,管理所有功能
  2. 管理员:配置 + 查看监控
  3. 普通用户:仅查看监控数据
  4. guest(匿名用户):特殊只读用户

5.11.2 用户组(User groups)

  • 作用:将用户 + 主机组关联,统一分配权限
  • 权限组合(4 种):读写、只读、拒绝访问、权限未设置
  • 支持:通过标签(Tag filter)筛选关联主机

5.11.3 用户创建规则

  • 用户必须归属用户组
  • 创建时需设置:用户名、密码、用户类型、所属用户组

必备配置

  1. 防火墙放行 Linux:firewall-cmd --permanent --add-port=10050/tcp && firewall-cmd --reloadWindows:放行 TCP 10050 入站 + ICMP(ping)
  2. SELinux 放行 setsebool -P zabbix_can_network on
  3. Agent2 状态验证 netstat -lntup | grep 10050

完整配置闭环

  1. 创建主机组 → 2. 安装配置 Agent2 → 3. Web 添加主机 → 4. 关联模板 → 5. 创建监控项(自定义)→ 6. 配置图形 / 聚合图形 → 7. 配置报表 → 8. 分配用户权限
相关推荐
z200509301 小时前
【linux学习】深入理解linux文件I/O,从C标准库到内核态
linux·学习·操作系统
JohnYan1 小时前
工作笔记 - PG分组极值
数据库·后端·postgresql
清溪5491 小时前
DataEase H2 JDBC-RCE(CVE-2025-32966)复现
数据库·安全
ServBay2 小时前
不要再盲选了,PostgreSQL、MySQL与SQLite真实性能对比
数据库·mysql·sqlite
Trouvaille ~2 小时前
【Redis篇】Set 与 Zset:集合运算与排行榜的终极武器
数据库·redis·缓存·set·跳表·后端开发·zset
無限進步D2 小时前
MySQL 创建和管理表
数据库·mysql
六月雨滴2 小时前
归档模式配置与切换
数据库·oracle·dba
weixin_307779132 小时前
面向高性能保密计算的定制 Linux 系统构建与自动部署方案
linux·安全·网络安全·性能优化·系统安全
着迷不白2 小时前
五、文本处理工具+正则表达式
linux·运维·服务器