本帖最后由 adminlily 于 2018-11-5 11:38 编辑
本文介绍Zabbix的快速配置使用,介绍配置流程,通过浏览器访问http://ServerIP/zabbix开始配置和使用Zabbix。 0 配置流程 Zabbix完整的监控配置流程可以简单描述为:
Host Groups(主机组)→Hosts(主机)→Applications(监控项组)→Items(监控项)→Triggers(触发器)→Event(事件)→Actions(处理动作)→User groups(用户组)→Users(用户)→Medias(告警方式)→Audit(日志审计)。 在实际使用的时候,Items、Trigger、Graph通常采用模板进行配置,模板的特点就是可以对相同需求的监控项重复使用,无须对每台主机进行逐个设置。
对于使用Zabbix来说,配置Graph不是必需的,因为没有配置图形,数据的获取也不影响,数据。但是对用户(Zabbix的Web界面用户)来说,没有图形,就无法看到可视化的数据,因此,需要对最关心的Items添加图形,以便将数据可视化。
配置Trigger不是必需的,但是对于特别关注的数据,需要对取到的值进行条件判断,这时配置触发器就是必需的。
另外,如果想集中查看图形,可以使用Screens功能,将多个图形配置到一个界面上。(遗憾的是,Screens功能并不十分完美,只能满足一般需求)
Zabbix的运行流程可以用下面这张图来简单的描述:
1 添加主机组
分组的目的是将统一属性的主机归类,便于查看和统计。
主机组中可以包含主机,也可以包含模板。
如何添加新主机组呢?方法是单击“配置”——“主机群组”界面右上角的“创建主机群组”按钮,跳转到添加新主机组的界面:
填写“组名”,从右侧列表选择主机移到左侧列表中,将这些设备添加到新建的组中。点击“保存”。
2 添加模板 监控项、触发器、图形、Web、Discovery等都是存在于主机之上的,由于多个主机都会用相同的监控配置,因此可以对这部分同类的数据进行归纳抽象,将这些数据做成模板。当我们需要对其他主机进行配置的时候,只需要对相应的主机添加对应的模板即可。
单击“配置”——“模板”界面右上角的“创建模板”按钮,跳转到添加新模板的界面:
填写模板名称和所属的组。如果是将模板加到已有的组,则从“其他群组”中将指定的组移到左侧的列表;如果是将模板加到新的组,则在“新的群组”中填写组名。
模板具有继承的功能(将一个模板在另一个模板中使用),在“链接的模板”Tab页中:
注意,选择了链接的模板后先点“链接指示器”那里的小字“添加”。
模板中亦可以定义宏。宏主要是对变量的定义,设置宏的作用是方便在Items、Trigger中使用,在模板中配置一个宏,在不同的主机对该宏设置不同的变量值,从而达到模板通用化的目的。
注意,宏的名称为{$名称},宏的字符范围为“A~Z、0~9、_、.”,如果不是这个范围的字
注意,宏的名称为{$名称},宏的字符范围为“A~Z、0~9、_、.”,如果不是这个范围的字符,一律是无效的。
查看刚添加的模板:
可以看到这个模板从Template App Zabbix Agent模板中继承了三个监控项:
关于如何在模板中添加其他的Items,后面再说^_^
3 添加主机 添加主机的目的是对具体的设备进行监控,步骤为:点击“配置”——“主机”界面右上角的“创建主机”:
参数说明如下:
主机名:主机名不能重复。该名称对应Agent的配置文件中Hostname,只允许大小写字母、数字、标点符号和下划线。
可见的名称:可以不设置,设置了那么在其他地方展示时就显示这个名称,而不是主机名。
选择模板:
如果还想配置IPMI、宏、主机资产信息,依次配置即可。
4 配置图形 Graph是将数据展示为图像,以视觉化的形式展示,Graph的配置存在于主机和模板中。
在所在的主机(模板)中,选择“图形”:
点击右上角的“添加图形”,打开新建图形的界面,输入图形名称,选择所需的监控项:
保存后就能在“监测中”——“图形”中选择“群组”、“主机”和“图形”看到了:
有些情况下,我们并不需要对多有的监控项配置图形,可以在“监测中”——“最新数据”直接查看某个监控项的图形,甚至也可以勾选多个监控项点表格最下面的“显示数据图”或“显示堆叠数据图”:
5 配置聚合图形 聚合图形将多种信息放在一起展示,便于集中展示某个主机的多个信息,或是将多个主机的同一种信息放在一起显示。 通过点击“监测中”——“聚合图形”——“创建聚合图形”:
6 使用GraphTree Graphtree 由OneOaaS开发并开源出来,用来解决Zabbix的聚合图形配置繁琐的问题,集中展示图形,性能较好。
安装方式是,下载Graphtree补丁包,使用patch打补丁,即可,具体请参考[ /OneOaaS/graphtrees]OneOaaS/graphtrees[/url]。
效果如下:
7 配置Web监控 Web monitoring(Web监控)是用来监控Web程序的,可以监控到Web程序的下载速度、返回码及响应时间,还支持把一组连续的Web动作作为一个整体进行监控。
Web监控即对HTTP服务的监控,模拟用户去访问网站,对特定的结果进行比较,如状态码、返回字符串等特定的数据进行比较和监控,从而判断网站Web服务的可用性。
点击“配置”——“主机”——“Web监测”——“创建Web场景”。
名称:Web场景的名称。
切换到“步骤”Tab页,添加步骤:
如果有多个URL,则一次添加步骤:
添加完成后,在“监测中”——“Web监测”中可以查看:
Web监控实际上也是多个监控项组成的,如下图。所以也可以配置触发器,触发器的如何配置,下次再说。
8 配置监控项 监控项可以配置获取数据的方式、取值的数据类型、获取数值的间隔、历史数据保存时间、趋势数据保存时间、监控项所属的应用集。
监测周期的长短直接影响了数据的获取,也影响了Zabbix Server的性能。
监控的方式非常多,ZAbbix支持的监控方式有:
其中,最常用的有:
监控项可以存在于模板中,也可以存在于主机中,模板的作用是可以复用,对需要重复配置的监控项归类。
监控项的添加方式为,打开“配置”——“模板”/“主机”,点击对应的模板或主机的“监控项”,再点击页面右上角“创建监控项”:
创建监控项的页面:
单位:数据的单位符号,Zabbix将会处理接收到的数据,并且把数值转换为需要显示的单位。默认情况下,如果原始值超过1000,则除以1000并相应地显示。例如,设置bps为单位,如果接收到的值为881764,将会显示881.76Kbps。有个特殊情况,当单B(byte)、Bps(bytes每秒),时将会除以1024。
如何确认我们配置的Key是正确可用的呢?答案就是用前面介绍的zabbix_get啦。
8.1 监控项的Key
Key可以带参数,该参数为一个数组列表,可以同时传递多个参数,多个参数之间用半角逗号隔开。例如:
vfs.fs.size[/] vfs.fs.size[/opt] system.cpu.load[percpu,avg1]
举个例子,创建个自定义监控:
这里,/etc/passwd为$1,root为$2,则Key最终运行的命令为 grep –c root /etc/passwd。
顺便介绍下用户自定义参数(UserParameter)。UserParameter配置在zabbix_agentd.conf中或Include指定的配置文件中。 Key自定义的不带参数的格式为:
UserParameter=key, command
带参数的格式为:
UserParameter=key, command $1 $2 $3…
添加了UserParameter后要重启zabbix-agent服务才会生效。
注:Zabbix内置了很多关于网络流量、端口、进程、CPU、内存、磁盘、文件监控的Key,可以查阅官方文档。
9 配置触发器 告警是监控的重要功能,是指将达到某一阈值事件的消息发送给用户,让用户在事件发生的时候即可知道监控项处于不正常状态,从而让用户来决定是否采取相关措施。
在Zabbix中,告警是由一系列的流程组成的,首先是触发器达到阈值,接下来是动作对事件信息进程处理,其中包含两部分:第一部分是发送消息,即将告警信息发送给用户;第二部分是执行命令,即将事件用命令进行处理,达到对事件故障自动尝试恢复的效果。 触发器的状态分为“OK/正常”和“Problem/问题”。
触发器的状态是在Zabbix Server每次接收到监控项的新数据时,就会对值进行判断。对于触发器中的时间函数nodata()、date()、dayofmonth()、dayofweek()、time()、noew(),Zabbix Server会每隔30秒进行重新判断。
一个监控项可以对应多个触发器,通过不同的阈值来设置不同的告警级别,实现分故障级别的告警。
触发器的配置是在“配置”——“主机”/“模板”——“触发器”——“创建触发器”:
触发器比较复杂的就是告警表达式的配置。点击“添加”按钮,打开表达式构造页面:
Zabbix支持很多条件判断:
选择一个判断条件后,在下面的 “N”文本框中填入阈值数字:
插入后就生成表达式了:
表达式支持监控项&组成复杂的判断条件。
添加触发器时可以为触发器选择一个“严重性”,然后就可以根据告警的严重性来配置不同的动作。
10 配置报警媒介 在定义动作配置告警之前,我们要先配置告警媒介,并给用户配置告警的收件人。
在“管理”——“报警媒介类型”界面:
Zabbix支持短信和SMTP邮件,还有自定义脚本的方式。例如上图的邮件和短信都是用自定义脚本的方式。
自定义脚本的报警媒介需要指定脚本名称和脚本参数。这里的参数是用宏定义的,在动作中调用报警媒介时会将该动作的收件人、标题和内容传递给脚本。
Zabbix Server在调用脚本的时候,会按顺序将参数作为位置参数传给脚本。上图的配置中则$1为收件人,$2为消息标题,$3为消息内容。
11 配置用户 要让用户能收到告警通知,需要对该用户配置告警媒介的收件人信息。
在“管理”——“用户”的“报警媒介”Tab页中添加:
12 配置动作 如果想在产生事件后,即当触发条件被满足时,采取一些操作,比如,发送事件通知、远程执行命令等,则需要配置动作。动作可以对以下四种类型的事件进行响应:
创建动作的方法是,打开“配置”——“动作”界面,在“事件源”下拉菜单中选择事件来源,点击“创建动作”,配置动作的信息、条件和操作。
“动作”Tab页需要配置动作的名称、消息的标题和内容、是否发送恢复消息和恢复消息的标题及内容。标题和内容中可以使用宏来获取触发器的相关参数:
“条件”Tab页可以配置哪些主机群组、主机、触发器等触发该动作,多个条件之间的关系可以是and或者or:
“操作”Tab页配置动作的具体操作,“操作类型”分为发送消息和远程命令。发送消息则配置发送到的用户组和/或用户,以及发送到的报警媒介;远程命令则选择要执行命令的主机或主机群组,以及要执行的命令和远程命令的执行方式。操作可以配置多个步骤,实现告警升级。
不同类型事件的动作可选的操作不同:
触发器事件:发送消息、执行远程命令
自动发现事件:发送消息、执行远程命令、添加主机、删除主机、启用主机、停用主机、添加到主机群组、从主机群组中移除、关联模板、取消关联模板、设置主机清单模式
自动注册事件:发送消息、执行远程命令、添加主机、启用主机、添加到主机群组、关联模板、设置主机清单模式
动作发送消息的日志可以在“报表”——“动作日志”中查看。
13 维护时间 在某些场合中,我们不需要进行告警,例如,业务的正常维护,所以此时维护时间功能特别有用。
在“配置”——“维护”,创建维护期间,配置维护的时间段和主机/群组:
维护时间和动作中的配置紧密相关,动作中配置了不在维护时间内才发送告警,因此,启用维护时间不会产生告警:
14 事件确认 当事件出现状态为Problem的时候,在“监测中”——“触发器”/“事件”界面可以查看事件的详细信息:
事件的确认有“No/不”和“Yes/是”两种状态。点击“不”弹出确认界面,输入内容,确认并返回:
然后事件的确认状态就是“是”了,表示有用户修改过状态:
点击“是”可以查看具体的内容:
原创:吴坤
|