zabbix采集器
zabbix采集器
环境介绍:
本例中安装zabbix
开源软件和postgres
,软件版本信息如下:
软件 | 版本 |
---|---|
zabbix | Zabbix6.4.0 |
postgres | 14.7 |
zabbix-agent | 6.4.17 |
主机信息如下:
Red Hat Enterprise Linux Server 7.9 (Maipo)
主机名 | 主机地址 | 用途 |
---|---|---|
zib_server | 192.168.101.238 | zabbix的服务器地址 |
pgsql_master | 192.168.101.232 | pgsql的主服务器 |
pgsql_backup | 192.168.101.239 | pgsql的备服务器 |
1. 介绍
可以利用Zabbix自带工具zabbix_sender,自定义脚本统计数据,把最终数据,发给Zabbix进行采集,判断是否要触发告警,zabbix server除了可以从客户端主动获取数据,客户端也可以主动将数据推送给服务端,客户端通过zabbix_sender指令来实现向服务端主动推送数据。
解决zabbix自带的监控模块无法满足自已的业务需时,使用该功能进行解决。
2. zabbix_sender参数介绍
#常用的参数
-z --zabbix-server # zabbix服务器的IP地址
-p --port port # zabbix服务器的端口(默认:10051)
-s --host host # 发送数据的IP地址或主机名(主要看服务器配置主机名是IP地址还是主机名,这里必须和zabbix的Web页面上配置的主机名保持一致)
-k --key key #监控项的Key
-o --value value #监控项的Value,表示要主动推送的数据
-v --verbose #显示日志
-vv #显示更多的日志
-h --help #查看帮助
-V --version #显示工具当前的版本
不过zabbix server端要想获取到zabbix agent推送过去的数据,需要将监控项配置为zabbix trapper类型
3. 新建zabbix采集器监控项
点击监测
> 主机
> 对应主机
> 监控项
进入监控项页面,添加右上角的创建监控项
进入配置页面。如图所示。
4. 进行监控项配置
进入配置页面,进行如图配置。
其中名称随意填写名称即可,键值使用自定义的键值,不要和自带的监控项键值重复。
配置完成之后点击添加
即可。观察是否存在。
5. 在zabbix-agentd客户端发送数据
zabbix_sender -z 192.168.101.238 -p 10051 -s "pgmaster" -k custom.collector -o 4096 -vv
观察输出。当processed
为1时表示通过了。
[zabbix@pgsql-master bin]$ zabbix_sender -z 192.168.101.238 -p 10051 -s "pgmaster" -k custom.collector -o 4096 -vv
zabbix_sender [17775]: DEBUG: In zbx_connect_to_server() [192.168.101.238]:10051 [timeout:60, connection timeout:3]
zabbix_sender [17775]: DEBUG: answer [{"response":"success","info":"processed: 1; failed: 0; total: 1; seconds spent: 0.000207"}]
Response from "192.168.101.238:10051": "processed: 1; failed: 0; total: 1; seconds spent: 0.000207"
sent: 1; skipped: 0; total: 1
6. 检查最新数据
查看最新数据,是否有值。
7. 批量发送数据
zabbix_sender -z 192.168.101.238 -s "pgmaster" -k trapper_test -o "hello word"
可以通过文件像服务端批量发送数据,在/tmp/test.txt文件中输入如下内容。
"pgmaster" trapper_test "ready go"
"pgmaster" trapper_test "one"
"pgmaster" trapper_test "two"
"pgmaster" trapper_test "three"
"pgmaster" trapper_test "four"
执行如下指令能将文件中的内容批量发送给zabbix server
zabbix_sender -z 192.168.101.238 -i /tmp/test.txt