Top

  1. 准备 zabbix 平台环境
  2. 部署 zabbix 主控机
  3. 部署 zabbix 被控机
  4. 管理监控项
  5. 使用监控图形
  6. 配置 zabbix 邮件告警

1 准备 zabbix 平台环境

1.1 问题

本例要求为部署 zabbix 监控服务器准备一台 openEuler 虚拟机,完成下列任务:

1)服务器地址设置

  • 主机名:svr203.tedu.cn,IP 地址:192.168.10.203/24
  • 在 / etc/hosts 中添加 svr203.tedu.cn、svr8.tedu.cn 的本地域名记录

2)安装并启用 LAMP 平台

  • 离线方式安装 LAMP 组件,减少版本兼容性问题
  • 执行 systemctl status httpd mariadb php-fpm 检查服务状态

3)禁用防火墙和 SELinux 保护机制

1.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:服务器地址设置

1)配置主机名为 svr203.tedu.cn

  1. 1. \[root@svr203 ~\]\# hostnamectl set-hostname svr203.tedu.cn

2)配置 IP 地址 192.168.10.203/24

  1. 1. \[root@svr203 ~\]\# nmcli device status
  2. 2. DEVICE TYPE STATE CONNECTION
  3. 3. ens33 ethernet 连接的 ens33
  4. 4. .. ..
  5. 5. \[root@svr203 ~\]\# nmcli connection modify ens33 ipv4.method manual ipv4.addresses "192.168.10.203/24" connection.autoconnect yes
  6. 7. \[root@svr203 ~\]\# nmcli connection up ens33
  7. 8. 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/22

3)添加本机主机映射记录,方便快速访问

在 / etc/hosts 中添加 svr203.tedu.cn、svr8.tedu.cn 的本地域名记录。

  1. 1. \[root@svr203 ~\]\# vim /etc/hosts
  2. 2. .. ..
  3. 3. 192.168.10.203 svr203 svr203.tedu.cn
  4. 4. 192.168.10.8 svr8 svr8.tedu.cn

通过 ping 目标域名可以检测结果。

  1. 1. \[root@svr203 ~\]\# ping svr203.tedu.cn
  2. 2. PING svr203 (192.168.10.203) 56(84) bytes of data.
  3. 3. 64 bytes from svr203 (192.168.10.203): icmp_seq=1 ttl=64 time=0.046 ms
  4. 4. 64 bytes from svr203 (192.168.10.203): icmp_seq=2 ttl=64 time=0.041 ms
  5. 5. 64 bytes from svr203 (192.168.10.203): icmp_seq=3 ttl=64 time=0.042 ms
  6. 6. 64 bytes from svr203 (192.168.10.203): icmp_seq=4 ttl=64 time=0.050 ms
  7. 7. ^C
  8. 8. \-\-\- svr203 ping statistics \-\-\-
  9. 9. 4 packets transmitted, 4 received, 0% packet loss, time 3000ms
  10. 10. rtt min/avg/max/mdev = 0.041/0.044/0.050/0.008 ms

步骤二:安装并启用 LAMP 平台

1)安装 LAMP 平台各组件

  1. 1. \[root@svr203 ~\]\# yum -y install httpd mariadb-server php-fpm php-mysqlnd
  2. 2. .. ..
  3. 3. \[root@svr203 ~\]#

2)启用 LAMP 平台相关服务

  1. 1. \[root@svr203 ~\]\# systemctl restart httpd mariadb php-fpm
  2. 2. \[root@svr203 ~\]\# systemctl enable httpd mariadb php-fpm

步骤三:禁用防火墙和 SELinux 保护机制

1)关闭防火墙

  1. 1. \[root@svr203 ~\]\# systemctl stop firewalld
  2. 2. \[root@svr203 ~\]\# systemctl disable firewalld

2)关闭 SELinux 机制

  1. 1. \[root@svr203 ~\]\# setenforce 0
  2. 2. \[root@svr203 ~\]\# vim /etc/selinux/config
  3. 3. SENETSRV=disabled

2 部署 zabbix 主控机

2.1 问题

本例要求以前一个案例环境为基础,安装并部署 zabbix 主控机,完成下列任务。

首先,采用离线方式安装好 zabbix 相关软件包(向教学中心获取)。

然后重启 httpd 服务后,访问 http://192.168.10.203/zabbix 安装 Web 前端:

  • 根据网页提示完成初始安装,遇错排错
  • 配置 PHP 解析环境,将时区设为 Asia/Shanghai
  • 新建 zabbix 库,授权用户 zabbix 访问,密码为 pwd@1234
  • 导入 zabbix 服务包提供的原始资料

确认可看到 zabbix 登录页面,并启动好 zabbix-server 主控服务。

2.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:离线方式安装 zabbix 相关软件包

1)确认软件包素材

因为 zabbix 服务器在国外,在线安装可能会比较慢,具体方法可参考官方手册:

https://www.zabbix.com/documentation/5.0/zh/manual

建议采取离线安装的方式,提前向教学中心获取适用于 openEuler 20.03 操作系统的 zabbix 软件包安装素材。

比如 zabbix50_pkgs / 目录,将其上传到虚拟机的 / root / 目录下,确认结果:

  1. 1. \[root@svr203 ~\]\# ls /root/zabbix50_pkgs/
  2. 2. dejavu-fonts-2.37-1.oe1.noarch.rpm _README-要求PHP7.txt
  3. 3. fping-4.2-1.oe1.x86_64.rpm syht.ttf
  4. 4. nginx-filesystem-1.16.1-7.oe1.noarch.rpm zabbix-agent-5.0.11-1.el8.x86_64.rpm
  5. 5. oniguruma-6.9.0-2.oe1.x86_64.rpm zabbix-apache-conf-5.0.11-1.el8.noarch.rpm
  6. 6. php-bcmath-7.2.10-9.oe1.x86_64.rpm zabbix-get-5.0.11-1.el8.x86_64.rpm
  7. 7. php-gd-7.2.10-9.oe1.x86_64.rpm zabbix-server-mysql-5.0.11-1.el8.x86_64.rpm
  8. 8. php-json-7.2.10-9.oe1.x86_64.rpm zabbix-web-5.0.11-1.el8.noarch.rpm
  9. 9. php-ldap-7.2.10-9.oe1.x86_64.rpm zabbix-web-deps-5.0.11-1.el8.x86_64.rpm
  10. 10. php-mbstring-7.2.10-9.oe1.x86_64.rpm zabbix-web-mysql-5.0.11-1.el8.noarch.rpm
  11. 11. php-xml-7.2.10-9.oe1.x86_64.rpm

2)安装 zabbix 服务器及依赖包

仍然使用 yum 命令,提供预先准备好的所有 rpm 包文件路径,即可进行安装。

  1. 1. \[root@svr203 ~\]\# yum -y install /root/zabbix50_pkgs
  2. 3. [root@svr203](mailto:root@svr203)

完成安装后,可以再次确认一下安装结果:

  1. 1. \[root@svr203 ~\]\# yum list "zabbix*"
  2. 2. .. ..
  3. 3. 已安装的软件包
  4. 4. 已安装的软件包
  5. 5. zabbix-agent.x86_64 5.0.11-1.el8 @@commandline
  6. 6. zabbix-apache-conf.noarch 5.0.11-1.el8 @@commandline
  7. 7. zabbix-get.x86_64 5.0.11-1.el8 @@commandline
  8. 8. zabbix-server-mysql.x86_64 5.0.11-1.el8 @@commandline
  9. 9. zabbix-web.noarch 5.0.11-1.el8 @@commandline
  10. 10. zabbix-web-deps.x86_64 5.0.11-1.el8 @@commandline
  11. 11. zabbix-web-mysql.noarch 5.0.11-1.el8 @@commandline
  12. 12. \[root@svr203 ~\]#

步骤二:安装 zabbix 监控的 Web 前端系统

1)重启 httpd 服务以更新 zabbix 的网页配置

装好 zabbix 相关软件包以后,会自动添加 Web 配置,需要重启 httpd 服务后生效。

  1. 1. \[root@svr203 ~\]\# systemctl restart httpd
  2. 2. \[root@svr203 ~\]#

2)从浏览器访问 http://192.168.10.203/zabbix/ 前端页面

如图 - 1 所示。

CASE - 图1

图 - 1

单击 Next step 按钮,根据提示进行 Zabbix 监控的 Web 前端系统安装。

步骤三:解决 zabbix 前端系统安装中的各种问题

1)时区设置问题

如果页面提示时区未设置,如图 - 2 所示。

CASE - 图2

图 - 2

需要修改 zabbix 的 PHP 支持配置文件 / etc/php-fpm.d/zabbix.conf,找到时区设置那一行 “; php_value[date.timezone] = Europe/Riga”,把前面的 “;” 号删除以启用此行配置,并将时区设置为“Asia/Shanghai”。

  1. 1. \[root@svr203 ~\]\# vim /etc/php-fpm.d/zabbix.conf
  2. 2. .. ..
  3. 3. php_value\[date.timezone\] = Asia/Shanghai
  4. 4. .. ..
  5. 5. \[root@svr203 ~\]\# systemctl restart php-fpm

然后刷新 zabbix 网页,时区的报错就没有了,如图 - 3 所示,单击 Next step 继续。

CASE - 图3

图 - 3

2)数据库连接问题

使用 mysql 命令连接本机的数据库系统,以数据库用户 root 及对应的密码验证,如果未设置密码,请去掉 “-ppwd@1234” 选项。

  1. 1. \[root@svr203 ~\]\# mysql -uroot -ppwd@1234
  2. 2. Welcome to the MariaDB monitor. Commands end with ; or \g.
  3. 3. Your MariaDB connection id is 154
  4. 4. Server version: 10.3.9-MariaDB MariaDB Server
  5. 6. Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
  6. 8. Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.
  7. 10. MariaDB \[(none)\]>

未监控平台提前准备好名为 zabbix 的数据库、名为 zabbix 的数据库用户,并设置好密码(比如 zbx@1234)。

  1. 1. MariaDB \[(none)\]> create database zabbix character set utf8 collate utf8_bin;
  2. 2. Query OK, 1 row affected (0.01 sec)
  3. 4. MariaDB \[(none)\]> grant all on zabbix.* to zabbix@localhost identified by 'zbx@1234';
  4. 5. Query OK, 0 rows affected (0.00 sec)
  5. 7. MariaDB \[(none)\]> quit
  6. 8. Bye
  7. 9. \[root@svr203 ~\]#

然后在数据库配置页面正确填写连接信息,如图 - 4 所示

CASE - 图4

图 - 4

单击 Next step 继续。

注意:数据库连接常见问题的解决

问题现象:网页提示 “No such file or directory”,如图 - 5 所示。

解决办法:无法正确找到数据库服务器,通常是由于 mariadb 服务忘记启动导致的,需要先开启 mariadb 数据库服务。

  1. 1. \[root@svr203 ~\]\# systemctl start mariadb
  2. 2. \[root@svr203 ~\]\# systemctl enable mariadb

CASE - 图5

图 - 5

问题现象:网页提示 “Cannot connect to the database”,细节部分显示 Access Denied,如图 - 6 所示。

解决办法:说明连接数据库的用户名、密码不正确,请确认准备的数据库及用户信息填写正确,纠正后重新 “Next step” 提交。

CASE - 图6

图 - 6

3)初始数据资料不匹配问题

如果页面提示 “table .. .. not found”,如图 - 7 所示,说明准备的 zabbix 库中还没有初始的表格资料。

CASE - 图7

图 - 7

这时需要执行下列操作将 zabbix 软件包准备的初始资料导入。

  1. 1. \[root@svr203 ~\]\# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pzbx@1234 zabbix
  2. 2. \[root@svr203 ~\]\#

然后再单击 Next step 就到下一个页面了,如图 - 8 所示,这个页面可以在 Name 处为你的 zabbix 系统起一个名字,或者不用起名直接单击 Next Step 继续。

CASE - 图8

图 - 8

4)确认安装设置,完成 Web 前端系统的安装

再接下来确认安装设置,如图 - 9 所示,单击 Next Step 继续。

CASE - 图9

图 - 9

看到 “Congratulations!” 的提示,如图 - 10 所示,说明安装已经成功,单击 Finish 就可以结束安装了。

CASE - 图10

图 - 10

步骤四:确认 zabbix 登录页面,启动 zabbix-server 主控服务

1)确认 zabbix 登录页面

安装好 zabbix 监控的 Web 前端以后,会自动跳转到登录界面,或者以后直接从浏览器访问http://192.168.10.203/zabbix/ ,也可以看到这个界面,如图 - 11 所示。

CASE - 图11

图 - 11

2)启动 zabbix-server 主控服务

为了能够顺利使用 zabbix 监控系统,要确保主控服务 zabbix-server 知道如何访问数据库。需要修改 / etc/zabbix/zabbix_server.conf 配置文件,其中数据库名、数据库用户、数据库连接密码都要设置正确。

  1. 1. \[root@svr203 ~\]\# vim /etc/zabbix/zabbix_server.conf
  2. 2. .. ..
  3. 3. DBName=zabbix
  4. 4. DBUser=zabbix
  5. 5. DBPassword=zbx@1234

然后,要记得把主控服务 zabbix-server 启动起来。

  1. 1. \[root@svr203 ~\]\# systemctl enable zabbix-server --now
  2. 2. Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-server.service /usr/lib/systemd/system/zabbix-server.service.
  3. 4. \[root@svr203 ~\]#

3 部署 zabbix 被控机

3.1 问题

本例要求学会配置 zabbix 被控机,降低环境复杂度起见,可以将主控机 svr203.tedu.cn 同时也配置成被控机,完成下列任务。

  1. 确认已安装 zabbix-agent 软件包
  2. 调整配置,允许主控机 192.168.10.203 采集数据
  3. 启动 zabbix-agent 被控服务
  4. 从主控机使用 zabbix_get 测试,确保能获取监控结果

3.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:安装 zabbix-agent 被控端软件包

对于新准备的 zabbix 被控机(比如另外准备的一台虚拟机 svr204),只需要安装 zabbix-agent 这一个软件包就可以了。

当然,zabbix 主控机 svr203 自己也允许作为被监控机。

  1. 1. \[root@svr203 ~\]\# yum -y install /root/zabbix50_pkgs/zabbix-agent-5.0.11-1.el8.x86_64.rpm
  2. 2. .. ..
  3. 3. \[root@svr203 ~\]\# yum list zabbix-agent
  4. 4. .. ..
  5. 5. zabbix-agent.x86_64 5.0.11-1.el8 @@commandline

步骤二:调整配置,允许主控机 192.168.10.203 采集数据

调整 zabbix-agent 配置文件,允许 zabbix 主控机(默认只允许自己 127.0.0.1)来采集数据。

  1. 1. \[root@svr203 ~\]\# vim /etc/zabbix/zabbix_agentd.conf
  2. 2. .. ..
  3. 3. Server=127.0.0.1,192.168.10.203
  4. 4. ServerActive=127.0.0.1,192.168.10.203
  5. 5. Hostname=svr203.tedu.cn

步骤三:启动 zabbix-agent 被控服务

被控端服务 zabbix-agent 主要负责与主控端的 zabbix-server 通信,报告、提供需要的监控数据,相当于在被控机上安置的一个 “卧底”。

为了顺利实现监控,需要启用 zabbix-agent 服务。

  1. 1. \[root@svr203 ~\]\# systemctl enable zabbix-agent --now
  2. 2. Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent.service /usr/lib/systemd/system/zabbix-agent.service.
  3. 4. \[root@svr203 ~\]#

步骤四:使用 zabbix_get 测试数据采集

从 zabbix 主控机上执行 zabbix_get 命令,检查是否能向指定地址的被控机获取监控数据,比如获取 “agent.ping” 键值的结果,如果为 1 说明被控端的 zabbix-agent 服务可以正常响应。

  1. 1. \[root@svr203 ~\]\# zabbix_get -s 192.168.10.203 -k agent.ping
  2. 2. 1

4 管理监控项

4.1 问题

本例要求学会在 zabbix 平台上管理监控项目,完成下列任务。

  1. 登入 zabbix 监控的 Web 前端系统,并切换为中文
  2. 检查 “Zabbix Server” 的监控项,包括主机可用性、可用内存、CPU 负载、登录用户数、运行进程数
  3. 确认(或添加)对本机网卡(比如 ens33)入站流量、出站流量的监控
  4. 配置 icmpping 检查设备存活状态,针对路由器 102,IP 地址为 192.168.10.2

4.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:登入 zabbix 监控的 Web 前端系统,并切换为中文

1)以默认管理员 Admin 登录 Zabbix 平台

默认管理员为 Admin(注意第一个 A 为大写),密码为 zabbix,如图 - 12 所示。

CASE - 图12

图 - 12

登录成功以后,可以看到英文版的 zabbix 监控网页,如图 - 13 所示。

CASE - 图13

图 - 13

2)将界面语言更改为 “Chinese(zh_CN)”

在 zabbix 网页左侧的导航栏底部,找到 “User settings” 链接并点击,可以打开当前用户的属性设置页面。单击 “Language” 右侧的下拉箭头,选择 “Chinese(zh_CN)”,然后单击下方的“Update” 按钮,如图 - 14 所示。

CASE - 图14

图 - 14

更新成功后,zabbix 监控页面就会变成中文,如图 - 15 所示。

CASE - 图15

图 - 15

步骤二:检查 “Zabbix Server” 的监控项

1)查看被监控主机

通过 zabbix 左栏导航栏的 “配置”—>“主机”,可以列出被监控主机。Zabbix 平台默认已将本机添加为被监控对象,如图 - 16 所示。

CASE - 图16

图 - 16

2)查看监控项

单击被监控主机右侧的监控项,可以看到此主机的各种监控项目,如图 - 17 所示,

CASE - 图17

图 - 17

zabbix 本机默认已关联相关监控模板,自动添加了数十个监控项。

比如被控主机的可用性(检测 zabbix-agent 是否通信正常)、可用内存、CPU 负载、登录用户数、运行进程数等等,可以参考如下信息。

  • 可用内存:名称 Available memory,键值 vm.memory.size[available]
  • CPU 负载(最近 1 分钟):名称 Processor load (1 min average per core),键值 s ystem.cpu.load[percpu,avg1]
  • CPU 负载(最近 1 分钟):名称 Processor load (1 min average per core),键值 s ystem.cpu.load[percpu,avg1]
  • CPU 负载(最近 1 分钟):名称 Processor load (1 min average per core),键值 s ystem.cpu.load[percpu,avg1]
  • 登录用户数:名称 Number of logged in users,键值 system.users.num
  • 运行进程数:名称 Number of processes,键值 proc.num[]

其中,带灰色 “Template .. ..” 字样的为来自模板的监控项(不允许直接删除);带橙色 “.. .. discovery” 字样的为自动发现的监控项。在监控项管理页面,不仅可以查看监控项,还可以禁用指定的监控项、或者删除用不到的自动发现的监控项。

步骤三:确认对本机网卡(比如 ens33)入站流量、出站流量的监控

网络接口的流量信息等监控项,一般稍等几分钟可以自动发现。对应的监控键值通常采用 net.if.in[接口名] 和 net.if.out[接口名] ,分别表示入站流量、出站流量。比如,要监控网卡 ens33 的流量,对应的监控项细节如下:

  • 入站流量:名称 Interface ens33: Bits received,键值 net.if.in[ens33]
  • 出站流量:名称 Interface ens33: Bits sent,键值 net.if.out[ens33]

自动发现的监控项会在名称前标注有橙色的 “discovery” 字样,如图 - 17 所示。

如果没有找到自动发现的上述网卡流量监控项,也可以通过右上角的 “创建监控项” 按钮来手动添加新的监控项。在弹出页面中,指定监控项名称和对应的键值就行。其中键值可以通过右侧的 “选择” 按钮获得,并根据需要进行更改,如图 - 18 所示。

CASE - 图18

图 - 18

注意:对于同一个被监控设备,相同键值的监控项只允许出现一次,不能重复。

步骤四:配置 icmpping 检查设备存活状态

1)添加一个监控项,检测路由器 102 是否能 ping 通

在监控项管理页面,单击右上角的 “创建监控项” 页面,在接下来的设置页面中指定名称 “路由器 102 存活状态”、类型选“简单检查”,然后选择好 icmpping 键值并正确修改检测参数,如图 - 19 所示,然后单击底部的“添加” 就可以了。

CASE - 图19

图 - 19

其中,监控键值 icmpping[192.168.10.2,4,500,64,3000],表示要检测的目标 IP 地址是 192.168.10.2、发 4 个测试包、包间隔 500 毫秒、每个 64 字节、超过 3000 毫秒无响应就认为超时。

还需要注意,zabbix 5.0 的 icmpping 监控项采用 fping 工具,要求以管理员 root 权限运行,否则将会检测失败。简单处理的话,可以给 fping 程序文件添加 s 特限。

  1. 1. \[root@svr203 ~\]\# chmod u+s /usr/sbin/fping
  2. 2. \[root@svr203 ~\]\# ls -lh /usr/sbin/fping
  3. 3. -rwsr-xr-x 1 root root 57K 12 14 2020 /usr/sbin/fping

2)确认添加结果

返回到监控项管理页,单击最后一页,可以找到新添加的几个监控项,如图 - 20 所示。

CASE - 图20

图 - 20

5 使用监控图形

5.1 问题

本例要求学会在 zabbix 平台上查看监控图形、创建监控图形。

  1. 管理主机的 “图形” 项
  2. 查看监控图形,修复中文显示
  3. 确认 “网卡流量分析”,整合入站 / 出站流量数据
  4. 创建 “路由器 102 状态”,监控路由器 102 的存活状态

5.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:管理主机的 “图形” 项

通过 zabbix 导航栏的 “配置”—>“主机”—> 选中被监控主机 —>“图形”,可以看到已经创建的监控图形(默认都是从模板创建的),如图 - 21 所示。

CASE - 图21

图 - 21

对于列表中没有的监控图形,可以单击右上方的 “创建图形” 来添加(前提是要有对应系统指标的监控项)。

步骤二:查看监控图形,修复中文显示

1)选择指定图形并查看

通过 zabbix 导航栏的 “监测”—>“主机”—> 找到被控主机的“图形”,即可列出这台主机的所有图形监控结果,如图 - 22 所示。默认情况下,zabbix 所绘制图形中的汉字会显示为方框,需要修正绘图所使用的字体。

CASE - 图22

图 - 22

2)修正图形中的中文显示

zabbix 5.0 默认的绘图字体位于 /usr/share/zabbix/assets/fonts/graphfont.ttf,但是这个字体不支持在图片中写入汉字。因此,最好将其替换为能正常支持汉字的中文字体文件(比如文泉驿 - 正黑)。

  1. 1. \[root@svr203 ~\]\# yum -y install wqy-zenhei-fonts
  2. 2. .. ..
  3. 4. \[root@svr203 ~\]\# cp /usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf
  4. 5. cp:是否覆盖"/usr/share/zabbix/assets/fonts/graphfont.ttf" y
  5. 7. \[root@svr203 ~\]#

然后按 F5 键刷新图形查看页面,图形中的汉字就能够正常显示了,如图 - 23 所示。

CASE - 图23

图 - 23

步骤三:创建 “网卡流量分析”,整合入站 / 出站流量数据

1)添加自定义 “网卡流量分析” 图形

通过 zabbix 导航栏 “配置”—>“主机”—>“图形”—>“创建图形”,使用网卡 ens33 的入站流量、出站流量两个监控项创建“网卡流量分析” 监控图形,如图 - 24 所示。

CASE - 图24

图 - 24

注意先通过小的 “添加” 连接来选择监控项,最后再单击大的 “添加” 按钮来完成图形创建。

2)查看自定义的 “网卡流量分析” 图形结果

通过 zabbix 导航栏 “监测”—>“主机”—>“图形”,单击右上角的“过滤器”,选择“网卡流量分析” 图形,可以看到自定义的直观的、动态的流量图形,如图 - 25 所示。

CASE - 图25

图 - 25

步骤四:创建 “路由器 102 状态”,监控路由器 102 的存活状态

1)添加 “路由器 102 状态” 图形

通过 zabbix 导航栏 “配置”—>“主机”—>“图形”—>“创建图形”,使用“路由器 102 存活状态” 监控项创建 “路由器 102 状态” 监控图形,如图 - 26 所示。

CASE - 图26

图 - 26

2)查看 “路由器 102 状态” 图形结果

通过 zabbix 导航栏 “监测”—>“主机”—>“图形”,再次通过过滤器选择“路由器 102 存活状态” 图形,可以看到监控结果,数值为 1 的线表示此设备可 ping 通,数值为 0 的线(如果有的话)表示不能 ping 通,如图 - 27 所示。

CASE - 图27

图 - 27

6 配置 zabbix 邮件告警

6.1 问题

本例要求针对 Zabbix 服务器设置严重事件告警,当登录用户数超过 5 个或者运行进程数超过 200 个时,发送告警邮件给 zabbix 服务器的 root 用户。

  1. 依次配置报警媒介、报警媒介类型、动作
  2. 配置监控项及触发器
  3. 模拟用户登录数超标(比如同时登录 7 个用户)
  4. 在 zabbix 服务器上收取 root 用户的邮件,可以看到告警消息

6.2 方案

zabbix 监控系统的事件通知机制,如图 - 28 所示。

CASE - 图28

图 - 28

邮件告警依赖于可为 zabbix 主控机发送邮件的邮件服务器,这里我们可以在 svr203 本机快速搭建一个 postfix 邮件服务器,并安装好 mailx 收发信工具。

  1. 1. \[root@svr203 ~\]\# yum -y install postfix mailx
  2. 2. .. ..
  3. 3. \[root@svr203 ~\]\# systemctl enable postfix --now
  4. 4. Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service /usr/lib/systemd/system/postfix.service.

关于邮件服务器的配置、收发信的命令操作这里不再赘述。

6.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:配置报警媒介类型(谁负责发送告警邮件、如何发送)

管理 —> 报警媒介类型 —>Email,正确设置可用来发送电子邮件的服务器(这里选用本机自带的邮件服务)信息、发件人电子邮箱地址,如图 - 29 所示。

CASE - 图29

图 - 29

步骤二:配置报警媒介(告警邮件发送给谁)

管理 —> 用户 —> 选择用户 XX—> 报警媒介。

比如,可以为用户 Admin 添加邮件报警,接收通知的邮箱地址为 root@svr203.tedu.cn, 如图 - 30、图 - 31 所示。

CASE - 图30

图 - 30

CASE - 图31

图 - 31

步骤三:配置动作

配置 —> 动作 —> 创建动作。

比如,示警程度在 “一般严重” 以上时发送报警,如图 - 32、图 - 33 所示。

CASE - 图32

图 - 32

CASE - 图33

图 - 33

配置完毕后,通过 “配置”—>“动作” 确认结果,如图 - 34 所示。

CASE - 图34

图 - 34

步骤四:配置监控项及触发器

配置 —> 主机 —> 选中主机 —> 触发器 —> 创建触发器。

比如,当登录用户数超过 5 个时生成 “一般严重” 事件消息,如图 - 35、图 - 36 所示。

CASE - 图35

图 - 35

CASE - 图36

图 - 36

步骤五:模拟用户登录数超标

在被控主机 Zabbix server 上同时打开多个命令行终端,比如,可以使用 MobaXterm 远程连接 svr203,同时打开 6 个远程会话,相当于超过 5 个用户登录。

具体过程略。

步骤六:检查 root 用户收到告警邮件消息

当设置的动作满足条件时,zabbix 就会发起对应的邮件告警操作,用户报警媒介对应的收件人电子邮箱中会收到通知邮件。

比如当登录用户数超过 5 个时,root 用户将会收到告警邮件,只需要在主机 svr203.tedu.cn 上查收邮件即可。

  1. 1. \[root@svr203 ~\]\# mail -u root
  2. 2. Heirloom Mail version 12.5 6/20/10. Type ? for help.
  3. 3. "/var/mail/root": 1 message 1 new
  4. 4. >N 1 zabbix@svr203.tedu.c Fri Sep 10 20:51 21/969 "Problem: 登录用户数超过5个"
  5. 5. & 1
  6. 6. Message 1:
  7. 7. From zabbix@svr203.tedu.cn Fri Sep 10 20:51:32 2021
  8. 8. Return-Path: <zabbix@svr203.tedu.cn>
  9. 9. X-Original-To: root@svr203.tedu.cn
  10. 10. Delivered-To: root@svr203.tedu.cn
  11. 11. From: <zabbix@svr203.tedu.cn>
  12. 12. To: <root@svr203.tedu.cn>
  13. 13. Date: Fri, 10 Sep 2021 20:51:32 +0800
  14. 14. Subject: Problem: 登录用户数超过5
  15. 15. Content-Type: text/plain; charset="UTF-8"
  16. 16. Status: R
  17. 18. Problem started at 20:51:29 on 2021.09.10
  18. 19. Problem name: 登录用户数超过5
  19. 20. Host: Zabbix server
  20. 21. Severity: Average
  21. 22. Operational data: 7
  22. 23. Original problem ID: 75
  23. 25. & quit
  24. 26. Held 1 message in /var/mail/root
  25. 27. \[root@svr203 ~\]#

同时,通过 “监测”—>“仪表板” 页面也会看到相应的问题报告,如图 - 37 所示。通过单击 “动作” 下的小图标可以跟踪邮件发送状态。

CASE - 图37

图 - 37
https://tts.tmooc.cn/ttsPage/NTD/NTDTN202109/LNXSEC/DAY05/CASE/01/index.html