zabbix3.4新功能--使用宏变量来管理时间段

2021-02-03 10:07:13 浏览数 (1)

zabbix3.4新功能(二)

使用宏变量来管理时间段

老王往期回顾

Zabbix数据库优化

Zabbix 3.4版本的出现,在之前的Zabbix版本上增加了很多新的功能,本次主要讨论zabbix 宏变量在更新时间间隔和其他时间段中的使用。

前言

宏变量在zabbix系统中被广泛使用,在zabbix 3.4中宏变量又有哪些新增场景可以使用:

1、 历史数据与趋势数据保存间隔时间

2、 item更新间隔时间与存储时间

3、 Low-Level发现间隔时间

4、 Actions操作间隔时间

5、 And more……

用户宏功能的出现使zabbix具备更强大的灵活性,Zabbix除了开箱即用的宏,还支持全局宏、模板宏与主机宏。

宏变量的格式:{$MACRO}

Zabbix哪些地方可以使用宏变量,参考官方文档

PS:在Zabbix 3.4版本中支持时间后缀,如下:

s – 秒

m – 分钟

h – 小时

d – 天

w – 周

使用场景

应用在ITEM中

Zabbix可以灵活的配置ITEM的轮询时间,每个指标都可以自定义轮询时间间隔。

每个指标的更新时间也可以灵活的配置(参考”自定义时间间隔”),因此也可以在特定的时间表进行数据更新(例如:“每天下午18点开始”或“上班时间上午9点至下午18点”)。

类似的,我们也可以分别定义每个item的历史和趋势存储时间。

这些更新并不总是必要的,因此可以使用宏变量管理item更新时间、存储时间。

这些变量可以设置的全局变量中,当然如果有需要也可以设置模板宏或者主机宏。

一般来说,对于更新的时间间隔,你可以预设好一个全局宏集,然后你根据监控设备的重要性设置不同的时间间隔,例如:

通过这样的方式可以根据设备的优先级设置不同的ITEM数据采集时间间隔,当然这个操作不一定会适应所有人,因此在此只是建议。

应用在LLD中

(Low Level Discovery)

宏变量也可以在LLD发现规则中使用。

假设我们正在收集多个设备上的网络接口流量,为了降低zabbix的压力,我们可以这样做:

Ø 重要Interface可以设置1分钟轮询数据,历史数据保留30天,趋势数据保留1年。

Ø 其他Interface可以设置5分钟轮询数据,历史数据保留7天,趋势数据保留3个月。

因此我们可以这样做,定义全局宏{DELAY_IF}、{HISTORY_IF}、{

然后我们在item prototype中使用宏变量(“{#IFNAME}“对应的是设备接口的名称):

在时间间隔中根据设备Interface的名称进行设置,格式如下:

· {$DELAY_IF:”{#IFNAME}”}

· {$HISTORY_IF:”{#IFNAME}”}

· {$TREND_IF:”{#IFNAME}”}

然后我们需要在主机上设置一个主机宏(例如:对接口gi0/0.114使用宏):

现在我们通过“Monitor --> Latest data”来查看各个接口的数据更新时间与存储时间,通过下图我们可以看到,重要端口“gi0/0.114”有了自己的数据更新时间与存储时间。

如果你先改变或增加一个新的Interface的数据更新时间和存储时间,你只需要在主机上新增一个宏即可,你不需要改变模板、原型和发现规则,修改完成后立即生效。实际上,也不需要项模板要求写入权限。

应用在Actions中

Marco变量还可以使用在Actions的操作中,配置全局宏同样可以使用在Actions的操作轮询时间中:

应用在告警媒介中

宏变量在告警媒介中的使用:

结束语

在3.4版本的新功能中,使用好宏变量可以让你更好的管理zabbix,当你的系统需要经常微调的使用,可以使用用户宏的功能。

0 人点赞