这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会

1 创建监控项

概述

要在Zabbix管理页面创建一个监控项,请执行以下操作:

  • 进入到: 配置主机
  • 在主机所在的行单击 监控项
  • 点击屏幕右上角的创建监控项
  • 在表单中输入监控项的参数

你也可以如此创建监控项:打开一个已有的监控项,按克隆 按钮,然后以不同的名称保存。

配置

监控项 选项卡包含了常规监控项属性。

所有必填字段都用红色星号标记。

参数 描述
名称 监控项名称。
类型 监控项类型。 参考单独 监控项类型 章节。
键值 监控项键值 (最多2048个字符)。
支持的 监控项键值 能够在各个监控项类型中找到。
键值在单个主机中必须是唯一的。
如果键值类型是 'Zabbix agent', 'Zabbix agent (主动)' or '简单检查', 则这个键值必须被 Zabbix agent 或 Zabbix server支持。
也可以查看: 标准的 键值格式.
信息类型 执行转换后存储在数据库中的数据类型(如果有)
Numeric (unsigned) - 64位无符号整型
Numeric (float) - 64位浮点数
允许大约15位的精度,范围从-1.79E+308到1.79E+308 (PostgreSQL 11 和更早的版本除外)
也支持用科学计数法接收值。例如:1.23E+7,1e308,1.1E-4
Character - 短文本数据
Log - 具有可选日志相关属性(timestamp(时间戳),source(源),severity(严重性),logeventid(日志事件id))的长文本数据
Text - 长文本数据。可参见 文本数据限制
针对仅返回一种指定格式数据的监控项,匹配的信息类型可以自动选择。
主机接口 选择主机接口,此字段在编辑主机级别的监控项时可用
单位 如果设置了单位,Zabbix在接收到数据后会进行处理,使其匹配设置的单位
默认情况下,如果原始值超过1000,则除以1000再显示。例如,如果将单位设置为_bps_并接收到值881764,它将显示为881.76 Kbps。
JEDEC 存储器标准,用于处理B(字节),Bps(字节/秒)单位,它除以1024。因此,如果单位设置为B或Bps, Zabbix将显示:
1 为 1B/1Bps
1024 为 1KB/1KBps
1536 为 1.5KB/1.5KBps
如果使用以下与时间相关的单位,则使用特殊处理:
unixtime - 转换成 "yyyy.mm.dd hh:mm:ss". 想要正确转换,接收的值必须是 Numeric (unsigned) 类型的信息。
uptime - 转换成 "hh:mm:ss" 或 "N days, hh:mm:ss"
例如,如果你收到的值为881764(秒),则显示为“10天,04:56:04”
s - 转换成 "yyy mmm ddd hhh mmm sss ms"; 参数被视为秒数。
例如,如果您收到的值为881764(秒),则显示为“10d 4h 56m”
只显示3个主要单位,如“1m 15d 5h”或“2h 4m 46s”。 如果没有显示天数,则仅显示两个级别 - “1m 5h”(不显示分钟,秒或毫秒)。 如果该值小于0.001,将被转换成“<1 ms”。
注意 如果单位带有前缀“!”,单元前缀/处理不会应用到监控项的值。请参阅 单位转换.
更新间隔 每N秒获取一次这个监控项的新值。允许的最大更新间隔为86400秒(1天)
支持时间后缀 , 例如 30s, 1m, 2h, 1d.
支持用户宏
单个宏必须填充整个字段。不支持字段中的多个宏或文本混合的宏。
注意: 仅当自定义间隔存在非零值时,更新间隔才能设置为“ 0”。如果设置为“ 0”,并且存在自定义间隔(灵活的或计划的)且具有非零值,则将在自定义间隔持续时间内轮询该监控项。
注意 监控项成为活动后或更新间隔更改后的第一个监控项轮询可能发生在配置值之前。
可以通过点击 立即执行 按钮查询现有被动监控项的值。
自定义时间间隔 你可以为检查监控项创建自定义的规则:
灵活 - 为更新间隔 (不同频率的间隔)创建一个特例
调度 - 创建自定义轮询时间表。
详细信息请查看 自定义时间间隔
间隔 字段支持时间后缀 例如,30s, 1m, 2h, 1d。
支持用户宏
单个宏必须填充整个字段。不支持字段中的多个宏或文本混合的宏。
从Zabix 3.0.0开始支持调度。
注意: 不适用于主动类型的Zabbix agent监控项。
历史数据存储周期 以下可供选择:
不存储历史数据 - 不存储监控项历史数据。如果只有依赖项需要保留历史记录,则对主监控项很有用。
此设置不能被全局管家 设置.
存储周期 - 指定将详细历史数据保留在数据库中的时长(1小时至25年)。 过期数据将被housekeeper管家删除。按秒存储。
支持时间后缀 例如,2h, 1d. 支持用户宏
存储周期 的值可以被 Administration(管理) → General(通用) → 管家覆盖。
如果存在全局设置,则显示绿色告警信息 。 当鼠标移到上面时会提示告警信息,例如:被全局管家设置(1d)覆盖
建议保留最小可能天数的历史数据,以减轻数据库存储压力。可以保留更长的趋势数据来替代历史数据。
更多内容请参考 历史与趋势.
趋势存储时间 以下可供选择:
不存储趋势数据 - 将不会存储趋势数据。
此设置不能被全局管家 设置覆盖。
存储周期 - 指定在数据库中保存聚合(每小时,最大,平均,计数)历史数据的时长(1天至25年)。管家将删除较旧的数据。按秒存储。
支持时间后缀例如2h,1d。支持用户宏
存储周期 可以被 Administration(管理) → General(通用) → 管家中的设置覆盖。
如果存在全局设置,将显示一条绿色的警告消息 ,当鼠标移到上面时会提示告警信息,例如:被全局管家设置 (7d)覆盖。
注意: 保持趋势不适用于非数字数据 - 字符、日志和文本。
更多信息请参考 历史与趋势.
值映射 将值映射应用于此监控项。 值映射 不会改变收到的值,仅用于显示数据。
适用于 数值型(无符号), 数值型(浮点型)字符型 监控项。
例如, "Windows service states".
日志时间格式 仅适用于日志 类型的监控项。支持占位符:
* y: 年 (1970-2038)
* M: 月 (01-12)
* d: 日 (01-31)
* h: 小时 (00-23)
* m: 分钟 (00-59)
* s: 秒 (00-59)
如果留空,则不会解析时间戳。
例如,从Zabbix Agent日志文件中考虑以下几行:
" 23480:20100328:154718.045 Zabbix agent started. Zabbix 1.8.2 (revision 11211)."
它以PID的六个字符位置开始,后跟日期,时间和行的其余部分。
该行的日志时间格式为"pppppp:yyyyMMdd:hhmmss".
注意, "p"和":" 字符只是占位符,只能是 "yMdhms".
填充主机资产记录字段 你可以选择监控项的值填充的主机资产字段,如果你为主机启用了自动发现模式资产管理
该字段在信息类型 设置为'日志'时不可用。
描述 输入监控项描述。
启用 选中复选框以启用该监控项,以便对其进行处理。
最新数据 点击链接查看监控项的最新数据。
链接仅在编辑一个已存在的监控项时可用。

监控项类型的特定字段在 对应页面会有描述。

当编辑主机级别上的现有模板 级别的监控项时, 多个字段是只读的。你可以使用表单标题中的链接并转到模板级别并在其中进行编辑,但请记住,模板级别上的更改将更改模板链接到的所有主机的监控项。

标签 选项卡允许定义监控项级别的 标签

监控项值预处理

预处理 选项卡允许为接收到的值定义转换规则

测试

可以对监控项进行测试,如果配置正确,则可以返回实际值。测试甚至可以在保存监控项之前进行。

可以对主机和模板的监控项、监控项原型和低级别自动发现规则进行测试。agent(主动式)类型的监控项不能被测试。

监控项测试可用于以下被动式监控项:

  • Zabbix agent
  • SNMP agent (v1, v2, v3)
  • IPMI agent
  • SSH checks
  • Telnet checks
  • JMX agent
  • Simple checks(除了监控项 icmpping*, vmware.*
  • Zabbix internal
  • Calculated items
  • External checks
  • Database monitor
  • HTTP agent
  • Script

要测试监控项,请单击监控项配置表单底部的测试按钮。请注意,对于无法测试的监控项(例如简单检查之外的其它主动检查),测试按钮将被禁用。

监控项测试表单包含主机参数(主机IP地址、端口、proxy名称/无proxy)和监控项相关的详情(如SNMPv2的团体名或SNMPv3的安全凭据)所需的字段。这些字段是上下文相关的:

  • 所需的参数值会尽可能预填充,例如,对于需要agent的监控项,所需信息就会从主机下所选的agent接口传递过来
  • 模板内的监控项的相关参数需要手动填充
  • 纯文本宏的值会被解析
  • 值(或部分值)为密码或Vault宏的字段为空,必须手动输入。如果监控项参数中存在加密宏值,则会显示如下警告信息:“监控项包含用户定义的带有密码的宏。这些宏的值应该手动输入。”
  • 在特定的监控项类型上下文中,不需要的字段会被禁用(例如,在可计算类型的监控项中主机地址字段和proxy字段被禁用)

要测试监控项,点击 获取值。如果成功获取到值,它会自动填充进对应的 Value(值)字段,将当前值(如果有的话)移动到 Previous value(前一次值)字段,同时计算Prev. time(前一次)字段,即两个值(两次测试)之间的时间差,并尝试检测EOL序列,若在接收到的值中检测到“\n\r”时切换到CRLF。

如果配置不正确,则返回错误提示,并描述可能的原因。

从主机接收成功的值也可以用于测试预处理步骤

表单按钮

表单底部的按钮允许执行多种操作。

添加监控项。 此按钮仅适用于新监控项。
更新监控项的属性。
根据当前监控项的属性创建另一个监控项。
立即执行新监控项值的检查。 仅支持 被动 检查 (参见 更多详细信息)。
注意:当立即检查值时,配置缓存不会更新,因此该值不会反映监控项配置在最近极短时间内的最新更改。
通过获取一个值来验证监控项配置是否正确。
删除监控项历史记录和趋势数据。
删除监控项。
取消对监控项属性的编辑。

文本数据限制

文本数据限制取决于后端数据库。在将文本值存储到数据库之前,它们会被截断以符合数据库值类型限制:

数据库 信息类型
Character(字符) Log(日志) Text(文本)
MySQL 255 字符 65536 字节 65536 字节
PostgreSQL 255 字符 65536 字符 65536 字符
Oracle 255 字符 65536 字符 65536 字符

单位转换

默认情况下,为监控项指定单位会自动添加该单位的乘数前缀 - 例如,单位为“B”的传入值“2048”将显示为“2KB”。

但是,可以通过使用 ! 前缀来阻止单位转换,例如 !B。为了更好地理解在有单位转换和没有单位转换的情况下转换的方式,请参见以下值和单位示例:

1024 !B → 1024 B
       1024 B → 1 KB
       61 !s → 61 s
       61 s → 1m 1s
       0 !uptime → 0 uptime
       0 uptime → 00:00:00
       0 !! → 0 !
       0 ! → 0

在Zabbix 4.0之前,有一个硬编码的单位黑名单包括 ms, rpm, RPM, %。这个黑名单已被弃用,因此阻止这些单位转换的正确方法是使用 !ms, !rpm, !RPM, !%

自定义脚本限制

可用的自定义脚本长度取决于使用的数据库:

数据库 字符限制 字节限制
MySQL 65535 65535
Oracle 数据库 2048 4000
PostgreSQL 65535 无限制
SQLite(仅Zabbix proxy) 65535 无限制

不支持的监控项

如果由于某种原因无法检索到值,则该监控项会变为不受支持的。但是该监控项仍会以设定的更新间隔重新检索。

不支持的监控项会被报告为“不支持(NOT SUPPORTED)”状态。