3-zabbix配置

配置流程

完整的配置流程:主机组–>主机–>监控项组–>监控项–>触发器–>故障–>处理动作–>用户组–>用户–>告警方式–>日记审计。

主机组和主机

创建主机组

只有超级管理员才可以创建主机组,操作:

  • 转到:数据采集→主机组
  • 单击屏幕右上角的 创建主机组
  • 在表单中输入组的名称
    可以配置父子主机组,类似:Asia、Asia/China

注意:父子主机组要先创建父主机组,在创建子主机组

主机

创建主机操作:

  • 进入:数据采集 → 主机 或者 监控 → 主机
  • 在右侧点击 创建主机 (或者在主机名上编辑一台已有的主机)
  • 在表单中输入主机的相关参数
    可以使用克隆创建主机,但是对现有主机上所做的修改都不会克隆到新主机上,将会与最初模板一致。

创建主机

  • 主机
参数 说明
主机名 主机名,注意需要与agent配置文件中的hostname相同
可见的名称 主机的唯一可见名称,若设置将在web中显示此名称
模板 将模板连接到主机。
主机群组 主机所属的主机组
接口 主机接口
  • IPMI
参数 说明
认证算法 选择身份验证算法
优先权层级 选择权限级别
用户名称 用户名
密码 密码

标记:对主机附加标签键值对,以便进行逻辑区分、提高效率

宏:为主机添加宏变量,用来节省时间以及配置透明

资产记录:主机资产的相关信息,可以进行停用、手动设置、自动。如果启用资产记录,则一个绿点会伴随显示在选项卡名称旁。

加密:与主机建立加密链接

值映射:为了更人性化的表示,可以对数字、字符进行映射,例如0→不可用,1→可用。

资产记录

在zabbix web中有资产记录,但你一开始不会看到任何数据,这里你也不能输入任何资产相关的信息。资产信息是在配置主机时人工录入建立的资产数据,或者是通过使用某些自动填充选项完成的录入。
在管理→ 常规→ 其他 中可以设置默认的主机资产记录模式。

监控项

监控项是单独的指标。监控项用于收集数据。

创建监控项

名称:监控项名称
类型:监控项类型
键值:监控项键值,键值在单个主机中是唯一的
信息类型:执行转换后存储在数据库中的数据类型
主机接口:主机接口,在编辑主机级别的监控项时可用
单位:监控项接收数据后匹配设置的单位
更新间隔: 每N秒获取一次这个监控项的新值。允许的最大更新间隔为86400秒(1天),支持s、m、h、d
自定义时间间隔:自定义更新时间间隔。灵活,如果灵活间隔的最小值为“0”,则不会进行轮询,在灵活间隔之外,使用默认更新间隔,例如 间隔:0 期间1-7,00:00-7:00,表示在周一至周日0点至7点之间不进行轮询。调度,格式为:md月 wd星期 h时 m分 s秒,h9,10m10-40/30为在9:10,9:40,10:10,10:40执行。
超时:超时时间
历史记录:数据存储时间,可以设置为不存储
趋势:指定趋势数据留存的时长,趋势数据是存储数字类型监控项的每小时的最小值、最大值、平均值和记录数量
值映射:将主机的值映射应用于此监控项
填入主机资产字段:当主机的资产记录使用自动时,可以将监控项的值填入到主机资产字段
标记:定义监控项级别的标签

用户自定义监控项

用户可以自定义命令来检索所需的数据,将其放在agent的配置文件中。
格式:UserParameter=key,command

1
2
3
4
5
6
7
8
# ]cat zabbix_agentd.conf |grep -v "^#" |grep -v "^$"
PidFile=/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.27.4
ServerActive=192.168.27.4
Hostname=docker
Include=/etc/zabbix/zabbix_agentd.d/*.conf #自定义监控项的配置文件可以放到Include项目中,Include可以有多个

将自定义监控项放在/etc/zabbix/zabbix_agentd.d/中,可以按照监控类型创建多个文件并以.conf结尾,单个文件中可以添加多个监控项

1
2
# ]more /etc/zabbix/zabbix_agentd.d/test.conf
UserParameter=ping[*],echo $1 # [*] 用于定义该key接受括号内的参数。监控项Key的[]中包含的参数,并相应地替换$1,…,$9。当执行 awk '{print $$2}时,则实际变为$2,$起到类似转义符作用

重启agent服务后就可以在web中进行配置监控项,并且可以进行测试结果

触发器

在模板或者主机中创建触发器

名称:触发器名称
事件名称:若设置事件名称,将使用这个名称来创建问题事件名称,可以使用该字段说明该触发器的相关事件
运营数据:可以展示触发器相关数据,使用宏可以动态的展示相关数据
表达式:定义问题条件的逻辑表达式,满足该表达式时就会产生问题
事件成功迭代:问题恢复的条件,可以自定义恢复表达式,当为无时,触发器将不会恢复到正常状态
问题事件生成模式:单个为触发器为true状态时生成一个事件,多重为触发器每一次false都触发一个事件
事件成功关闭:关闭此触发器所有问题;或者关闭标签值对应的问题

触发器表达式

表达式语法: function(/host/key,parameter) <operator> <constant>
function:函数
/host/key:/主机/监控项
parameter:函数参数,一般为时间(使用时间后缀)或者最后几个(#10 ,最后10个),还可以添加 : 来设置时间偏移,avg(/host/key,1h:now-1d) 后面加上 :now-1d表示一天前,总体表示一天前的一小时的平均值。
operator:运算符
constant:常量
可以使用表达式构造器进行测试表达式是否符合预期

触发器的依赖关系

有时服务器的可用性依赖其他的设备,例如服务器依赖交换机,当交换器出现故障时,服务器的可用性也出现问题,但真正的问题点在交换机。可以在触发器依赖关系中加入依赖,防止次要触发器被触发。

事件

zabbix中生成的事件有以下几种类型:

  • 触发器事件:触发器的状态发生改变,正常–问题–正常
  • 服务事件:服务的状态发生改变,正常–问题–正常
  • 发现事件:检测到主机或服务
  • 自动注册事件:当主动agent被服务器自动注册时
  • 内部事件:监控、低级别自动发现规则不受支持时、触发器进入未知状态时

触发器事件

触发器可以创建两种实践:问题与正常

问题事件
以下情况会创建问题事件

  • 当触发器状态由正常变为问题时
  • 当触发器启用了多重问题事件生成,每次触发器表达式结果为TRUE时

正常事件
正常事件会关闭相关联的问题事件

  • 触发器:事件成功迭代、事件成功关闭
  • 事件关联:通过标签规定义新的问题事件与旧的问题事件匹配关系,并允许通过生成对应的正常事件来关闭新的事件或匹配的事件
  • 任务管理器:若触发器启用了“允许手动关闭”,并且手动关闭触发器生成的问题的事件。

事件关联

基于触发器的事件关联

基于触发器的事件关联允许关联一个触发器产生的不同问题,同过标签进行实现
例如:同一个日志中不同问题的产生与正常

全局事件关联

全局事件关联可以关联由完全不同的触发器创建的事件,并对他们应用相同的操作。创建关联规则,可以避免重复通知,并关注问题的根本原因

标签

标签有多重用途,最明显的是标记事件。如果实体被标记,相应的新事件也会被标记。

  • 带有标记的模板:所有由此模板相关的实例(监控项、触发器等)创建的主机问题都会被标记。
  • 带有标记的主机:主机的所有问题都会被标记
  • 带有标记的项目、网络场景:该监控项的所有数据/问题场景都会被标记
  • 带有标记的触发器:此触发器的所有问题都将被标记

用例

  1. 在监控问题中可以查看到来自模板、监控项、主机、触发器不同维度的标签
  2. 在动作条件中使用标签,仅接收与标签数据匹配的事件通知
  3. 在监控项标签中使用{{ITEM.VALUE\<N\>}.regsub()} 宏,在问题中可以查看从监控项值中提取的数据作为标签值