利用zabbix_sender像zabbix_server发送数据

发布时间 2023-08-24 10:27:24作者: 厚礼蝎
$ 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的监控项

这个设置成日志,就会保存成字符串

这些就是每次执行完推送数据后的结果

这样就可以做到每分钟推送一次数据