1 Zabbix监控的配置流程
在Zabbix-Web管理界面中添加一个主机,其完整的配置流程可以简单描述为:
Host groups(主机组)→Hosts(主机)→Applications(监控项组)→Items(监控项)→Triggers(触发器)→Problems(故障)→Actions(处理动作)→User groups(用户组)→Users(用户)→Medias(告警方式)→Action log(日志审计)
在实际使用时,Items、Triggers、Graphs(图形)不必每台设备(Host)都手动配置,通常采用模板进行批量配置即可。模板就是对设备的监控项等监控配置内容的抽象,可以将其链接(Link)对应到同一种监控类型的设备。
2 添加主机组
分组的目的是将同一属性的主机、模板进行分类。在Zabbix的软件设计规则中,已规定主机、模板必须属于一个分组。
对同一属性的主机或者模板应归类到相同组,相关原则如下:
- 以地理位置纬度进行划分。
- 以业务为单位划分组。
- 以机器用途进行划分。
- 以系统版本进行划分。
- 以应用程序来划分组。
- 其他方式等。
如何添加主机组???
依次单击Configuration → Host groups → Create host group按钮,打开添加主机组界面,输入主机组名“web app”,单击Add按钮添加,可以看到如下界面:
添加主机组后的相关信息保存在数据库中,如果想在数据库中查询主机组,则可运行下面的命令:
[root@linux30 ~]# mysql -uzabbix -pzabbix zabbix -e "select * from hstgrp";
3 添加模板
监控项、触发器、图形、Web、Discovery等都存在于主机之上,由于多个主机会使用相同的监控配置,因此可以对这部分同类的数据进行归纳抽象,即将这些数据做成模板。当我们需要对其他监控数据进行配置时,只需要为相应的主机添加对应的模板即可。
**添加模板(Templates)的步骤为:**依次单击Configuration→Templates→Create template按钮。
模板具有继承的功能(在一个模板中使用另一个模板):
在模板中也可以配置宏(Micros):
宏主要是对变量的定义,配置宏的作用是方便后面在Items、Triggers中引用。在模板中配置一个宏,在不同的主机中为该宏设置不同的变量值,从而达到模板化通用的目的。
注意:宏的名称为{$名称},宏的字符范围为“A~Z、0~9、_、.”,如果不是这个范围内的字符,则一律是无效的
查看新添加的模板。可以看到,Items中已经有三个监控项了,是继承于ZabbixAgent模板的。
4 添加主机
添加主机(Hosts)的目的是对具体的设备进行监控,步骤为:依次单击Configuration→Hosts→Create host按钮,填写主机名,选择主机组为“Linux servers”,填写Agent的IP地址,勾选“Enabled”(启用),单击Add按钮进行添加。
添加主机后,需要添加模板。单击Templates,搜索模板名称,输入Linux,出现了“Template OS Linux”模板,单击Add按钮。最后单击Add按钮,即可完成模板的添加。
注意:如果要从主机中删除模板,选择“Unlink”,并不会清除已经添加的监控数据;而选择“Unlink and clear”,则会删除链接到主机的模板,并且会清除主机中的监控数据。配置IPMI、Macros、Host inventory的方法与上相同。
在数据库中,模板是存储在hosts表中的。在MySQL中查看hosts表结构如下:
[root@linux30 ~]# mysql -uzabbix -pzabbix zabbix -e "show create table hosts\G";
5 配置图形
Graphs(图形)用于将数据以可视化形式展示。Graphs的配置存在于主机和模板中。
在主机(模板)中选择“Graphs”。单击“Create graph”按钮,打开新建图形界面,输入图形名称,选择所需要添加的监控项,选择完成。
选择刚才创建的图形,单击“Preview”,即可查看图形:
如果要查看所有的图形,则单击Monitoring→Graphs,选择对应的Group、Host、Graph进行查看即可
6 配置大屏
Screens(大屏)用于将多种信息放在一起展示,便于集中显示某个主机的多种信息,或者将多个主机的同一种信息放在一起显示,这些信息可以为Graphs、Maps、Server info等,几乎涵盖了Zabbix的所有监控信息。
通过单击Monitoring→Screens→Create screen按钮来创建大屏。创建时要定义大屏的行数和列数,然后单击“Add”按钮,勾选“Cpu Usage”,出现“Edit screen”按钮,即可进入编辑模式。
配置好大屏后,通过单击Monitoring→Screens来选择相应的大屏,进行展示。
7 新建监控项
7.1 简介
监控项是Zabbix中获得数据的基础。没有监控项,就没有数据——因为一个主机中只有监控项定义了单一的指标或者需要获得的数据。
7.2 添加监控项
所有的监控项都是依赖于主机的。这就是当我们要配置一个监控项时,先要进入 配置 → 主机 页面查找到新建的主机。
在’Linux31’行中,监控项(Items)的链接旁的数量会显示为’0’。点击这个链接,然后点击创建监控项(Create item),将会显示一个监控项定义表格。
对于监控项的示例,需要输入以下必要的信息:
名称(Name)
- 输入 CPU Load 作为值。在列表中和其他地方,都会显示这个值作为监控项名称。
值(Key)
- 手动输入 system.cpu.load 作为值。这是监控项的一个技术上的名称,用于识别获取信息的类型。这个特定值需要是Zabbix Agent预定义值中的一种。
信息类型(Type of information)
- 在此处选择 Numeric (float)。这个属性定义了想获得数据的格式。
7.3 查看数据
当一个监控项定义完成后,你可能好奇它具体获得了什么值。前往监控(Monitoring) → 最新数据(Latest data), 在过滤器中选择刚才新建的主机,然后点击应用(Apply)。
然后点击**- other -**前面的 + ,然后查看你之前定义的监控项和获得的值。
7.4 图表
当监控项运行了一段时间后,可以查看可视化图表。 简单图表 适用于任何被监控的数值型(numeric)监控项,且不需要额外的配置。这些图表会在运行时生成。
前往监控(Monitoring) → 最新数据(Latest data),然后点击监控项后的’图表(Graph)'链接以查看图表。
8 新建触发器
8.1 概述
监控项只是用于收集数据。如果需要自动评估收到的数据,我们则需要定义触发器。触发器包含了一个表达式,这个表达式定义了数据的可接受的阈值级别。
如果收到的数据超过了这个定义好的级别,触发器将被“触发”,或者进入“异常(Problem)”状态——从而引起我们的注意,让我们知道有问题发生。如果数据再次恢复到合理的范围,触发器将会到“正常(Ok)”状态。
8.2 添加触发器
为监控项配置触发器,前往配置(Configuration) → 主机(Hosts),找到’(Linux31)',点击旁边的触发器(Triggers) ,然后点击创建触发器(Create trigger)。这将会向我们展现一个触发器定义表单。
Name:CPU load too high on "Linux31" for 1 minutes Expression:{Linux31:system.cpu.load[all,avg1].last(,1)}>1
确认表达式输入正确,直到最后一个符号。此处,监控项值(system.cpu.load)用于指出具体的监控项。这个特定的表达式大致是说如果1分钟内,CPU负载的平均值超过1,那么就触发了问题的阈值。你可以查看更多的触发器表达式语法信息。
完成后,点击添加(Add)。新的触发器将会显示在触发器列表中。
8.3 显示触发器状态
当一个触发器定义完毕后,你可能想查看它的状态。
如果CPU负载超过了你在触发器中定义的阈值,这个问题将显示在*监控(Monitoring) → 问题(Problems)*中。
# 增大CPU负载 [root@linux31 ~]# cat /dev/urandom | md5sum