8、zabbix_get和zabbix_sender命令的使用

Zabbix_get命令:


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

[[email protected] ~]# zabbix_get -h
Zabbix get v2.2.11 (revision 56693) (12 November 2015)
usage: zabbix_get [-hV] -s <host name or IP> [-p <port>] [-I <IP address>] -k <key>
Options:
  -s --host <host name or IP>          Specify host name or IP address of a host
  -p --port <port number>              Specify port number of agent running on the host. Default is 10050
  -I --source-address <IP address>     Specify source IP address
  -k --key <key of metric>             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负载

[[email protected] ~]# zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg15]"
0.000000

key可以加引号,也可以不加。

获取主机名

[[email protected] ~]# 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命令用法:

[[email protected] ~]# zabbix_sender -h
Zabbix Sender v2.2.11 (revision 56693) (12 November 2015)
usage: zabbix_sender [-Vhv] {[-zpsI] -ko | [-zpI] -T -i <file> -r} [-c <file>]
Options:
  -c --config <file>                   Absolute path to the configuration file
  -z --zabbix-server <server>          Hostname or IP address of Zabbix server
  -p --port <server port>              Specify port number of server trapper running on the server. Default is 10051
  -s --host <hostname>                 Specify host name. Host IP address and DNS name will not work
  -I --source-address <IP address>     Specify source IP address
  -k --key <key> 
                       Specify item key
  -o --value <key value>               Specify value
  -i --input-file <input file>         Load values from input file. Specify - for standard input
                                       Each line of file contains whitespace delimited: <hostname> <key> <value>
                                       Specify - in <hostname> to use hostname from configuration file or --host argument
  -T --with-timestamps                 Each line of file contains whitespace delimited: <hostname> <key> <timestamp> <value>
                                       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 <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 更详细

Zabbix_sender使用实例:

先在主机zabbix server 上创建一个key。

传递一个数据到item中,注意-s后面为zabbix_agent.conf文件中配置的hostname,不是IP地址,也不是服务器的主机名。

[[email protected] 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文件

[[email protected] zabbix_agentd.d]# vim userparameter_memory.conf
UserParameter=send.date[*],/etc/zabbix/scripts/memory.monitor.sh $1

zabbix server上创建监控项:

时间: 2024-08-09 23:33:19

8、zabbix_get和zabbix_sender命令的使用的相关文章

zabbix源码安装流程及报错解决方法

zabbix源码安装流程及报错解决方法 一. zabbix的介绍 1) zabbix是什么 zabbix是一款基于web页面的.开源的.企业级的,支持分布式部署的监控软件. 2)2.zabbix的作用 监控windows和Linux主机上的软硬件状态. 监控各网络设备,如路由器.交换机.防火墙.f5.打印机等. 支持邮件短信微信等平台发送告警通知. 通过web页面及图形展示监控数据. 3)zabbix的特性 由zabbix server和agent程序协同工作,还支持分布式监控,这时需要安装za

监控详解及zabbix简介

监控主要功能 设备样本数据采集 告警:短信.微信.电话.邮件,并能实现告警升级: 生成图型趋势 存储监控数据 任何未被监控的系统都不得上线:nagios图形处理较弱,不存储数据,告警能力强大:catia有强大的图形处理和数据存储,但告警太弱: Zabbix就是集合nagios和cacia的功能,并有及其强大的告警功能: 监控主要监控哪些? 1.设备及软件 服务器.路由器.交换机.存储设备: 操作系统.网络.应用程序: 2.事件 DB down,Replication stopped,Server

运维监控平台之zabbix详解2

1.Zabbix架构 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. Zabbix的运行架构如下图所示: 2.组件 zabbix由以下几个组件部分构成: 1).Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行: 2).Database Storage:专用于存储所有

Zabbix简单的入门应用

Zabbix:      是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案,非常强大的一款工具.一般zabbix都是选择mysql作为存储数据,所以当zabbix监控的主机越来越多,数据量也会越来越大,这是mysql就会成为瓶颈. zabbix的版本: 长期维护的版本有2.2和3.0,还有2.0和2.4 zabbix的功能:          1.数据采集:    可以根据zabbix内置的key,也可以使用自定义的UserParameter 2.实时绘图:    

zabbix进程组成结构与zabbix_agentd.conf配置文件参数详解

zabbix进程组成结构,默认情况下zabbix包含5个程序:zabbix_agentd.zabbix_get.zabbix_proxy.zabbix_sender.zabbix_server,另外一个zabbix_java_gateway是可选,这个需要另外安装.下面来分别介绍下他们各自的作用. 进程介绍 zabbix_agentd 客户端守护进程,此进程收集客户端数据,例如cpu负载.内存.硬盘使用情况等 zabbix_get zabbix工具,单独使用的命令,通常在server或者prox

zabbix (一:zabbix服务端)

默认情况下zabbix有5个进程: zabbix_agent  zabbix_get zabbix_proxy zabbix_sender zabbix_server,另外一个zabbix_java_gateway是可选,这个需要另外安装. zabbix_agentd:客户端守护进程,此进程收集客户端数据,例如cpu负载.内存.硬盘使用情况等 zabbix_get:zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令.通常用户排错.例如在server端

Centos7.0安装zabbix2.4.5

今天主要介绍在Centos7.0下源码安装zabbix2.4.5 Zabbix是一个企业级的.开源的.分布式的监控套件Zabbix可以监控网络和服务的监控状况. Zabbix利用灵活的告警机制,允许用户对事件发送基于Email的告警. 这样可以保证快速的对问题作出相应. Zabbix可以利用存储数据提供杰出的报告及图形化方式. 这一特性将帮助用户完成容量规划.Zabbix支持polling和trapping两种方式. 所有的Zabbix报告都可以通过配置参数在WEB前端进行访问. Web前端将帮

Centos6.5利用RubyGems的fpm制作zabbix_agent的rpm包,并使用ansible批量部署

一. 搭建rpm包制作环境 安装gcc [[email protected] ~]# yum install gcc 安装make [[email protected] ~]# yum install make 安装ruby源(ruby版本必须要在1.9.3以上,centos自带的是1.8的版本,需要自己编译安装) [[email protected] ~]# yum install ruby rubygems ruby-devel 查看ruby源 [[email protected] ~]# 

zabbix部署(Linux上部署/监控端/被监控端)

一.监控系统的简单介绍 (1)cacti:存储数据能力强,报警性能差 (2)nagios:报警性能差,存储数据仅有简单的一段可以判断是否在合理范围内的数据长度,储存在内存中.比如,连续采样数据存储,有连续三次不在合理范围内的数据就报警 (3)zabbix:结合上面两种工具的优点,又可以存储数据,又可以报警 二.zabbix特性 (1)数据采样:通过snmp.ssh.telnet.agent.ipmi.jmx等通道采集被监控主机的数据.可以自定义检测机制和自定义时间间隔 (2)实时绘图:展示,读取