1. 程式人生 > >zabbix自定義監控項一

zabbix自定義監控項一

key IT 客戶端 9.png server 獲取數據 查看 發送 x86_64

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也添加自定義的監控項,點擊:配置——>主機,選擇已經添加了自定義監控項的機器,點擊監控項,找到並勾選自定義的監控項,點擊復制

技術分享圖片

選擇目標並復制

技術分享圖片

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

技術分享圖片

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

zabbix自定義監控項一