<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] * * * * * > * 有的時候zabbix提供的監控項目,不能滿足我們生產環境下的監控需求,此時我們就要按照zabbix的規范自定義監控項目,達到監控的目的 > * zabbix_get:模擬zabbix_server和agent獲取數據 * 相關概念 > * item: Items是從agnet主機里面獲取的所有數據。通常情況下我叫itme為監控項,item由key+參數組成 > * Key:我們可以理解為key是item的唯一標識,在agent端有很多監控項,zabbix-server根據key區分不同的監控項 > * trigger:觸發器是建立在item數據上的,具有閾值觸發事件的功能 基本格式: <server>:<key>.<function>(<parameter>)}<operator><constant> server:agent名稱,加入主機時配置的 key:就是上面說的key function:對閾值進行操作的函數,以下函數 operate:表達式 constant:常量 > 例如:{docker02:proc.mysql.last()}<>1 > * 不用擔心trigger表達式不好寫,在定義好item后,在zabbix點點就自動生成了 ~~~ zabbix_get -s 192.168.56.131 -p 10050 -k "proc.item[/usr/sbin/mysqld,mysql]" 【option】 # -s:指定agent地址 # -p:agent端口 # -k:指定item的key # [/usr/sbin/mysqld,mysql]:向腳本傳遞了兩個參數,用逗號分隔 ~~~ * * * * * #### * 下面以監控mysql進程為例,做了自定義監控 * * * * * ### 1. zabbix_server與zabbix_agent ![](https://box.kancloud.cn/064b243ede8a779a7b1695560d109dfc_461x224.png) >* zabbix_server通過發送key給zabbix_agent,然后agent端口根據key,把所要監控的item的最新數據返回給server端 * * * * * ### 2. 自定義監控項 > * 自定義腳本格式 ~~~ key[*],[command|sh] # <key[參數]>,<命令或者腳本> # [*]:固定格式,表示server端是否傳過來參數,在命令或者腳本中用$1,23...引用,shell腳本中的引用$$1,2,3..引用, # 如果server端不傳參數,[*]可以不寫 ~~~ > #### 2.1 修改agent端配置文件,自定義key ~~~ sudo vim /etc/zabbix/zabbix_agentd.conf ~~~ * 做以下修改 ~~~ UnsafeUserParameters=1 # 默認為0,表示不允許自定義key # 監控mysql進程是否存在,[*]因為不需要server端傳遞參數,所以沒寫 UserParameter=proc.mysql,ps -ef|grep /usr/sbin/mysqld|grep -v grep|wc -l ~~~ > #### 2.2 web頁面配置,加入自定義監控項 > 1. 【配置】->【主機】,點擊所要監控的主機 ![](https://box.kancloud.cn/4220485ea7fa879a44789c6182aa9d77_1167x413.png) > 2. 點擊【監控項】 ![](https://box.kancloud.cn/6917af5c4c5d0666b465f2faad76cf7a_1093x453.png) > 3. 點擊右上角【創建監控項】 ![](https://box.kancloud.cn/48a79742312a7bd9f2985adf124937b7_1585x216.png) > 4. 創建監控項 > * 這里的key值對應我們在agent端自定義的key ![](https://box.kancloud.cn/f14c4ae157a6dfb70fabab84e3b3b16d_1663x621.png) * 重啟agent服務 ~~~ sudo service zabbix-agent restart ~~~ #### 2.4 查看item返回的數據:【檢測中】->【最新數據】 最新數據是zabbix所有監控項的收集的數據的概覽,從這可以看到監控項最新的監控值 ![](https://box.kancloud.cn/014fcc8a9fb6e0c1c39a1b73b4b11692_1633x498.png) > 從圖中可以看到,mysql監控項返回的數值是1,說明mysql的進程數為1,代表mysql運行正常,如果想要可以郵件報警,可以給這個自定義的item添加觸發器,參考“監控進程和端口號”一章 * * * * * ### 3. 執行腳本練習 > * 執行自定義腳本監控,agent通過server端發來的參數,執行腳本返回一個結果給server 1. 修改zabbix_agent配置文件,添加自定義key ~~~ sudo vim /etc/zabbix/zabbix_agentd.conf ~~~ * 做以下修改 ~~~ UserParameter=proc.item[*],/home/tuna/shelles/zabbix/user_defined.sh $1 $2 # server端要向agent端發送兩個參數 ~~~ ![](https://box.kancloud.cn/74ab6928edc02cacc6249f1102e63fd4_971x260.png) 2. 寫腳本 ~~~ vim user_defined.sh ~~~ ~~~ #!/bin/bash PROC=$1 # 接收用于匹配進程的字段 USER=$2 # 接收進程的開啟者 ps -ef|grep "$PROC"|grep -v grep|awk '{if($1=="'$USER'"){print $2}}'|wc -l ~~~ * 測試一下 ~~~ zabbix_get -s 192.168.56.131 -p 10050 -k "proc.item[/usr/sbin/mysqld,mysql]" # [/usr/sbin/mysqld,mysql]:模擬server端向agent端發送了兩個參數,分別是/usr/sbin/mysqld用于匹配進程,mysql:進程的發起者 ~~~ * 如果沒有zabbix_get,就網上下載一個,放到/usr/local/bin目錄下,并賦予執行權限。 * ![](https://box.kancloud.cn/80698ddf40e8f1c165896f918ea471e8_1024x84.png) * 接著就一樣的配置監控項就可以了
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看