Zabbix 第五章 宏
5.1 默认宏
分类
系统宏定义
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
告警主机:{HOSTNAME1}
告警事件:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
用户宏定义
Administration——》General——》Macros
找到snmp定义的模板
在模板的最右边也有Macros,可以看到定义的是超时
可以看看{$SNMP_TIMEOUT}在哪里应用的,点击Trigger
在SNMP_TIMEOUT时间内,如果最大值等于0就会触发告警
用宏变量的优势?
调整触发器的值,直接调整宏变量的值。这样模板里面Trigger所对应表达式的值也进行了相应的修改。
低级自动发现宏变量
在系统自带里面比较常见
@File systems for discovery在Administration ——》General——》Regular expressions能看到
宏变量函数
作用:把满足宏变量的值 转换成想要显示的值
如果满足 item.value 监控项最新数据 满足等于0的话(匹配正则表达式),就显示宏变量正常
5.2 自定义宏
用户自定义宏在全局变量的使用
一次修改,全局生效
第一步:创建全局宏
全局宏是在 Administration——》General ——》 Macro
第二步:全局宏变量应用到模板当中
修改监控项:直接在之前创建的监控项基础上 改个Nmae
修改触发器:
查看1
查看2:修改宏变量的值达到触发效果
因为宏定义设置的 $FINDSEC_GLOBAL_TRIGGER 设置的是1
只要触发器设置为不等于1,就触发监控告警
修改为0
再次查看,发现告警消失
以上是用户自定义宏在全局变量的使用,并且通过模板中监控项的名称,触发器表达式,触发器的名称 的配置和使用
用户自定义宏在监控模板中的使用
第一步:定义两个宏变量
第二步:应用到监控项和触发器
应用到监控项
应用到触发器
查看验证1 监控项
查看验证2 触发器
修改触发器表达式的值为1
如果全局宏变量和模板宏变量定义的名称一样,实际显示哪个值呢?
模板宏变量是优于全局宏变量的。 全局宏变量在上面已经有定义
如果一个主机的两个模板有相同名称的宏变量 都与全局宏变量一致的情况?
当一台主机有多个监控模板的时候,宏变量会按照监控模板的id进行排序,然后按照这个排序来查找对应宏变量名称,如果宏变量在第一个模板就存在了,那么就会应用该模板宏变量的值。后面几个模板也包含相同名称的宏变量都不会应用那几个模板的宏变量,而是直接应用第一个匹配到的。
第二个模板,定义和第一个模板相同名称的宏变量,会直接应用第一个的值
如果所有的监控模板模板都不包含该宏变量,就会去查找全局宏变量
宏变量在主机的使用
第一步:找到主机
第二步:添加宏变量
第三步:找到模板将定义的宏 应用到监控项和触发器
找到模板
应用到监控项
应用到触发器
查看1
查看2,将告警恢复,再修改,后查看
如果在主机宏增加一个和模板宏,全局宏都有相等名称的宏变量,zabbix会应用哪个宏变量的值
{$FINDSEC_GLOBAL_ITEM}
可以得知,优先级:主机宏>模板宏>全局宏
低级自动发现
(没有彻底搞懂,有空再补)
自动发现服务器本地监听的端口,对端口进行自动化的监控和告警
自动发现操作系统和动态变化的监控项
①定义低级别自动发现的监控项,key,运行的脚本
②创建对应的监控项原型
③创建对应的触发器原型
④运行脚本验证,web验证
先确认 vim /etc/zabbix/zabbix_agentd.conf 配置包含
Include= /etc/zabbix/zabbix_agentd.d/*.conf
第一步:定义低级别自动发现的监控项
根据脚本或命令来生成低级别自动发现的宏
#vim /etc/zabbix/zabbix_agentd.conf
AllowRoot=1
这样zabbix agent 以root用户来运行
脚本验证:
#zabbix_get -s 10.211.55.10 -p 10050 -k "listen.ports.discovery"
第二步:定义监控项的原型,主要是利用低级别自动发现产生的宏变量来动态的创建监控项或触发器及其对应的图形
创建监控项的原型
创建触发器的原型
``
验证:Configuration——》Hosts——》findsec_linux——》Application
将全局宏设置为0,告警
5.3 宏适用范围
https://www.zabbix.com/documentation/4.0/manual/config/macros
https://www.zabbix.com/documentation/4.0/manual/appendix/macros/supported_by_location