zabbix用戶宏變量詳解macro


zabbix宏變量讓zabbix變得更靈活,變量可以定義在主機、模板以及全局,變量名稱類似:{$MACRO},宏變量都是大寫的。認識了宏變量,你會感嘆zabbix越發的強大。

變量可以用於如下地方:

  • item名稱
  • item key參數
  • 觸發器名稱和描述
  • 觸發器表達式
  • 其他地方

宏名稱

宏變量名稱定義只允許后面包含后面的字符: A-Z , 0-9 , _ , .

zabbix宏變量優先級:

  • 主機宏(checked first)
  • 主機模板定義的宏,如果有多個模板,那么按照模板越靠前那么宏的優先級越高
  • 全局宏(checked last)

話句話說,zabbix找一個宏的值,首先檢查hosts有沒有,如果沒有那么找當前主機的第一個模板,如果還不在找第二個模板,一直到最后一個模板,如果還是沒有找到那將會使用全局宏。如果全局宏也不存在,那么宏變量不會被替換掉。

自定義宏

定義全局宏, Administration → General → Macros,例如宏名稱${TTLSA_SITE},值www.ttlsa.com.

定義主機/模板級宏變量,編輯主機或者模板,找到Macros選項卡,定義宏變量

宏變量經常用於替代賬號、端口、密碼等,例如你的某個監控想有用到賬號、密碼,可以定義為宏,假如下次賬號密碼有修改,只需要修改宏即可。而不需要每個監控項都去修改賬號密碼。

宏變量使用實例

示例一

主機SSH服務:

net.tcp.service[ssh,{$SSH_PORT}]

如果你監控的ssh端口可能會有不同,那么你只需要定義host級別宏變量SSH_PORT

示例二

主機CPU負載觸發器

{ca_001:system.cpu.load[,avg1].last(0)}>{$MAX_CPULOAD}

例如有三台主機A\B\C,A主機定義的MAX_CPULOAD為1,B定義的MAX_CPULOAD為2,C定義MAX_CPULOAD為3,這三台link同一個模板即可。

示例三

主機CPU負載觸發器(使用2個宏)

{ca_001:system.cpu.load[,avg1].min({$CPULOAD_PERIOD})}>{$MAX_CPULOAD}

宏可以作為function的一個參數。

來源:http://www.ttlsa.com/zabbix/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM