一、.宏介紹
宏是一種抽象概念(Abstraction),它根據一些列預定義的規則替換一定的文本模式,而解釋或編譯器在遇到宏時會自動進行這一模式替換。類似地,zabbix基於宏保存預設文本模式,並且在調用時將其替換爲其中的文本。
二、使用場景
主機宏(HOST)--優先級最高,直接在主機上進行設置
主機模板定義的宏--優先級次之。,如果有多個模板,那麼按照模板越靠前那麼宏的優先級越高(Template)
全局宏(checked last)
樂維小tips:,zabbix找一個宏的值,首先檢查hosts有沒有,如果沒有那麼找當前主機的第一個模板,如果還不在找第二個模板,一直到最後一個模板,如果還是沒有找到那將會使用全局宏。如果全局宏也不存在,那麼宏變量不會被替換掉。
宏變量經常用於替代賬號、端口、密碼等,例如你的某個監控想有用到賬號、密碼,可以定義爲宏,假如下次賬號密碼有修改,只需要修改宏即可。而不需要每個監控項都去修改賬號密碼。
宏的命名規範:大寫字母、數組、下劃線的組合,只能大寫字母開頭。
三、內置{MACRO}
不需要加$就可以引用:
zabbix有許多內置的宏,如{HOST.NAME}、{HOST.IP}、{TRIGGER.DESCRIPTION}、{TRIGGER.NAME}、{TRIGGER.EVENTS.ACK}等。
舉例部分宏:
轉自
(出處: 樂維)