日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

自动化监控--zabbix中的Macros(宏)详解

發(fā)布時(shí)間:2025/4/16 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自动化监控--zabbix中的Macros(宏)详解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Zabbix支持許多在多種情況下使用的宏。宏是一個(gè)變量,由如下特殊語(yǔ)法標(biāo)識(shí):

{MACRO}

根據(jù)在上下文中, 宏解析為一個(gè)特殊的值。有效地使用宏可以節(jié)省時(shí)間,并使Zabbix變地更加高效。

在一個(gè)的典型用途中,宏可以用于模板中。因此,模板的觸發(fā)器可能命名為Processor load is too high on {HOST.NAME}。當(dāng)這個(gè)模板應(yīng)用與主機(jī)(如 Zabbix Server )時(shí),并且當(dāng)觸發(fā)器展示在監(jiān)控頁(yè)面上時(shí),觸發(fā)器的名稱講解析為Processor load is too high on Zabbix server。

宏可以在監(jiān)控項(xiàng)鍵值參數(shù)中使用。宏只能用在監(jiān)控項(xiàng)鍵值參數(shù)的一部分中,例如item.key[server_{HOST.HOST}_local] 。雙引號(hào)參數(shù)不是必須的,因?yàn)閆abbix將處理任何模糊不清的特殊參數(shù)(如果這些參數(shù)存在于已解析的宏中)。

宏函數(shù)

宏函數(shù)能提供自定義宏值的功能。

有時(shí)候宏可能會(huì)解析為一個(gè)不一定易于使用的值。它可能很長(zhǎng),或包含你想提取的一個(gè)特殊感興趣的子字符串。這在宏函數(shù)中是可以使用的。
宏函數(shù)的語(yǔ)法為:

{<macro>.<func>(<params>)} 其中:<macro> - 這個(gè)參數(shù)為要定義的宏 (例如 {ITEM.VALUE}); <func> - 要應(yīng)用的函數(shù); <params> - 以逗號(hào)分隔的函數(shù)參數(shù)列表。如果他們以 (空格), " 或者包含 ), ,這些符號(hào)開(kāi)始,則參數(shù)必須要引用。 例如:{{ITEM.VALUE}.regsub(pattern, output)}

用戶宏

概述

除了支持開(kāi)箱即用的宏之外,Zabbix 還支持更靈活的用戶宏。

用戶宏可以在全局、模板和主機(jī)級(jí)別進(jìn)行定義。這些宏具有一個(gè)特殊的語(yǔ)法:

{$MACRO}

用戶宏可被用于:

  • 監(jiān)控項(xiàng)名稱;
  • 監(jiān)控項(xiàng)鍵值參數(shù);
  • 觸發(fā)器名稱和描述;
  • 觸發(fā)器表達(dá)式參數(shù)和常量
  • 許多其他位置

宏名稱中允許使用以下字符:A-Z , 0-9 , _ , . 。

Zabbix 根據(jù)以下優(yōu)先級(jí)解析宏:

  • 主機(jī)級(jí)別的宏 (首先檢查);
  • 為主機(jī)的第一級(jí)別模板定義的宏(即,直接鏈接到主機(jī)的模板),按照模板 ID 來(lái)排序;
  • 為主機(jī)的第二級(jí)別模板定義的宏,按照模板 ID 來(lái)排序;
  • 為主機(jī)的第三級(jí)別模板定義的宏,按照模板ID來(lái)排序,等;
  • 全局宏 (最后檢查)。
  • 換言之,如果一個(gè)主機(jī)不存在一個(gè)宏, Zabbix 將會(huì)嘗試在級(jí)別遞增的主機(jī)模板中找到它,如果仍然找不到,那么將會(huì)使用全局宏(如果全局宏存在的話)。

    如果 Zabbix不能找到宏, 那么宏將不能被解析。
    Administration → General → Macros
    如果要定義用戶宏,轉(zhuǎn)到Zabbix的web頁(yè)面的如下位置:

    • 對(duì)于全局宏,請(qǐng)?jiān)L問(wèn) Administration → General → Macros;
    • 對(duì)于主機(jī)和模板級(jí)別的宏,打開(kāi)主機(jī)或模板屬性并查看 宏 標(biāo)簽頁(yè)面。

      注意:如果在模板的監(jiān)控項(xiàng)或觸發(fā)器使用用戶宏,建議將該宏添加到模板,即使它被定義在全局級(jí)別上。這樣的話,將模板導(dǎo)出至XML文件中,之后在其他系統(tǒng)中導(dǎo)入,那么在其他系統(tǒng)中使用也將會(huì)達(dá)到預(yù)期的使用效果。

    全局和主機(jī)宏的常用案例

    • 利用具有主機(jī)特定屬性的模板:密碼、端口號(hào)、文件名稱、正則表達(dá)式等;
    • 運(yùn)用全局宏進(jìn)行全局的一鍵配置更改或微調(diào)。

    示例1
    在 “Status of SSH daemon” 監(jiān)控項(xiàng)鍵值中使用主機(jī)級(jí)別的宏:

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

    該監(jiān)控項(xiàng)可以分配給多個(gè)主機(jī),前提是在這些主機(jī)上定義了 {$SSH_PORT} 的值。
    示例 2

    在 “CPU load is too high” 觸發(fā)器上使用主機(jī)級(jí)別的宏:

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

    這樣的觸發(fā)器將會(huì)在模板上創(chuàng)建,而不會(huì)在單個(gè)主機(jī)中編輯。

    如果要使用數(shù)值作為函數(shù)參數(shù)
    注意:如果要使用數(shù)值作為函數(shù)參數(shù)(例如,max(#3)),則在宏定義中要包含井號(hào)(hash mark)例如:SOME_PERIOD ? #3

    示例 3

    在“CPU load is too high”觸發(fā)器中使用了兩個(gè)宏:

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

    請(qǐng)注意,宏可以用作觸發(fā)器函數(shù)的參數(shù),在這個(gè)示例中為 min() 。
    注意:在觸發(fā)器表達(dá)式中,如果引用參數(shù)或者常量,則用戶宏將會(huì)解析。如果引用主機(jī)、監(jiān)控項(xiàng)鍵值、函數(shù)、操作或其他觸發(fā)器表達(dá)式的話,他們將不會(huì)解析。

    ------做運(yùn)維之前很矯情的小年輕-----

    總結(jié)

    以上是生活随笔為你收集整理的自动化监控--zabbix中的Macros(宏)详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。