利用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的监控项
这个设置成日志,就会保存成字符串
这些就是每次执行完推送数据后的结果
这样就可以做到每分钟推送一次数据
本文来自博客园,作者:厚礼蝎,转载请注明原文链接:https://www.cnblogs.com/guangdelw/p/17653494.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通