zabbix_sender是什么?有什么作用

zabbix获取key值有超时时间,如果自定义的key脚本一般需要执行很长时间,这根本没法去做监控,那怎么办呢?使用zabbix监控类型zabbix trapper,需要配合zabbix_sender给它传递数据

关于trapper的用法,我们来弄个实例。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

执行超长时间脚本,如:脚本去几十台服务器拉去数据,每个日志都上G,然后日志整合在一起,统计出返回值。这种脚本比如超时,所以我们必须改成让客户端提交数据的方式。

zabbix_sender命令详解

语法

 
1 usage: zabbix_sender [-Vhv] {[-zpsI] -ko | [-zpI] -T -i <file> -r} [-c <file>]

使用参数

 
1 2 3 4 5 6 7 8 9 10 11   -c --config <file>                   配置文件绝对路径   -z --zabbix-server <server>            zabbix server的IP地址   -p --port <server port>                   zabbix server端口.默认10051   -s --host <hostname>                    主机名,zabbix配置文件中配置的主机名(不是服务器的hostname),不能使用ip地址   -I --source-address <IP address>    IP   -k --key <key>                              监控项的key, 自定义   -o --value <key value>                   key值   -i --input-file <input file>                从文件里面读取hostname(-s)、key(-k)、value(-o) 一行为一条数据,使用空格作为分隔符,如果主机名带空格,那么请使用双引号包起来   -T --with-timestamps                      一行一条数据,空格作为分隔符: <hostname> <key> <timestamp> <value>,配合 --input-file option,timestamp为unix时间戳   -r --real-time                                 将数据实时提交给服务器   -v --verbose                                  详细模式, -vv 更详细

 

 

zabbix_sender使用实例

 

 
1 2 3 # ./zabbix_sender -s 127.0.0.1 -z 127.0.0.1 -k "ttlsa.trapper" -o 1 info from server: "processed: 0; failed: 1; total: 1; seconds spent: 0.000024" sent: 1; skipped: 0; total: 1

ttlsa.trapper:是我们定义好的key

-0 1:1是key值

failed:错误数,说了-s不能用ip地址,那么我们改成配置文件中得主机名吧

 
1 2 3 # ./zabbix_sender -s "Zabbix server" -z 127.0.0.1 -k "ttlsa.trapper" -o 1 info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000035" sent: 1; skipped: 0; total: 1

zabbix_sender批量传递key值

 
1 2 3 4 5 6 7 8 9 #cat f.txt "Zabbix server" ttlsa.trapper 10 "Zabbix server" ttlsa.trapper 20 "Zabbix server" ttlsa.trapper 30 "Zabbix server" ttlsa.trapper 40 "Zabbix server" ttlsa.trapper 1 # ./zabbix_sender -z 127.0.0.1 -i f.txt info from server: "processed: 5; failed: 0; total: 5; seconds spent: 0.000085" sent: 5; skipped: 0; total: 5

 

每行对应一个key值,一般是不同的主机名、不同的key、不同的key值。这边方便测试,所以都用了同一个key

 

官方示例:

Example(s):
zabbix_sender -z 127.0.0.1 -s "Linux DB3" -k db.connections -o 43

 

zabbix_sender -z 127.0.0.1 -s "Linux DB3" -k db.connections -o 43 \
  --tls-connect cert --tls-ca-file /home/zabbix/zabbix_ca_file \
  --tls-server-cert-issuer \
    "CN=Signing CA,OU=IT operations,O=Example Corp,DC=example,DC=com" \
  --tls-server-cert-subject \
    "CN=Zabbix proxy,OU=IT operations,O=Example Corp,DC=example,DC=com" \
  --tls-cert-file /home/zabbix/zabbix_agentd.crt \
  --tls-key-file /home/zabbix/zabbix_agentd.key

 

zabbix_sender -z 127.0.0.1 -s "Linux DB3" -k db.connections -o 43 \
  --tls-connect psk --tls-psk-identity "PSK ID Zabbix agentd" \
  --tls-psk-file /home/zabbix/zabbix_agentd.psk

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄