zabbix自定義監控項一


1、在agent端配置

1.1 添加自定義監控項

zabbix中監控項叫做item,監控項的取值方法叫做key

item: Items是從agnet主機里面獲取的所有數據。通常情況下我叫itme為監控項,item由key+參數組成

Key:我們可以理解為key是item的唯一標識,在agent端有很多監控項,zabbix-server根據key區分不同的監控項

zabbix_server通過發送key給zabbix_agent,然后agent端口根據key,把所要監控的item的最新數據返回給server端

例如添加一個簡單的自定義監控項:監控硬盤的tps值(tps即為磁盤的 IOPS,KBPS 即為磁盤每秒的吞吐量)

tps值的獲取可以用iostat命令得到,在使用iostat命令的時候需要先安裝

[root@db01 ~]# yum install sysstat -y

[root@db01 ~]# iostat        #此處得到的tps值為8.97

Linux 3.10.0-327.el7.x86_64 (db01)     20180611     _x86_64_    (1 CPU)

 

avg-cpu: %user %nice %system %iowait %steal %idle

0.48 0.00 1.67 2.14 0.00 95.71

 

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

sda 8.97 168.68 10.91 186118 12042

[root@db01 ~]# iostat|awk '/^sda/{print $2}'    #利用正則表達式取出tps的值

7.98

[root@db01 ~]# vim /etc/zabbix/zabbix_agentd.conf        #修改zabbix-agent配置文件,在配置文件中設置允許並添加自定義監控項

284 UnsafeUserParameters=1    #默認為1,不修改也可以

自定義監控項的key值,格式為UserParameter=<key>,<shell command>,key值不能與現有的重復,現有的key值可以通過zabbix的web界面找到或者通過命令zabbix_agentd -p打印出來。命令最好使用全路徑

285 UserParameter=monitor_tps,/usr/bin/iostat|/usr/bin/awk '/^sda/{print $2}

1.2 重啟zabbix-agent服務

[root@db01 ~]# systemctl restart zabbix-agent.service

[root@db01 ~]# zabbix_agentd -p    #打印出所有zabbixkey值,可以發現自定義的會出現在最后面,此處已經取到了值,取值為5.69

2、在server端配置

2.1 測試zabbix-server主動獲取數據

在zabbix服務端使用zabbix-get

[root@zabbix ~]# yum install zabbix-get -y        #安裝

[root@zabbix ~]# zabbix_get -s 192.168.1.51 -p 10050 -k "monitor_tps"

3.86        #-s參數指定客戶端地址,-p指定端口,-k指定key值,這里獲取到客戶端的tps值為3.86

2.2 在zabbix的web界面添加自定義監控項

點擊:配置——>主機,選擇並點擊要添加自定義監控項的主機的監控項

點擊創建監控項,填寫相關信息后再點擊添加

其中的鍵值要與自定義的key值對應,即monitor_tps

數據類型tps值為小數,即浮點類型

數據更新間隔,歷史數據保留時長等要根據所添加的監控項合理設置

最后點擊添加

2.3 查看自定義監控項

點擊:監測中——>最新數據,過濾主機及應用集

自定義的監控項已經成功獲取到了值,相關監控圖形也生成了

3、批量增加自定義監控項

利用zabbix-agent的include方法,為每一個自定義的監控項創建一個配置文件,並將自定義的監控項發送到其他機器

[root@db01 ~]# vim /etc/zabbix/zabbix_agentd.conf        #修改配置文件

294 刪除自定義的單個監控項

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

[root@db01 ~]# cd /etc/zabbix/zabbix_agentd.d/

[root@db01 zabbix_agentd.d]# ls

userparameter_mysql.conf

[root@db01 zabbix_agentd.d]# vim tps.conf        #新建自定義監控項的配置文件

UserParameter=monitor_tps,/usr/bin/iostat|/usr/bin/awk '/^sda/{print $2}'

[root@db01 zabbix_agentd.d]# systemctl restart zabbix-agent.service    #重啟服務

[root@db01 zabbix_agentd.d]# scp tps.conf 10.0.0.63:`pwd`    #將配置文件發送到其他機器,這里發送到zabbix服務器上

[root@zabbix ~]# yum install sysstat -y

iosstat的命令在zabbix-server上並不具備,需要安裝,因此批量添加自定義監控項的時候要注意的是,自定義的監控項中所使用的命令必須存在

接下來在web界面上為zabbix-servver也添加自定義的監控項,點擊:配置——>主機,選擇已經添加了自定義監控項的機器,點擊監控項,找到並勾選自定義的監控項,點擊復制

選擇目標並復制

按照此方法,就可以批量為多台機器添加自定義的監控項

 

博主原創文章,轉載請務必注明出處


免責聲明!

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



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