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 示例
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只会用到配置文件中的Hostname
、ServerActive
和SourceIP
参数。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服务器。
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服务器。主机名和监控项关键字都会在这个文件中给出。
zabbix_sender -z 192.168.1.113 -i data_values.txt
通过命令行,将带有时间戳的监控数据发送给Zabbix服务器,使用指定的探针配置文件。输入文件(-i)选项中的短划线(-)表示还应当使用上述配置文件中的主机名。
echo - hw.serial.number 1287872261 SQ4321ASDF | zabbix_sender -c /usr/local/etc/zabbix_agentd.conf -T -i -