官方文档
https://www.zabbix.com/documentation/5.0/zh/manual/config/macros
### 内置宏
https://www.zabbix.com/documentation/5.0/zh/manual/appendix/macros/supported_by_location
## 切换到英文
https://www.zabbix.com/documentation/5.2/en/manual/appendix/macros/supported_by_location
宏介绍
宏
是一种抽象概念(Abstraction),它根据一些列预定义的规则替换一定的文本模式,而解释或编译器在遇到宏时会自动进行这一模式替换。
类似地,zabbix基于宏保存预设文本模式,并且在调用时将其替换为其中的文本
Zabbix内置宏变量总结
Zabbix有很多内置的宏变量,有了宏变量之后,我们可以在zabbix的web页面上使用变量的形式去应用,非常的灵活和方便。现在对Zabbix的内置的宏变量进行总结如下:
## 主机相关
{HOST.HOST} 告警主机名
{HOST.NAME} Visible host name(主机可见名称)
{HOST.IP} 主机IP
{HOST.METADATA} 设备元数据(自动注册的时候会发这种宏的通知给你)
## 主机组
主机组: {TRIGGER.HOSTGROUP.NAME}
## 时间相关
{DATE} 当前时间
{EVENT.DATE} {EVENT.TIME} 告警时间
## 触发器相关
{TRIGGER.SEVERITY} 触发器告警等级
{TRIGGER.NAME} 触发器名
{TRIGGER.KEY1} 触发器告警项目
{TRIGGER.STATUS} 触发器状态
## 监控项相关
{ITEM.NAME}:{ITEM.VALUE} 监控项名
## 动作( Action)相关
{ACTION.ID} Action(动作)的数字标识
{ACTION.NAME} Action(动作)名
## 自动发现相关
{DISCOVERY.DEVICE.IPADDRESS} 被发现的设备地址
{DISCOVERY.DEVICE.STATUS} 被发现设备的状态: 可能是Up 或 Down
## 事件(EVENT)相关
{EVENT.ACK.STATUS} 事件的确认状态
{EVENT.AGE} 触发动作的事件持续时间
{EVENT.ID} 触发动作的事件数字标识
{EVENT.STATUS} 触发动作的事件状态
zabbix告警模板参考
**<font color='red'>【告警】zabbix通知</font>**
**主机名: {HOST.NAME1}**
**主机组: {TRIGGER.HOSTGROUP.NAME}**
**主机IP: {HOST.IP}**
- 监控项目: {ITEM.NAME}
- 监控取值: {ITEM.LASTVALUE}
- 告警等级: {TRIGGER.SEVERITY}
- 当前状态: {TRIGGER.STATUS}
- 告警信息: {TRIGGER.NAME}
- 告警时间: {EVENT.DATE} {EVENT.TIME}
- 事件ID: {EVENT.ID}
- 事件标记: {EVENT.TAGS}
宏变量很多,以上我只是列举出常用的,其他的可以看看我最上面给出的官方文档链接。
利用宏变量画图
有了宏变量之后,我们在绘制拓扑图的时候就可以很方便的引用拓扑图进行绘制了。
如果正常会是如下的图:
如果不正常,链路会变红,便且标签会显示哪个触发器告警。
Tag 标记
官网: https://www.zabbix.com/documentation/4.0/zh/manual/config/triggers/event_tags
在Zabbix中有自定义事件标记的选项。在触发器级上定义事件标记。定义标记后,相应的新事件将被标记为数据标记。
首先我们在模板的触发器上打Tag标记:
配置维护期
用于不告警特定触发器的内容(因为有时候要晚上要跑定时任务,所以需要不频繁告警)