天天看點

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

Zabbix 第五章 宏

  • 5.1 預設宏
    • 分類
      • 系統宏定義
      • 使用者宏定義
      • 低級自動發現宏變量
    • 宏變量函數
  • 5.2 自定義宏
    • 使用者自定義宏在全局變量的使用
    • 使用者自定義宏在監控模闆中的使用
    • 宏變量在主機的使用
    • 低級自動發現
  • 5.3 宏适用範圍

5.1 預設宏

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

分類

系統宏定義

故障{TRIGGER.STATUS},伺服器:{HOSTNAME1}發生:{TRIGGER.NAME}故障!

告警主機:{HOSTNAME1}
告警事件:{EVENT.DATE}  {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警資訊:{TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
目前狀态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

           

使用者宏定義

Administration——》General——》Macros

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

找到snmp定義的模闆

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

在模闆的最右邊也有Macros,可以看到定義的是逾時

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

可以看看{$SNMP_TIMEOUT}在哪裡應用的,點選Trigger

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

在SNMP_TIMEOUT時間内,如果最大值等于0就會觸發告警

用宏變量的優勢?

調整觸發器的值,直接調整宏變量的值。這樣模闆裡面Trigger所對應表達式的值也進行了相應的修改。

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

低級自動發現宏變量

在系統自帶裡面比較常見

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

@File systems for discovery在Administration ——》General——》Regular expressions能看到

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

宏變量函數

作用:把滿足宏變量的值 轉換成想要顯示的值

如果滿足 item.value 監控項最新資料 滿足等于0的話(比對正規表達式),就顯示宏變量正常

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

5.2 自定義宏

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

使用者自定義宏在全局變量的使用

一次修改,全局生效

第一步:建立全局宏

全局宏是在 Administration——》General ——》 Macro

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

第二步:全局宏變量應用到模闆當中

修改監控項:直接在之前建立的監控項基礎上 改個Nmae

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

修改觸發器:

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

檢視1

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

檢視2:修改宏變量的值達到觸發效果

因為宏定義設定的 $FINDSEC_GLOBAL_TRIGGER 設定的是1

隻要觸發器設定為不等于1,就觸發監控告警

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

修改為0

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

再次檢視,發現告警消失

以上是使用者自定義宏在全局變量的使用,并且通過模闆中監控項的名稱,觸發器表達式,觸發器的名稱 的配置和使用

使用者自定義宏在監控模闆中的使用

第一步:定義兩個宏變量

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

第二步:應用到監控項和觸發器

應用到監控項

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

應用到觸發器

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

檢視驗證1 監控項

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

檢視驗證2 觸發器

修改觸發器表達式的值為1

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

如果全局宏變量和模闆宏變量定義的名稱一樣,實際顯示哪個值呢?

模闆宏變量是優于全局宏變量的。 全局宏變量在上面已經有定義

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

如果一個主機的兩個模闆有相同名稱的宏變量 都與全局宏變量一緻的情況?

當一台主機有多個監控模闆的時候,宏變量會按照監控模闆的id進行排序,然後按照這個排序來查找對應宏變量名稱,如果宏變量在第一個模闆就存在了,那麼就會應用該模闆宏變量的值。後面幾個模闆也包含相同名稱的宏變量都不會應用那幾個模闆的宏變量,而是直接應用第一個比對到的。

第二個模闆,定義和第一個模闆相同名稱的宏變量,會直接應用第一個的值

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

如果所有的監控模闆模闆都不包含該宏變量,就會去查找全局宏變量

宏變量在主機的使用

第一步:找到主機

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

第二步:添加宏變量

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

第三步:找到模闆将定義的宏 應用到監控項和觸發器

找到模闆

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

應用到監控項

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

應用到觸發器

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

檢視1

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

檢視2,将告警恢複,再修改,後檢視

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

如果在主機宏增加一個和模闆宏,全局宏都有相等名稱的宏變量,zabbix會應用哪個宏變量的值

{$FINDSEC_GLOBAL_ITEM}

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

可以得知,優先級:主機宏>模闆宏>全局宏

低級自動發現

(沒有徹底搞懂,有空再補)

自動發現伺服器本地監聽的端口,對端口進行自動化的監控和告警

自動發現作業系統和動态變化的監控項

①定義低級别自動發現的監控項,key,運作的腳本

②建立對應的監控項原型

③建立對應的觸發器原型

④運作腳本驗證,web驗證

先确認 vim /etc/zabbix/zabbix_agentd.conf 配置包含

Include= /etc/zabbix/zabbix_agentd.d/*.conf

第一步:定義低級别自動發現的監控項

根據腳本或指令來生成低級别自動發現的宏

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
#vim /etc/zabbix/zabbix_agentd.conf
AllowRoot=1
這樣zabbix agent 以root使用者來運作

           

腳本驗證:

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

第二步:定義監控項的原型,主要是利用低級别自動發現産生的宏變量來動态的建立監控項或觸發器及其對應的圖形

建立監控項的原型

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

建立觸發器的原型

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

 ``

驗證:Configuration——》Hosts——》findsec_linux——》Application

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍
Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

将全局宏設定為0,告警

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

5.3 宏适用範圍

Zabbix 4.0企業級分布式監控 day04 第五章 宏5.1 預設宏5.2 自定義宏5.3 宏适用範圍

https://www.zabbix.com/documentation/4.0/manual/config/macros

https://www.zabbix.com/documentation/4.0/manual/appendix/macros/supported_by_location