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