利用zabbix_sender像zabbix_server发送数据
$ zabbix_sender
usage: zabbix_sender [-Vhv] {[-zpsI] -ko | [-zpI] -T -i <file> -r} [-c <file>]
参数说明:
-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 -c /etc/zabbix/zabbix_agent2.conf -i /etc/zabbix/scripts/java/123
解释
- -c 接配置文件
- -i 接数据文件 数据文件的格式是hostname、key、value 一行为一条数据,使用空格作为分隔符,如果主机名带空格,那么请使用双引号包起来,这里的
hostname
是配置文件/etc/zabbix/zabbix_agent2.conf
中的Hostname
发送单条数据
zabbix_sender -c /etc/zabbix/zabbix_agent2.conf -k hxg -o 222
解释
- -c 接配置文件
- -k 接监控项key
- -o 接key的值
服务端接收数据
周期性发送数据
要在 /etc/zabbix/zabbix_agentd.d 下面增加 test.conf 文件,内容如下:
UserParameter=hxg1,sudo /usr/bin/zabbix_sender -c /etc/zabbix/zabbix_agent2.conf -i /etc/zabbix/scripts/123
**注意,默认执行上面命令的用户是 zabbix **,必须要保证 zabbix 用户有 sudo 权限,因此,需要在被监控服务器的 /etc/sudoer 文件中添加如下内容:
$ visudo
zabbix ALL=(ALL) NOPASSWD: ALL
#或者加入到wheel组
$ usermod -aG wheel zabbix
此步骤非常重要,不执行这个操作,将无法获取监控数据。
然后将需要传输的数据存入 /etc/zabbix/scripts/123
文件中
然后在监控项中添加关于hxg1这个key的监控项
这个设置成日志,就会保存成字符串
这些就是每次执行完推送数据后的结果
这样就可以做到每分钟推送一次数据