zabbix_sender提交item数据(72)

凉白开 zabbix1342,88113字数 1727阅读5分45秒阅读模式

zabbix_sender是什么?有什么作用

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

执行超长时间脚本,如:脚本去几十台服务器拉去数据,每个日志都上G,然后日志整合在一起,统计出返回值。这种脚本比如超时,所以我们必须改成让客户端提交数据的方式。文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix_sender-get-item/

zabbix_sender命令详解

语法文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix_sender-get-item/

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

使用参数文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix_sender-get-item/

  -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、key、value 一行为一条数据,使用空格作为分隔符,如果主机名带空格,那么请使用双引号包起来
  -T --with-timestamps              一行一条数据,空格作为分隔符: <hostname> <key> <timestamp> <value>,配合 --input-file option,timestamp为unix时间戳
  -r --real-time                      将数据实时提交给服务器
  -v --verbose                         详细模式, -vv 更详细

 文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix_sender-get-item/

 文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix_sender-get-item/

zabbix_sender使用实例

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

ttlsa.trapper:是我们定义好的key文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix_sender-get-item/

-0 1:1是key值文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix_sender-get-item/

failed:错误数,说了-s不能用ip地址,那么我们改成配置文件中得主机名吧文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix_sender-get-item/

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

zabbix_sender批量传递key值文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix_sender-get-item/

#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

 文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix_sender-get-item/

每行对应一个key值,一般是不同的主机名、不同的key、不同的key值。这边方便测试,所以都用了同一个key文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix_sender-get-item/

 文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix_sender-get-item/ 文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix_sender-get-item/

weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
凉白开
  • 本文由 发表于 08/01/2015 01:00:07
  • 转载请务必保留本文链接:https://www.ttlsa.com/zabbix/zabbix_sender-get-item/
  • get
  • nagios
  • zabbix
  • zabbix key脚本超时
  • zabbix_get
  • zabbix提交数据
评论  13  访客  13
    • xiaoqiang
      xiaoqiang 0

      楼主您好,sender 11个字段,action只获取到9个,怎么解决

      • 谢谢
        谢谢 9

        [委屈]就是不知道怎么自动获取这个 值。求指点

          • 凉白开
            凉白开 9

            @ 谢谢 看zabbix web监控,站内搜索一下!

          • 运维生存时间网友
            运维生存时间网友 9

            你好,我想问个问题,我执行zabbix_sender命令之后,server端日志如下:
            14181:20150921:163320.551 trapper got ‘{“request”:”sender data”,”data”:[{“host”:”Zabbix server”,”key”:”test”,”value”:”123″}]}’
            14181:20150921:163320.551 In recv_agenthistory()
            14181:20150921:163320.551 In process_hist_data()
            14181:20150921:163320.551 In process_mass_data()
            14181:20150921:163320.551 End of process_mass_data()
            14181:20150921:163320.551 End of process_hist_data():SUCCEED
            14181:20150921:163320.551 In zbx_send_response()
            14181:20150921:163320.551 zbx_send_response() ‘{“response”:”success”,”info”:”processed: 0; failed: 1; total: 1; seconds spent: 0.000116″}’
            这里只提示失败,但是看不到具体的错误信息。请问哪里可以看到呢?希望大牛赐教,谢谢

            • 匿名
              匿名 9

              你好,我想问个问题,我执行zabbix_sender命令之后,server端日志如下:
              14181:20150921:163320.551 trapper got ‘{“request”:”sender data”,”data”:[{“host”:”Zabbix server”,”key”:”test”,”value”:”123″}]}’
              14181:20150921:163320.551 In recv_agenthistory()
              14181:20150921:163320.551 In process_hist_data()
              14181:20150921:163320.551 In process_mass_data()
              14181:20150921:163320.551 End of process_mass_data()
              14181:20150921:163320.551 End of process_hist_data():SUCCEED
              14181:20150921:163320.551 In zbx_send_response()
              14181:20150921:163320.551 zbx_send_response() ‘{“response”:”success”,”info”:”processed: 0; failed: 1; total: 1; seconds spent: 0.000116″}’
              这里只提示失败,但是看不到具体的错误信息。请问哪里可以看到呢?希望大牛赐教,谢谢

                • 管理员
                  管理员 5

                  @ 匿名 send使用-vv

                  • jiafeimao
                    jiafeimao 9

                    @ 匿名 你的问题解决了吗? 我的问题和你这个类似, 但是不是sender,是主动(active)模式无法推送过去, 改成被动就可以正常获取数据.

                  • terry
                    terry 9

                    你好,我试了,是可以的,但我想问个问题,用这个命令,可以传递key和value过去,包括传递其他host的,这意味着我只要知道zabbix server的ip和端口,以及host,就可以传递key和value,这个没有控制权限吗?况且都是明文传输,被劫持的话,就可以伪造很多数据了。请大牛赐教,谢谢。

                      • 管理员
                        管理员 5

                        @ terry 1. 用iptables设置白名单
                        2. server只监听内网
                        还有什么问题,可以进群交流:凉白开

                          • 匿名
                            匿名 9

                            @ 管理员 群号是多少呢??另外如果agent中没有配置hostname ,就是zabbix_sender 文件的话 hostname如何处理呢 不填写可以么

                      • 来自外部的引用

                      评论已关闭!