设为首页 收藏本站
查看: 2576|回复: 0

[经验分享] 3、zabbix_get和zabbix_sender命令的使用

[复制链接]
累计签到:1365 天
连续签到:1 天
发表于 2019-1-18 07:26:00 | 显示全部楼层 |阅读模式
  Zabbix_get命令:
  

  zabbix_get是zabbix中的一个程序,用于zabbix-server到zabbix-agent获取数据。通常用来检测agent的配置是否正确。

[root@localhost ~]# zabbix_get -h
Zabbix get v2.2.11 (revision 56693) (12 November 2015)
usage: zabbix_get [-hV] -s  [-p ] [-I ] -k
Options:
  -s --host           Specify host name or IP address of a host
  -p --port               Specify port number of agent running on the host. Default is 10050
  -I --source-address      Specify source IP address
  -k --key              Specify key of item to retrieve value for
  -h --help                            Give this help
  -V --version                         Display version number
Example: zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]"  

参数说明:
-s --host: 指定客户端主机名或者IP
-p --port:客户端端口,默认10050
-I --source-address:指定源IP,写上zabbix server的ip地址即可,一般留空,服务器如果有多ip的时候,你指定一个。
-k --key:你想获取的key
至于使用长参数还是短的,自己选,我经常使用-s而不是--host,太长了。


获取CPU负载
[root@localhost ~]# zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg15]"
0.000000  key可以加引号,也可以不加。

  

  获取主机名
[root@localhost ~]# zabbix_get -s 127.0.0.1 -p 10050 -k system.hostname
localhost.localdomain  

  

  Zabbix_sender命令:
  zabbix_sender是什么?有什么作用?
zabbix获取key值有超时时间,如果自定义的key脚本一般需要执行很长时间,这根本没法去做监控,那怎么办呢?使用zabbix监控类型zabbix trapper,需要配合zabbix_sender给它传递数据。关于trapper的用法,我们来弄个实例。
执行超长时间脚本,如:脚本去几十台服务器拉去数据,每个日志都上G,然后日志整合在一起,统计出返回值。这种脚本比如超时,所以我们必须改成让客户端提交数据的方式。
  

  zabbix_sender命令用法:
[root@localhost ~]# zabbix_sender -h
Zabbix Sender v2.2.11 (revision 56693) (12 November 2015)
usage: zabbix_sender [-Vhv] {[-zpsI] -ko | [-zpI] -T -i  -r} [-c ]
Options:
  -c --config                    Absolute path to the configuration file
  -z --zabbix-server           Hostname or IP address of Zabbix server
  -p --port               Specify port number of server trapper running on the server. Default is 10051
  -s --host                  Specify host name. Host IP address and DNS name will not work
  -I --source-address      Specify source IP address
  -k --key  
                       Specify item key
  -o --value                Specify value
  -i --input-file          Load values from input file. Specify - for standard input
                                       Each line of file contains whitespace delimited:   
                                       Specify - in  to use hostname from configuration file or --host argument
  -T --with-timestamps                 Each line of file contains whitespace delimited:   
                                       This can be used with --input-file option
                                       Timestamp should be specified in Unix timestamp format
  -r --real-time                       Send metrics one by one as soon as they are received
                                       This can be used when reading from standard input
  -v --verbose                         Verbose mode, -vv for more details
Other options:
  -h --help                            Give this help
  -V --version                         Display version number  

  使用参数:

  -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使用实例:
  先在主机zabbix server 上创建一个key。

  
  

  传递一个数据到item中,注意-s后面为zabbix_agent.conf文件中配置的hostname,不是IP地址,也不是服务器的主机名。
[root@ZabbixServer alertscripts]# zabbix_sender -s "ZabbixServer" -z 127.0.0.1 -k "key.test.trapper" -o 1 -r
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000034"
sent: 1; skipped: 0; total: 1  failed为0,表示传送失败的为0个。

  

  zabbix_sender还可以批量上传数据,即将服务器的hostname(zabbix_agent.conf文件中配置的主机名)、key、value三个值保存到文件中,然后将该文件中的数据上传到各个item中。
  

  zabbix_sender批量传递key值
#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
  这种方式也是zabbix trapper监控方式的模型。
  

  

  Zabbix Trapper监控案例演示
  

  创建两个监控项,monitor[TotalMemory]和monitor[FreeMemory],分别用来监控总内存和剩余内存。
  监控脚本如下:
#!/bin/bash
hostname=$1
zabbix_server_ip=172.16.206.130
TotalMemory()
{
    TotalMemory=`cat /proc/meminfo | awk '/^MemTotal:/{print $2}'`
    echo "$hostname monitor[TotalMemory] $TotalMemory"
}
FreeMemory()
{
    FreeMemory=`cat /proc/meminfo | awk '/^MemFree:/{print $2}'`
    echo "$hostname monitor[FreeMemory] $FreeMemory"
}
TotalMemory >> /tmp/test.txt
FreeMemory >> /tmp/test.txt
zabbix_sender -z $zabbix_server_ip -i /tmp/test.txt &>/dev/null
if [ `echo $?` -eq 0 ];then
    echo 0
else
    echo 1
fi
rm -rf /tmp/test.txt  注意:脚本最后一行是当数据上传完成后删除保存数据的文件,这样下次执行脚本时保证不会有相同的key对应多个value。
  

  

  zabbix web上创建对应的item

  

  注意:上面我们创建了item,也创建了获取item值的脚本。但是这个脚本不会自动执行,将数据传送到zabbix server上。所以我们还需要再创建一个监控项,这个监控项会定时执行我们创建的脚本。
创建自定义监控的conf文件
[root@ZabbixServer zabbix_agentd.d]# vim userparameter_memory.conf
UserParameter=send.date
  • ,/etc/zabbix/scripts/memory.monitor.sh $1  zabbix server上创建监控项:

      

      


      

      

      





  • 运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
    2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
    3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
    4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
    5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
    6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
    7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
    8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

    所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-664554-1-1.html 上篇帖子: zabbix安装,修改Admin密码 下篇帖子: zabbix报错:Zabbix服务启动不了
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫码加入运维网微信交流群X

    扫码加入运维网微信交流群

    扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

    扫描微信二维码查看详情

    客服E-mail:kefu@iyunv.com 客服QQ:1061981298


    QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


    提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


    本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



    合作伙伴: 青云cloud

    快速回复 返回顶部 返回列表