zabbix_get和zabbix_sender工具的使用方法

Zabbix提供了两个非常有用的维护工具,zabbix_get和zabbix_sender,这两个工具可以在Zabbix Agent安装目录的bin子目录中找到(例如:/usr/local/Zabbix/bin/目录)。

1. zabbix_get

1.1 概述

zabbix_get是一个命令行工具,可用于从一个远程的Zabbix探针获取监控数据。

1.2 用法

zabbix_get [-hV] [-s <host name or IP> ] [-p <port number> ] [-I <IP address> ] [-k <item key> ]

1.3 选项
  • -s--host <host name or IP>
    指定受监控服务器的主机名或IP地址。

  • -p--port <port number>
    指定运行在受监控服务器上的探针的端口号。默认值为10050。

  • -I--source-address <IP address>
    指定来源IP地址。

  • -k--key <item key>
    指定监控项的关键字,以便于获取相应的监控数据。

  • -h--help
    显示帮助信息,然后退出。

  • -V--version
    显示版本信息,然后退出。

1.4 示例
  1. zabbix_get -s 127.0.0.1 -p 10050 -k system.cpu.load[all,avg1]

2. zabbix_sender

2.1 概述

zabbix_sender是一个命令行工具,可用于向一个远程的Zabbix服务器发送监控数据。应当在Zabbix服务器上创建一个类型为“Zabbix trapper”的监控项,创建时还需要指定相应的监控项关键字。注意,Zabbix服务器只会接收在上述监控项的“Allowed hosts”字段中指定主机的监控数据。

2.2 用法

zabbix_sender [-hpzvIV] {-kso | [-T] -i <inputfile> } [-c <config-file> ]

2.3 选项
  • -c--config <config-file>
    使用config-file指定的配置文件。zabbix_sender会从探针的配置文件中读取服务端的详细信息。在默认情况下,zabbix_sender不会读取任何配置文件。应当指定配置文件的绝对路径。zabbix_sender只会用到配置文件中的HostnameServerActiveSourceIP参数。zabbix_sender只会使用ServerActive参数的第一个条目。

  • -z--zabbix-server <server>
    Zabbix服务器的主机名或IP地址。如果某台服务器是由代理服务器监控的,那么就应当指定代理服务器的主机名或IP地址。

  • -p--port <port>
    指定在Zabbix服务器上运行的服务端捕捉器(trapper)的端口号。默认值为10051。

  • -s--host <host>
    指定在Zabbix前端页面上注册的主机名。主机的IP地址和DNS名称将不会起作用。

  • -I--source-address <IP>
    指定来源IP地址。

  • -k--key <key>
    指定需要发送监控数据的监控项的关键字。

  • -o--value <value>
    指定监控数据。

  • -i--input-file <inputfile>
    inputfile指定的文件中加载监控数据。若将inputfile指定为-,则使用标准输入。文件的每一行都是以空格分隔的格式:<hostname> <key> <value>。若将上述的<hostname>>指定为-,则使用配置文件中的主机名,或者使用--host选项指定的主机名。所有的条目都会以从上到下的顺序发送至Zabbix服务器。

  • -T--with-timestamps
    上述文件中每一行的格式还可以是这样的(空格分隔):<hostname> <key> <timestamp> <value>。这个选项可以和--input-file选项配合使用。时间戳应当指定为Unix时间戳的格式。如果有某些触发器引用了目标监控项,那么所有的时间戳都应当是递增顺序的,否则事件的计算结果就会不正确。

  • -r--real-time
    当接收到监控数据时,便一个接一个地发送至Zabbix服务器。当从标准输入中读取监控数据时,可以使用这个选项。

  • -v--verbose
    冗长模式,输出更详细的日志信息。

  • -h--help
    显示帮助信息,然后退出。

  • -V--version
    显示版本信息,然后退出。

2.4 退出状态

如果成功发送了监控数据,并且Zabbix服务器成功地处理了所有的监控数据,那么退出状态就是0。如果成功发送了监控数据,但是Zabbix服务器在处理时至少有一个失败了,那么退出状态就是2。如果监控数据发送失败,那么退出状态就是1。

2.5 示例

将342.45作为mysql.queries监控项的监控数据发送给Monitored Host主机,这个主机就是在探针配置文件中配置的Zabbix服务器。

  1. zabbix_sender -c /usr/local/etc/zabbix_agentd.conf -s Monitored Host -k mysql.queries -o 342.45

data_values.txt文件中的监控数据发送给IP地址为192.168.1.113的Zabbix服务器。主机名和监控项关键字都会在这个文件中给出。

  1. zabbix_sender -z 192.168.1.113 -i data_values.txt

通过命令行,将带有时间戳的监控数据发送给Zabbix服务器,使用指定的探针配置文件。输入文件(-i)选项中的短划线(-)表示还应当使用上述配置文件中的主机名。

  1. echo - hw.serial.number 1287872261 SQ4321ASDF | zabbix_sender -c /usr/local/etc/zabbix_agentd.conf -T -i -