12 采集器监控项
概述
采集器监控项接收传入的数据,它不会去主动采集数据。 它接受任何形式的推送到zabbix server的数据。
监控项配置
要配置采集器监控项:
- 转到:配置 → 主机
- 点击主机所在行的监控项
- 点击创建监控项
- 在表单中输入监控项的参数
所有标有红色星号的都是必填字段。
需要填写采集器特定信息的字段是:
类型 | 在此处选择Zabbix采集器。 |
键值 | 输入发送数据时用于识别监控项的键。 |
信息类型 | 选择与将要发送的数据格式相对应的信息类型。 |
允许的主机 | 以逗号分隔的 IP 地址列表或主机名(可选择以 CIDR 表示法) 或DNS 名称. 如果指定,则仅接受来自此处列出的主机的传入连接. 如果启用 IPv6 支持,则为’127.0.0.1’, ‘::127.0.0.1’, ‘::ffff:127.0.0.1’ 是等价的, ‘::/0’ 将允许支持任何 IPv4 或 IPv6 地址。’0.0.0.0/0’ 可以用于允许任何 IPv4 地址。 请注意 “IPv4-兼容 IPv6 addresses” (0000::/96 前缀)受支持,但已被RFC4291不推荐使用. 示例:127.0.0.1, 192.168.1.0/24, 192.168.3.1-255, 192.168.1-10.1-255, ::1,2001:db8::/32, mysqlserver1, zabbix.example.com, {HOST.HOST} 该字段允许使用空格和用户宏user macros, 和主机宏 {HOST.HOST}, {HOST.NAME}, {HOST.IP}, {HOST.DNS}, {HOST.CONN} 允许在此字段中 |
在保存该监控项后,您可能需要等待60秒,直到服务器的缓存配置更新到最新的内容后,才能发送监控值。
发送数据
向Zabbix server 或 proxy发送数据可以使用Zabbix sender 程序或Zabbix sender protocol。 向Zabbix server发送数据还可以使用API方法 history.push 。
Zabbix sender
使用Zabbix sender程序向Zabbix server 或 proxy发送数据时,您可以运行以下命令来发送“测试值”:
zabbix_sender -z <server IP address> -p 10051 -s "New host" -k trap -o "test value"
发送“测试值”,可以使用以下命令选项:
-z
指定Zabbix server的IP地址-p
指定Zabbix server的端口(默认为10051)-s
指定主机(请确保在此使用“主机名称”,非“可见的名称” host name)-k
要指定在监控项中配置trapper监控项键值configured-o
指定要发送的实际值
Zabbix trapper进程不会扩展监控项键值中使用的宏,以检查目标主机对应的监控项键值是否存在。
10051了解更多关于Zabbix sender与 Zabbix server 或 proxy之间通信的信息。参见 Zabbix sender protocol.
history.push
使用 API 方法history.push
向 Zabbix server发送数据时,您可以发起以下包含一些测试值的 HTTP POST请求::
curl --request POST \
--url 'https://example.com/zabbix/api_jsonrpc.php' \
--header 'Authorization: Bearer 0424bd59b807674191e7d77572075f33' \
--header 'Content-Type: application/json-rpc' \
--data '{"jsonrpc":"2.0","method":"history.push","params":[{"itemid":10600,"value":"test value 1"},{"itemid":10601,"value":"test value 2"},{"itemid":99999,"value":"test value 3"}],"id":1}'
如果请求正确,API 返回的响应可能如下所示::
{
"jsonrpc": "2.0",
"result": {
"response": "success",
"data": [
{
"itemid": "10600"
},
{
"itemid": "10601",
"error": "Item is disabled."
},
{
"error": "No permissions to referred object or it does not exist."
}
]
},
"id": 1
}
响应数据中的错误表明,特定监控项的数据发送未能通过 Zabbix server的验证。 这种情况可能由以下原因导致:
- 发送数据的用户没有对该监控项主机的“读取”权限;
- 主机被禁用或处于维护期且没有数据采集;
- 监控项不存在或尚未包含在服务器配置缓存中;
- 监控项被禁用或其类型不是Zabbix trapper 或 HTTP agent (启用 trapping );
- 用户的IP或DNS不在监控项的允许主机 列表中;
- 另一个监控项有一个在纳秒级别上具有重复时间戳的值.
没有错误表明发送的值已被接受处理,这包括预处理(若配置预处理)、触发器处理以及保存到数据库中。 请注意,即使值已被接受处理,处理过程也可能会失败(例,在 预处理期间),导致该值被丢弃。 关于获取更多如何使用Zabbix API信息,请参见 API.
数据展示
一旦数据发送完成,您可以导航到 最新数据 来查看结果。 → 最新数据
如果发送了一个单独的数值,数据 图形 将在该数值的时间点左侧和右侧显示一条水平线。