(5)Zabbix用戶參數配置

用戶參數介紹:

       有時候當咱們運行的監控項目在zabbix預約義的key中沒有定義時,就須要咱們手動編寫zabbix用戶參數的方法來監控咱們要定義的項目。須要在zabbix agent端把相關獲取參數的命令寫入到配置文件中的UserParameter中,而後zabbix Server讀取配置文件中的返回值經過處理前端的方式返回給用戶。前端

定義方法以下:node

    在被監控端/etc/zabbix/zabbix_agentd.d/目錄下,建立*.conf結尾的文件,在文件內寫入獲取命令便可。
nginx

定義的語法以下:web

    UserParameter=key[*],commandvim

參數描述:bash

    Key:惟一. [*]表示裏面能夠傳遞多個參數服務器

    Command:須要執行的腳本,key[]裏面的參數一一對應$1$9,一共9個參數。$0表示腳本命令網絡

注意事項:curl

    若是須要使用命令行裏面出現$2這種變量,那麼你要使用兩個$$2,例如awk '{print $$2}',不然會獲取不到數據。分佈式

監控內存參數

示例:在被監控服務器node2的/etc/zabbix/zabbix_agentd.d/目錄下,建立一個os.conf文件,定義獲取內存的值

[root@node2 ~]# vim /etc/zabbix/zabbix_agentd.d/os.conf
UserParameter=os.memory.used,free -m | awk '/^mem/ {print $3}'
[root@node2 ~]# service zabbix-agent restart

Zabbix服務器應用新定義的用戶參數,這裏使用剛剛定義的建值

定義一個圖形:

能夠從圖形看到收集的相關數據了

客戶端還能夠監控其餘參數,如獲取第二段就是總空間,獲取第四段就是剩餘空間

[root@node2 ~]# vim /etc/zabbix/zabbix_agentd.d/os.conf
UserParameter=os.memory.used, free -m | awk '/^Mem/{print $3}'            #內存已用空間
UserParameter=os.memory.free, free -m | awk '/^Mem/{print $4}'            #內存剩餘空間
UserParameter=os.memory.total, free -m | awk '/^Mem/{print $2}'           #內存總空間
[root@node2 ~]# service zabbix-agent restart

在定義一個監控項監控內存剩餘空間

定義餅狀圖一塊兒顯示內存已用空間和剩餘空間

圖形預覽以下所示:

監控nginx狀態參數

安裝nginx

[root@node2 ~]# yum -y install nginx

配置nginx

[root@node2 ~]# vim /etc/nginx/conf.d/default.conf
  location /status {
      stub_status on;
      allow 172.16.0.0/16;
      deny all;
  }

設置完成訪問驗證:

顯示說明:

Active connections: 2   # 當前全部處於打開狀態的鏈接數;

server accepts handled requests

9 9 33

     (1) 已經接受過的鏈接數

     (2) 已經處理過的鏈接數

     (3) 已經處理過的請求數;在"保持鏈接"模式下,請求數量可能會多於鏈接數量;

Reading: 1 Writing: 1 Waiting: 0

     Reading:正處於接收請求狀態的鏈接數;

     Writing: 請求已經接收完成,正處於處理請求或發送響應的過程當中的鏈接數;

     Waiting:保持鏈接模式,且處於活動狀態的鏈接數;


定義UserParameter用來獲取指定參數的值:

[root@node2 ~]# vim /etc/zabbix/zabbix_agentd.d/nginx.conf
UserParameter=Nginx.active[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^Active/ {print $NF}'         #監控active
UserParameter=Nginx.reading[*], /usr/bin/curl -s "http://$1:$2/status" | grep 'Reading' | cut -d" " -f2    #監控reading
UserParameter=Nginx.writing[*], /usr/bin/curl -s "http://$1:$2/status" | grep 'Writing' | cut -d" " -f4    #監控writing
UserParameter=Nginx.waiting[*], /usr/bin/curl -s "http://$1:$2/status" | grep 'Waiting' | cut -d" " -f6    #監控waiting
UserParameter=Nginx.accepted[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$1}'  #監控已接受鏈接
UserParameter=Nginx.handled[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$2}'   #監控處理過的鏈接
UserParameter=Nginx.requests[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$3}'  #監控已經處理過的請求數
[root@node2 ~]# service zabbix-agent restart

定義一個監控項,監控已經處理過的請求數


定義圖形


這個時候就能夠看到監控的參數了


若是須要獲取其餘的參數,只須要在建立項目時設置相對應的key和對應的值便可。


相關內容:

(1)Zabbix2.4.5安裝配置:http://ximenfeibing.blog.51cto.com/8809812/1670988

(2)Zabbix客戶端監控+報警:http://ximenfeibing.blog.51cto.com/8809812/1670999

(3)Zabbix宏設置:http://ximenfeibing.blog.51cto.com/8809812/1671024

(4)使用zabbix監控web:http://ximenfeibing.blog.51cto.com/8809812/1671032

(4)Zabbix用戶參數配置:http://ximenfeibing.blog.51cto.com/8809812/1671039

(6)Zabbix模版+網絡發現:http://ximenfeibing.blog.51cto.com/8809812/1671041

(7)Zabbix分佈式監控proxy實現:http://ximenfeibing.blog.51cto.com/8809812/1671048

相關文章
相關標籤/搜索