​8-zabbix_sender说明和安装

8-zabbix_sender说明和安装

zabbix_sender是一个命令行工具,可以用来发送Zabbix服务器处理性能数据。该工具通常用于长时间运行的用户脚本,用于定期发送可用性和性能数据。

zabbix Server获取key值有超时时间,如果自定义的key脚本需要执行很长时间,这将没法去做监控,而使用zabbix监控类型zabbix trapper,再配合zabbix_sender就可以给Zabbix Server传递监控数据另外如果不是Zabbix agent的主机,也可以通过 zabbix_sender工具和 crontab 实现监控和数据采集

范例: 安装 zabbix_sender

[root@ubuntu1804 ~]#apt -y install zabbix-sender
[root@centos8 ~]#yum -y install zabbix-sender
[root@ubuntu1804 ~]#zabbix_sender -V
zabbix_sender (Zabbix) 5.0.14
Revision 892ce506db 16 July 2021, compilation time: Jul 16 2021 14:45:07
Copyright (C) 2021 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.
This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.openssl.org/).
Compiled with OpenSSL 1.1.1  11 Sep 2018
Running with OpenSSL 1.1.1  11 Sep 2018


范例: 查看 zabbix_sender 使用

[root@ubuntu1804 ~]#zabbix_sender -h
 zabbix_sender [-v] -z server [-p port] [-I IP-address] -s host -k key -o value
-c --config < file >                 #配置文件绝对路径
-z --zabbix-server <server>          #zabbix server的IP地址
-p --port <server port>              #zabbix server端口.默认10051
-s --host < hostname >               #主机名,zabbix agent里面配置的主机名(不是服务器
的 hostname ),不能使用ip地址
-I -- source -address <IP address>   #源IP
-k --key <key>                       #监控项的key
-o --value <key value>               #key值
-i --input- file <input file >     #从文件里面读取 hostname 、key、value,其中一行为
一条数据,使用空格作为分隔符,如果主机名带空格,那么请使用双引号包起来
-T --with-timestamps              #一行一条数据,空格作为分隔符: < hostname > <key> 
<timestamp> <value>,配合 --input- file option,timestamp为unix时间戳
-r --real-time                       #将数据实时提交给服务器
-v  --verbose                         #详细模式, -vv 更详细
#示例
zabbix_sender -z 127.0.0.1 -s "appserver" -k db.connections -o 100


案例 使用zabbix_sender发送信息

image-20220728170458901.png


在非zabbix agent的客户端执行命令

[root@ubuntu1804 ~]#apt -y install zabbix-sender
[root@ubuntu1804 ~]#cat traper.txt
"Zabbix server" trapper_test "how are you?"
"Zabbix server" trapper_test "I am fine"
"Zabbix server" trapper_test "thank you"
"Zabbix server" trapper_test "how are you?"
#批量提交
[root@ubuntu1804 ~]#zabbix_sender -z 10.0.0.100 -i traper.txt 
Response from "10.0.0.100:10051": "processed: 4; failed: 0; total: 4; seconds 
spent: 0.000175"
sent: 4; skipped: 0; total: 4 #单个提交
[root@ubuntu1804 ~]#zabbix_sender -z 10.0.0.100 -s "Zabbix server" -k 
trapper_test -o "I am wangxiaochun"
Response from "10.0.0.100:10051": "processed: 1; failed: 0; total: 1; seconds 
spent: 0.000089"
sent: 1; skipped: 0; total: 1


image-20220728170531333.png


案例配置非 Zabbix agent 实现内存监控

在被监控主机创建采集监控项数据的脚本

[root@ubuntu1804 ~]#cat memory_monitor.sh
#!/bin/bash
hostname=$1
zabbix_server_ip=10.0.0.100
TotalMemory() {
     TotalMemory=`cat /proc/meminfo | awk '/^MemTotal:/{print $2}' `
     echo -e "\"$hostname\" monitor[TotalMemory] $TotalMemory" >> 
/tmp/memory_monitor.txt
}
FreeMemory() {
     FreeMemory=`cat /proc/meminfo | awk '/^MemFree:/{print $2}' `
     echo  "\"$hostname\" monitor[FreeMemory] $FreeMemory" >> 
/tmp/memory_monitor.txt
}
TotalMemory
FreeMemory
zabbix_sender -z $zabbix_server_ip -i /tmp/memory_monitor.txt &> /dev/null
if [ $? -eq  0 ]; then
     echo 0
else
     echo 1
fi
rm  -f /tmp/memory_monitor.txt

创建计划任务

[root@ubuntu1804 ~]#crontab -e
* * * * * /root/memory_monitor.sh "Zabbix server"


本文 暂无 评论

Top