目录
宏的类型
常用宏
定义和使用宏
宏的优先级
使用宏的示例
在 Zabbix 中,宏(Macros)是一个非常强大的功能,允许你在监控配置中使用动态变量。宏可以在各种配置项中使用,例如触发器、动作、通知、图形和模板等。下面是 Zabbix 宏的详细知识总结:
宏的类型
-
内置宏(Built-in Macros):
- Zabbix 提供了一些预定义的宏,可以在任何 Zabbix 项目中使用。
- 例如:
{HOST.NAME}
,{ITEM.VALUE}
,{TRIGGER.NAME}
,{EVENT.DATE}
,{USER.FULLNAME}
等。
-
用户宏(User Macros):
- 用户可以在主机、主机组、模板或全局范围内自定义宏。
- 例如:
{$MACRO_NAME}
。 - 用户宏可以在不同的级别上定义,如全局级别、主机组级别、主机级别和模板级别。
-
上下文宏(Context Macros):
- 用户宏的特殊形式,允许根据条件返回不同的值。
- 例如:
{$MACRO_NAME:condition}
。
-
敏感信息宏(Macros for Sensitive Information):
- 可以用于存储密码、令牌等敏感信息,这些宏的值在 Zabbix 前端中是隐藏的。
- 例如:
{$SECRET_MACRO}
。
常用宏
-
触发器相关宏:
{TRIGGER.NAME}
:触发器的名称。{TRIGGER.STATUS}
:触发器的状态。{TRIGGER.SEVERITY}
:触发器的严重性。{TRIGGER.URL}
:触发器的 URL。
-
事件相关宏:
{EVENT.ID}
:事件的 ID。{EVENT.DATE}
:事件的日期。{EVENT.TIME}
:事件的时间。{EVENT.RECOVERY.ID}
:恢复事件的 ID。
-
主机和项目相关宏:
{HOST.NAME}
:主机的名称。{HOST.IP}
:主机的 IP 地址。{ITEM.NAME}
:项目的名称。{ITEM.VALUE}
:项目的值。
-
用户相关宏:
{USER.FULLNAME}
:用户的全名。{USER.EMAIL}
:用户的电子邮件地址。{USER.PHONE}
:用户的电话号码。
定义和使用宏
- 全局宏:
- 在 Zabbix 管理界面,导航到 管理 ->
宏
-> 进行添加与更新,定义全局宏。
- 在 Zabbix 管理界面,导航到 管理 ->
- 主机组宏:
- 在主机组配置中,可以为特定主机组定义宏。
- 主机宏:
- 在主机配置中,可以为特定主机定义宏。
- 模板宏:
- 在模板配置中,可以为特定模板定义宏,这些宏会应用到所有使用该模板的主机上。
宏的优先级
当宏在不同的级别上定义时,Zabbix 按以下优先级解析宏:
- 主机级宏。
- 主机组级宏。
- 模板级宏。
- 全局级宏。
这意味着主机级宏会覆盖模板级宏,而模板级宏会覆盖全局级宏。
使用宏的示例
-
在触发器名称中使用宏:
{HOST.NAME}: CPU 负载过高
-
在通知消息中使用宏:
触发器: {TRIGGER.NAME} 主机: {HOST.NAME} 严重性: {TRIGGER.SEVERITY} 项目值: {ITEM.VALUE} 事件时间: {EVENT.TIME}
-
在 URL 中使用宏:
http://{HOST.IP}/服务状态
通过使用宏,Zabbix 的配置可以更加灵活和动态,减少重复配置的工作量,提高运维效率。