1、zabbix_sender介紹
zabbix獲取key值有超時時間,如果自定義的key腳本一般需要執行很長時間,這根本沒法去做監控,獲取數據有超時時間,如果一些數據需要執行比較長的時間才能獲取的話,那么zabbix會出現異常,考慮到這種情況,zabbix增加了Trapper功能,客戶端自己通過zabbix_sender提交數據給zabbix,這個通道便是trapper。使用zabbix監控類型zabbix trapper,需要配合zabbix_sender給它傳遞數據。執行超長時間腳本,如:腳本去幾十台服務器拉去數據,每個日志都上G,然后日志整合在一起,統計出返回值。這種腳本比如超時,所以我們必須改成讓客戶端提交數據的方式。
2、agent端安裝
安裝zabbix_sender,無需安裝zabbix_agent
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-sender-3.0.18-1.el7.x86_64.rpm
3、使用
3.1 server端創建一個監控項
選擇主機並創建監控項
自定義名稱,類型選擇zabbix采集器(zabbix trapper),鍵值自定義為user_logins
3.2 agent端使用sender發送數據
命令參數說明:
-c --config 配置文件絕對路徑
-z --zabbix-server zabbix server的IP地址
-p --port zabbix server端口.默認10051
-s --host 主機名,zabbix里面配置的主機名(不是服務器的hostname),不能使用ip地址
-I --source-address 源IP
-k --key 監控項的key
-o --value key值
-i --input-file 從文件里面讀取hostname、key、value 一行為一條數據,使用空格作為分隔符,如果主機名帶空格,那么請使用雙引號包起來
-T --with-timestamps 一行一條數據,空格作為分隔符: ,配合 --input-file option,timestamp為unix時間戳
-r --real-time 將數據實時提交給服務器
-v --verbose 詳細模式, -vv 更詳細
最簡易使用方法一:
zabbix_sender -z server -s host -k key -o value
最簡易使用方法二:
zabbix_sender -c config-file -k key -o value
最簡易使用方法三:
zabbix_sender -z server -i file
例如:
[root@db01 ~]# zabbix_sender -z 192.168.1.63 -s db01 -k user_logins -o 5
info from server: "processed: 0; failed: 1; total: 1; seconds spent: 0.004215"
sent: 1; skipped: 0; total: 1
[root@db01 ~]# zabbix_sender -z 192.168.1.63 -s db01 -k user_logins -o 8
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000042"
sent: 1; skipped: 0; total: 1
server查看最新數據
-o的值也可以引用命令:
[root@db01 ~]# zabbix_sender -z 192.168.1.63 -s db01 -k user_logins -o $(uptime|awk '{print $4}')
3.3使用腳本發送數據
[root@db01 scripts]# pwd
/service/scripts
[root@db01 scripts]# vim monitor_users.sh
#/bin/bash
login_users=`uptime|awk '{print $4}'`
zabbix_sender -z 192.168.1.63 -s db01 -k user_logins -o $login_users
執行腳本即可向server發送數據,可以進一步添加定時任務實現定時發送數據
3.4 使用zabbix_sender批量發送數據
首先多准備幾個zabbix_trapper類型的監控項
編寫批量列表,每行以hostname、key、value的方式
[root@db01 ~]# cat a.txt
db01 login.users 12
db01 login.users1 13
db01 login.users2 14
db01 login.users3 15
測試
[root@db01 ~]# zabbix_sender -z 192.168.1.63 -i a.txt
博主原創文章,轉載請務必注明出處