一、在agent端配置 mysql
1.1 添加自定義監控項 ios
zabbix中監控項叫作item,監控項的取值方法叫作key web
item: Items是從agnet主機裏面獲取的全部數據。一般狀況下我叫itme爲監控項,item由key+參數組成 正則表達式
Key:咱們能夠理解爲key是item的惟一標識,在agent端有不少監控項,zabbix-server根據key區分不一樣的監控項 sql
zabbix_server經過發送key給zabbix_agent,而後agent端口根據key,把所要監控的item的最新數據返回給server端 shell
例如添加一個簡單的自定義監控項:監控硬盤的tps值(tps即爲磁盤的 IOPS,KBPS 即爲磁盤每秒的吞吐量) vim
tps值的獲取能夠用iostat命令獲得,在使用iostat命令的時候須要先安裝 數組
[root@db01 ~]# yum install sysstat -y 服務器
[root@db01 ~]# iostat #此處獲得的tps值爲8.97 測試
Linux 3.10.0-327.el7.x86_64 (db01) 2018年06月11日 _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 #打印出全部zabbix的key值,能夠發現自定義的會出如今最後面,此處已經取到了值,取值爲5.69
二、在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 查看自定義監控項
點擊:監測中——>最新數據,過濾主機及應用集
自定義的監控項已經成功獲取到了值,相關監控圖形也生成了
三、批量增長自定義監控項
利用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也添加自定義的監控項,點擊:配置——>主機,選擇已經添加了自定義監控項的機器,點擊監控項,找到並勾選自定義的監控項,點擊複製
選擇目標並複製
按照此方法,就能夠批量爲多臺機器添加自定義的監控項
博主原創文章,轉載請務必註明出處