zabbix系列-配置监控

zabbix系列,同之前一样,采自整理的文档。这篇主要讲配置监控的方法。

主机群组

在主机群组中可主动添加自定义的群组,以使添加的主机使用,例如:

模板

创建模板

Zabbix中被监控的主机,主要就是套用模板来实现具体监控事项的,Zabbix安装完成时,里面就已经预装了不少的模板,这些是在大部分情况下通用的模板,当需要有更精细和特别的监控,就需要自定义模板了,网上也有人整理并分享了大量的自定义模板

默认的Zabbix Linux监控模板只监控了CPU状态、内存使用、启动时间、passwd文件更改、SWAP空间,进程数等基础信息。故下面以添加更多的监控指标来讲解模板的使用。

点击创建模板,设置模版名称,和套用模板的群组:

在链接的模板中,将自带的Linux基础监控添加进来:

添加完成之后 ,即可看到新建的模板,和它从链接的模板带来的监控项:

除了上面新建模板链接的方法,也可以在原模板中克隆后进行使用:

使用克隆方式,和模板链接类似,克隆出来的模板也是链接到原模板;使用全克隆会将原有设置完全复制建立一份。

应用集

应用集相当于一个分组,多个功能相同的监控项可归为一组。

监控项

监控项是从主机收集的数据信息。配置主机后,需要添加一些监控项来获取实际的数据信息。一个监控项是一个独立的指标,快速添加多个监控项的方法是将一个模板阿加到主机,然后对模板进行微调。

在单个监控项中,你可以指定从主机收集哪些数据。为此,可以使用监控项KEY,从而名称为system.cpu.load的监控项将收集处理器负载的数据,而名为net.if.in的监控项将收集传入的流量信息。要用key指定更多的参数,请在key后添加方括号。 例如,system.cpu.load[avg5]将返回最近5分钟的处理器负载平均值,而net.if.in[eth0]将显示接口eth0中的流量。

不同平台及版本所支持的监控项,详见官网

创建监控项:

红色*号标注的均为必填项。

参数

描述

名称

命名监控项的名称。

可以使用以下宏:$1,$2..$9 指的是监控项的第1,2..9个参数。

例如: Free disk space on $1

如果监控Key是 vfs.fs.size[/,free], 说明将自动改为 Free disk space on /

类型

监控项类型。参考官网

键值

监控项键值。可支持的监控项键值能够在各个监控项类型中找到。也可以自己添加,这个键值在单个主机中必须唯一。

如果键值的类型是’Zabbix 客户端’、’Zabbix客户端(主动式)’, ‘简单检查’ 或者 ‘Zabbix整合’, 则此key必须被 Zabbix 客户端 或者 Zabbix 服务端 支持。

也可以查看: 正确的 键值的格式.

信息类型

执行转换后存储在数据库中的数据类型(如果有)。

数字(无正负) – 64位无符号整数

数字(浮点) – 浮点数

可以存储负值。

允许范围: -999999999999.9999 到 999999999999.9999.

从Zabbix 2.2开始,也支持科学计数值。例如。 1e+7,1e-4。

字符 – 短文本数据

日志 – 具有可选日志相关属性的长文本数据(timestamp, source, severity, logeventid)

文本 – 长文本数据。可参见 文本数据限制

单位

如果设置了单位符号,Zabbix将在收到数据后再加工处理,并使用设置单位后缀进行显示。

默认情况下,如果原始值超过1000,则除以1000,并相应显示。 例如,如果设置 bps 并接收到值为881764,则将显示为881.76 Kbps。

特殊处理用于B(字节),Bps(每秒字节数)单位,除以1024.因此,如果单位设置为B或Bps,Zabbix将显示:

1 为 1B/1Bps

1024 为 1KB/1KBps

1536 为 1.5KB/1.5KBps

如果使用以下与时间相关的单位,则使用特殊处理:

unixtime – 转换成“yyyy.mm.dd hh:mm:ss”。 要正确转换,接收的值必须是数字(无符号)类型的信息。

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”,则不会轮询该项。 但是,如果自定义间隔(灵活/调度)也存在非零值,则会在自定义间隔持续时间期间轮询该项。

注意 可以通过按立即检查按钮立即轮询现有被动监控项的值。

自定义时间间隔

你可以创建用于检查监控项的自定义规则:

Flexible – 创建更新间隔的异常(间隔不同的频率)

Scheduling – 创建自定义轮询时间表。

详细信息请查看 自定义间隔。

间隔 字段支持时间后缀 , 例如 30s, 1m, 2h, 1d.

支持用户宏。

从Zabix 3.0.0开始支持时间表。

注意: 不适用于Zabbix Agent的活动监控项。

历史数据保留时长

在数据库中保存详细历史的持续时间(1小时至25年)。housekeeper将删除较旧的数据。

按秒存储。 支持时间后缀, 例如 2h, 1d.

支持用户宏

建议保留最小可能天数的记录值,以减少数据库中的历史记录的大小。你可以保留较长的趋势数据,而不是保存长期的历史数据。参见历史和趋势

趋势存储时间

在数据库中保持聚合(每小时最小值,最大值,平均值,计数)历史的持续时间(1天到25年)。 housekeeper将删除较旧的数据。

按秒存储。 支持时间后缀, 例如 2h, 1d.

支持用户宏。

注意: 保持趋势不适用于非数字数据 – 字符,日志和文本。

查看值

将值映射应用于此监控项。值映射不会改变收到的值,仅用于显示数据。

它只适用于整数项。

例如, “Windows service states”.

新的应用集

输入监控项新的应用集名称

应用集

将监控项链接到一个或多个现有的应用集

填入主机资产记录栏位

你可以选择项目的值将填充的主机资产字段,如果你为主机启用了自动发现模式 资产管理 ,这将会起作用。

描述

监控项描述

已启用

选中复选框以启用该监控项。

进程–监控项值预处理:

预定步骤 选项卡允许为接收的值定义转换规则。在将值保存到数据库之前,可以进行一次或多次转换。 转换按照定义的顺序执行。 所有预处理都由Zabbix服务器完成。

可参见 预定步骤详细信息

主要选项:

转换

描述

正则表达式

将值与<pattern>正则表达式匹配,并将值替换为<output>。 正则表达式支持使用\N序列提取最多10个捕获的组。 无法匹配输入值将使监控项不受支持。参数:

pattern – 正则表达式

output – 输出格式化模板。\N(其中N = 1 … 9)转义序列被替换为第N个匹配组。\ 0转义序列将替换为匹配的文本。

版本3.4.0.之后支持 \\有关示例,请参阅正则表达式部分。

裁剪

从值的起始和结尾删除指定的字符。

右裁剪

从值的末尾删除指定字符

左裁剪

从值的起始处删除指定字符

XML Xpath

使用XPath功能从XML数据中提取值或段。

要使此选项生效,必须使用libxml支持编译Zabbix服务器。

示例:

number(/document/item/value) <document><item><value>10</value></item></document>提取 10

number(/document/item/@attribute) 将从 <document><item attribute=”10″></item></document>提取 10

/document/item 将从 <document><item><value>10</value></item></document> 提取 <item><value>10</value></item>

请注意,不支持名称空间。

版本3.4.0.之后支持

JSON路径

使用JSON路径功能的简单子集从JSON数据中提取值或段。

示例:

$.document.item.value 将从 {“document”:{“item”:{“value”: 10}}}提取 10

$.document.item 将从 {“document”:{“item”:{“value”: 10}}} 提取 {“value”: 10}

$[‘a document’].item.value 将从 {“a document”:{“item”:{“value”: 10}}} 提取 10

$.document.items[1].value 将从 {“document”:{“items”:[{“value”: 10}, {“value”: 20}]}}提取 20

请注意,仅支持以点或括号表示法指向单个对象的直接路径。

在JSON路径点符号($.a.b.c)中只能使用字母数字+下划线字符。 如果JSON对象名称包含其他字符,则必须使用括号符号 ($[‘a’][‘b’][‘c’])。 两种符号可以混合($.a[‘b’].c)

不支持提取多个值。

版本3.4.0.之后支持

自定义位数

将值乘以指定的整数或浮点值。\\使用此选项将以KB,MBps等接收的值转换为B,Bps,否则Zabbix无法正确设置前缀(K,M,G等)。\\从Zabbix 2.2开始,也支持使用科学符号。 例如。 1e + 70。

简单更改

计算当前值和上一个值之间的差值。\\评估为value-prev_value,其中

value – 当前值; prev_value – 以前收到的值

每个监控项只允许一个更改操作。

每秒更改

计算每秒速度的值变化(当前值和上一个值的差值)。

计算为(value-prev_value)/(time-prev_time),其中

value – 当前值; prev_value – 以前收到的值; time – 当前时间戳,prev_time – 以前值的时间戳。

这个设置是非常有用的,以获得每秒不断增长的速度值。 如果当前值小于上一个值,Zabbix将丢弃该差异(不存储)并等待另一个值。这有助于正常工作,例如,32位SNMP计数器的包装(溢出)。

注意: 由于此计算可能产生浮点数,建议将’信息类型’ 设置为 数字 (浮点),即使传入的原始值是整数。 这对于小数部分尤其重要。 如果浮点值很大并且可能超过’float’字段长度,在这种情况下,整个值可能会丢失,实际上建议使用数字(无符号),因此只会修整小数部分。

每个监控项只允许一个更改操作。

布尔值转十进制

将值从布尔值转换为十进制。文本表示被转换为0或1.因此,“TRUE”存储为1,“FALSE”存储为0.所有值都以不区分大小写的方式进行匹配。当前被认为的布尔值值如下:

TRUE – true, t, yes, y, on, up, running, enabled, available, ok, master

FALSE – false, f, no, n, off, down, unused, disabled, unavailable, err, slave

此外,任何非零数值都被认为是TRUE,0被认为是FALSE。

ok, master, err, slave在4.0.0后支持

八进制转十进制

将八进制格式的值转换为十进制。

十六进制转十进制

将值从十六进制格式转换为十进制。

请注意,数字格式不支持包含空格的值。 作为解决方法,您可以使用正则表达式预处理步骤删除十六进制到十进制步骤之前的空格。

触发器

触发器是“评估”由监控项采集的数据并表示当前系统状况的逻辑表达式。

当监控项用于采集系统的数据时,始终遵循这些数据是非常不切合实际的,因为这些数据始终在等待一个令人担忧或者值得关注的状态。然而这个“评估”数据的工作可以留给触发器表达式。

触发器表达式允许定义一个什么状况的数据是“可接受”的阈值。因此,如果接收的数据超过了可接受的状态,则触发器会被触发 – 或将状态更改为异常。

每当Zabbix server接收到作为表达式一部分的新值时,都会重新计算触发器状态(表达式)。

如果在表达式中使用基于时间的函数(nodata(), date(), dayofmonth(), dayofweek(), time(), now()),触发器就会由Zabbix history syncer进程每30秒重新计算一次。如果在表达式中同时使用基于时间和非基于时间的函数,当接收到一个新值和每隔30秒都会重新计算触发器的状态。

你可以构建触不同复杂程度的触发器表达式

配置触发器:

触发器标签页包含了所有必要的触发器属性。

所有强制输入字段都用红色星号标记。

选项

描述

名称

触发器名称。

名称中可以包含支持的 宏: {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {ITEM.VALUE}, {ITEM.LASTVALUE} 和{$MACRO}。

$1, $2…$9 宏可以用来指第一,第二…第九表达式的常量。

备注: 如果引用了相对简单的常量或明确的表达式,$1-$9宏将会正确解析。例如, 如果表达式是{New host:system.cpu.load[percpu,avg1].last()}>5,则“Processor load above $1 on {HOST.NAME}“将会自动更改成 “Processor load above 5 on New host”

严重性

通过点选对应的按钮来设置所需的触发器严重性。

异常表达式

用于定义异常条件的逻辑表达式

事件成功迭代

事件成功迭代选项:

表达式 – OK事件基于与问题事件相同的表达式

恢复表达式 – 如果问题表达式计算为false,恢复表达式计算为true,则生成OK事件

None – 在这种情况下,触发器永远不会返回到OK状态。

从Zabbix 3.2.0开始支持

异常事件生成模式

生成异常事件的模式:

单个 – 当触发器第一次进入‘异常’状态时,生成一条单个事件

多重 – 每一个触发器‘异常’评估都将生产一条事件

事件成功关闭

如果选择事件成功关闭:

所有问题 – 此触发器的所有问题

所有问题如果标签值匹配 – 只有那些匹配事件标签值引发的问题。

从Zabbix 3.2.0开始支持

匹配标记

设置自定义标签来标记触发器事件。

事件标记 可用于事件关联, 在动作条件下,也将在监视 → 问题中被看到。

标记是一对标记名和值。您可以仅使用名称或值对。\\在事件标记中支持用户宏, 用户宏上下文, 低级别发现宏和函数宏: “{{ITEM.VALUE}.regsub(pattern, output)}, {{ITEM.VALUE}.iregsub(pattern, output)}”。可以在宏上下文中使用低级别发现宏。

如果扩展值的总长度超过255,则它将被切割成255个字符。

从Zabbix 3.2.0开始支持。

允许手动关闭

检查是否允许手动关闭由该触发器生成的问题事件。在确认问题事件时,手动关闭是可能的。

从Zabbix 3.2.0开始支持。

URL

如果不为空, 在监测 → 问题和问题仪表板中点击触发器名称,这里输入的URL可以作为链接。(URL选项在触发器上下文菜单)

可以在触发器URL字段中使用宏 – {TRIGGER.ID}, 多个{HOST.*}宏(Zabbix3.0.0以后的版本)和用户宏(Zabbix3.0.0以后的版本).

描述

文本字段用于提供有关此触发器的更多信息。可能包含解决具体问题的指令、负责人员的联系细节等。

从Zabbix 2.2开始, 描述可以包含与触发器名称相同的宏集。

已启用

如果需要,不选中该框将禁用触发器。

依赖关系标签里包含触发器依赖关系。

自动发现

自动发现(LLD)提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法。例如,Zabbix可以在你的机器上自动开始监控文件系统或网络接口,而无需为每个文件系统或网络接口手动创建监控项。此外,可以配置Zabbix根据定期执行发现后的得到实际结果,来移除不需要的监控。

用户可以自己定义发现类型,只要它们遵循特定的JSON协议。

发现过程的一般架构如下。

首先,用户在“配置”→“模板”→“发现”列中创建一个发现规则。发现规则包括(1)发现必要实体(例如,文件系统或网络接口)的项 和(2)应该根据该项的值创建的监控项,触发器和图形的原型

发现所需实体的项就像其他地方所看到的常规项一样:服务器(server)向Zabbix agent(或者对应该项的其他类型的设置)查询该项的值,agent以文本值进行响应。区别在于agent响应的值应该包含特定JSON格式的已发现实体的列表。虽然这个列表的详细信息仅对自定义发现检查来说很重要,但有必要知道返回的值包含宏 – >值对的列表。 例如,项目“net.if.discovery”可能会返回两对:“{#IFNAME}” – >“lo”和“{#IFNAME}” – >“eth0”。

这些宏用于名称,键值和其他原型字段中,然后用接收到的值为每个发现的实体创建实际的监控项,触发器,图形甚至主机。请参阅使用LLD宏选项的完整列表。 。

当服务器接收到已发现项的值时,它会查看宏→值对,每对都根据原型生成实际监控项,触发器和图形。在上面的“net.if.discovery”示例中,服务器将生成环路接口“lo”的一组监控项,触发器和图表,另一组用于界面“eth0”。

创建自动发现:

所有必填输入字段都标有红色星号。

选项

描述

名称

发现规则名称

类型

执行发现的检查类型; 可以是 Zabbix agent或Zabbix agent(主动)文件系统发现等。

键值

自2.0版以来,许多平台上Zabbix agent中都内置了一个带有“vfs.fs.discovery”键的项目,(详情参见支持项目键列表), 将返回一个JSON, 包含计算机上存在的文件系统列表及其类型详情。

更新间隔(秒)

此字段指定Zabbix执行发现的频率。 在开始刚刚设置文件系统发现时,可以将其设置为一个小间隔,但是一旦知道它可以工作之后,可以将其设置为30分钟或更长时间,因为文件系统通常不会经常更改。

从Zabbix 3.4.0起支持时间后缀 ,例如 30s,1m,2h,1d。 自Zabbix 3.4.0起支持用户宏。

注意: 如果设置为’0’,则不会轮询该项目。 但是,如果灵活间隔也存在非零值,则在灵活间隔持续时间内将轮询该项目。

注意对于现有发现规则,可以通过点击立即检查按钮立即执行发现。

自定义时间间隔

您可以创建用于检查项目的自定义规则:

灵活 – 创建例外的更新间隔 (不同频次的间隔)

调度 – 创建自定义轮询调度。

有关详细信息,请参阅自定义时间间隔. 从Zabix 3.0.0起支持调度。

描述

输入一段描述

已启用

如果选中,将会处理该规则

发表评论

error: Content is protected !!