实现Zabbix报警功能 Zabbix自动发现 Zabbix主动监控 拓扑图与聚合图形

本文介绍了如何利用Zabbix实现报警功能、自动发现新主机、主动监控以及创建拓扑图和聚合图形。详细步骤包括配置触发器、邮件通知、自动发现规则、动作(Action)设定、主动监控模式以及拓扑图和聚合图形的创建,旨在提升Zabbix监控效率和可视化水平。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 案例1:实现Zabbix报警功能

1.1 问题

沿用第5天Zabbix练习,使用Zabbix实现报警功能,实现以下目标:

  1. 监控Linux服务器系统账户
  2. 创建Media,设置邮件服务器及收件人邮箱
  3. 当系统账户数量超过26人时发送报警邮件

1.2 方案

自定义的监控项默认不会自动报警,首页也不会提示错误,需要配置触发器与报警动作才可以自定报警。

什么是触发器(trigger)?

表达式,如内存不足300M,用户超过30个等

当出发条件发生后,会导致一个触发事件

触发事件会执行某个动作

什么是动作(action)?

动作是触发器的条件被触发后所执行的行为

可以是发送邮件、也可以是重启某个服务等

参考如下操作步骤:

  1. 创建触发器并设置标记
  2. 设置邮箱
  3. 创建Action动作

1.3 步骤

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

步骤一:创建触发器规则

1)创建触发器

创建触发器时强烈建议使用英文的语言环境,通过Configuration--> Templates,找到我们之前创建的count.line.passwd模板,点击模板后面的triggers,如图-1所示。

图-1

2)触发器表达式

创建触发器时需要定义表达式,触发器表达式(Expression)是触发异常的条件,触发器表达式格式如下:

{<server>:<key>.<function>(<parameter>)}<operator><constant>

{主机:key.函数(参数)}<表达式>常数

在如图-2所示的蓝色方框中编写触发器表达式,可以直接手写,也可以通过add选择表达式模板。

图-2

下面,我们看几个表达式的案例:

{web1:system.cpu.load[all,avg1].last(0)}>5 //0为最新数据

如果web1主机最新的CPU平均负载值大于5,则触发器状态Problem

{vfs.fs.size[/,free].max(5m)}<10G //5m为最近5分钟

根分区,最近5分钟的最大容量小于10G,则状态进入Problem

{vfs.file.cksum[/etc/passwd].diff(0)}>0 //0为最新数据

最新一次校验/etc/passwd如果与上一次有变化,则状态进入Problem

大多数函数使用秒作为参数,可以使用#来表示其他含义(具体参考表-1)。

avg, count, last, min and max 等函数支持额外的第二个参数time_shift(时间偏移量),这个参数允许从过去一段时间内引用数据。

3)配置触发器

设置触发器名称,如图-3所示,点击add添加表达式,填写表达式:监控项为账户数量,最近300秒账户数量大于26(根据系统账户数量实际填写),效果如图-4所示。

图-3

图-4

选择触发器报警级别,如图-5所示,Add创建该触发器,如图-6所示。

图-5

图-6

步骤二:设置邮件

1)创建Media

通过Administration(管理)-->Media Type(报警媒体类型)-->选择Email(邮件),如图-7所示。

图-7

设置邮件服务器信息,设置邮件服务器及邮件账户信息,如图-8所示。

图-8

2)为用户添加Media

在Administration(管理)-->Users(用户)中找到选择admin账户,如图-9所示。

图-9

点击Admin账户后,在弹出的界面中选择Media(报警媒介)菜单-->点击Add(添加)报警媒介,如图-10所示。

图-10

点击Add(添加)后,在Meida Type中填写报警类型,收件人,时间等信息,如图-11所示。

图-11

步骤三:创建Action动作

1)Action动作

Action(动作)是定义当触发器被触发时的时候,执行什么行为。

通过Configuration(配置)-->Actions(动作)-->Create action(创建动作),如图-12所示。

图-12

2)配置Action动作的触发条件

填写Action动作的名称,配置什么触发器被触发时会执行本Action动作(账户数量大于26),如图-13所示。

图-13

3)配置Action动作的具体行为

配置动作的具体操作行为(发送信息或执行远程命令),无限次数发送邮件,60秒1次,发送给Admin用户,如图-14和图-15所示。

图-14

图-15

4)测试效果

在被监控主机创建账户(让账户数量大于26),然后登录监控端Web页面,在仪表盘中查看问题报警(需要等待一段时间),如图-16所示。

图-16

查看报警邮件,在监控服务器上使用mail命令查收报警邮件,如图-17所示。

图-17

2 案例2:Zabbix自动发现

2.1 问题

沿用前面的练习,配置Zabbix的自动发现机制,实现以下目标:

  1. 创建自动发现规则
  2. 创建自动发现后的动作,添加主机、为主机链接模板

2.2 方案

什么是自动发现(Discovery)?

当Zabbix需要监控的设备越来越多,手动添加监控设备越来越有挑战,此时,可以考虑使用自动发现功能,自动添加被监控主机,实现自动批量添加一组监控主机功能。

自动发现可以实现:

  • 自动发现、添加主机,自动添加主机到组;
  • 自动连接模板到主机,自动创建监控项目与图形等。

自动发现(Discovery)流程:

  • 创建自动发现规则
  • 创建Action动作,说明发现主机后自动执行什么动作
  • 通过动作,执行添加主机,链接模板到主机等操作

2.3 步骤

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

步骤一&#x

### 如何在 Zabbix 中增加或自定义拓扑图 #### 准备工作 为了能够顺利创建和修改Zabbix中的拓扑图,需先确认已按照既定流程完成Zabbix的基础环境部署并成功添加被监控主机[^2]。 #### 上传背景图和图标 进入Zabbix Web界面,在准备创建拓扑图之前,可预先上传所需的背景图片以及代表不同设备类型的图标。这一步骤不仅有助于提高最终呈现效果的美观度,同时也便于更直观地区分各个组件之间的关系[^4]。 #### 创建新的拓扑图 通过导航栏访问到“配置”下的“模板”,选择合适的模板或是直接针对特定主机操作;点击右上角的“创建图形”按钮,并切换至“网络地图”的选项卡来启动新拓扑图的设计过程[^1]。 #### 编辑拓扑图添加元素 一旦进入了编辑模式,则可以通过拖拽的方式轻松地将先前选定的对象放置于画布之上。对于每一个加入的地图元素而言,均支持进一步调整其位置、大小乃至关联属性等细节设置。值得注意的是,除了静态显示外,还可以指定动态链接指向具体的资源页面或者执行某些动作,从而增强交互体验。 #### 将拓扑图集成到仪表板 为了让用户更加便捷地获取所需信息,建议把构建好的拓扑视图嵌入到个人化的仪表盘当中。只需前往“报表”—> “仪表盘”,随后选取希望展示的位置并插入对应的Gadget即可实现这一目的。 ```bash # 示例:检查是否能正常读取外部脚本用于扩展功能(如引用3所示) cat /etc/zabbix/zabbix_agentd.d/nginx_monitor.sh ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值