自动化监控利器-Zabbix深入配置和使用

1.  配置流程

Zabbix完整的监控配置流程可以简单描述为:

Host groups(主机组)→Hosts(主机)→Applications(监控项组)→Items(监控项)→Triggers(触发器)→Event(事件)→Actions(处理动作)→User groups(用户组)→Users(用户)→Medias(告警方式)→Audit(日志审计)

2.  添加主机组

分组的目的是将同一属性的主机归类,如果你不想将新添加的主机归纳为自定义的分组,可以使用默认的分组。

配置主机组,打开前端Web页面,单击Configuration→Host groups 如图2-1所示。

图2-1

主机组中包含主机,也可以包含模板。

建议:对同一属性的主机或模板,尽量归纳到分组,方便以后管理。分组原则建议如下。

以地理位置的纬度进行划分。

以业务为单位划分组。

以机器用途划分。

以系统版本划分。

以应用程序花分组。

其他方式等。

按组划分的好处是方便分组管理,如图2-2所示,就是以分组划分的实例。

图2-2

2.1 添加新的主机组

1.点击→Host
groups上的按钮Create host group,如图2-3所示。

图2-3

2.单击后会出现一个添加新主机组的界面,如图2-4所示。

图2-4

在图2-4中”Group name”是组的名称:”Host
Host in”是选择那些设备属于这个新添加的组。

3.单击Save保存,新添加的主机组就可以显示在主机组列表中,如图2-5所示。

图2-5

4.如果想在数据库中查看主机组,运行如下语句即可,如图2-6所示。

mysql> select * from zabbix.groups;  查询主机组

图2-6

3.  添加模板

监控项、触发器、图形、Web、Discovery等都是存在于主机之上的,由于多个主机都会用相同的监控配置,因此,可以对这部分同类的数据进行归纳抽象,即将这些数据做成模板。当我们需要对其他监控数据进行配置的时候,只需要对相对应的主句添加对应的模板即可。

1.配置模板的步骤为:单击→Configuration→Templates→Create
template 如图3-1所示。

图3-1

2.创建模板,依次单击Templates→Create
template,如图3-2所。

图3-2

3.填入模板名称和所属的组,如图3-3所示。

图3-3

4.模板具有继承的功能(将一个模板在另外一个模板中使用),如图3-4所示。

图3-4

搜索当前已经存在的模板,然后单击Add添加。

5.模板中也可以设置宏,如图3-5所示。

宏主要是对变量定义,设置宏的作用是方便后面再Items、Trigger中引用,在模板中配置一个宏,在不同的主机对该宏设置不同的变量值,从而达到模板通用的目的。

图3-5

6.查看新建的模板,如图3-6所示。

图3-6

可以看到,Items中已经有三个Items了,是继承与Template
OS Linux模板的。以后会详细讲解如何在模板中添加其他的Items。

4.  添加主机

1.添加主机的目的是对具体的设备进行监控,步骤为:依次单击Configuration→Hosts→Create host,如图4-1所示。

图4-1

2.在图4-1中单击Create
host,出现如图4-2所示的界面。

图4-2中各参数的详细说明如表4-1所示。

图4-2

表4-1


参数


描述


主机名(Host name)


输入一个不重复的主机名。编辑该名称对应客户端的配置文件时,主机名这一项必须与此处输入的值相同。


访问名(Visible name)


如果设置该名字,那么它将出现在主机列表、地图等地方。


群组(Group in groups)


选择主机所属的群组。一个主机必须属于至少一个主机组。


新建主机组(New group)


一个新的群组将被 ,然后自动连接到该主机上。如果为空,该项将被忽略。


接口协议(Agent interfaces)


一个主机支持的主机接口协议包括:Agent、SNMP、JMX、IPMI,如果想增加一个新的接口,单击”Add”按钮,然后输入IP/DNS、连接项、端口等信息。


IP地址(IP address)


要监控主机的IP地址(可选项、默认是IP)


DNS名称(DNS name)


要监控主机DNS能扣解析的名称(可选项)


与Agent通信方式(Connect to)


单击对应名称的按钮


IP


连接要监控主机的IP地址(推荐)


DNS


要监控主机能够正常解析的DNS


端口(Port)


TCP协议的端口,Zabbix客户端使用的默认值是10050


通过代理服务器进行监控

(Monred by proxy)


主机可以通过Zabbix服务器或者Zabbix的一个代理去监控客户端


状态(enabled)


勾选则开启

3.选择模板,如图4-3所示。

图4-3

4.搜索模板,如图4-4所示。

图4-4

5.搜索出来 后,打击Add添加该模板,如图4-5所示。

图4-5

6.添加了两个模板,单击Add保存,如图4-6所示

图4-6

5.  Graphs配置

Graphs是将数据展示为图像,以视觉化形式展示,Graphs的配置存在于主机和模板中。

1.在所在的主机模板中,选择Graphs,如图5-1所示。

图5-1

2.单击“Create
graph”按钮,如图5-2所示。

图5-2

3.出现新建图形的界面,输入Name,选择所需要的Items,如图5-3所示。

图5-3

4.单击Graphs,可以看到其中已经添加了一个Graphs,如图5-4所示。

图5-4

5.单击刚才创建的Graphs,选择preview,即可查看图形,如图5-5所示。

图5-5

6.如果要查看所有的图形,单击Monitoring→Graphs,如图5-6所示。

图5-6

7.选择对应的Group、Host、Graph,如图5-7所示。

图5-7

8.显示图形如图5-8所示。

图5-8

6.  Screen配置

Screen将多种信息放在一起展示,便于集中展示某个Host的多个信息,或是将多个Host的同一种信息放在一起显示,这些信息可以为Graphs、Maps、Serverinfo等,几乎涵盖Zabbix所有的监控信息。

1.通过单击Configuration-→Screens→Create
screen来创建,创建时定义Screen的行数和列数(如图6-1至图6-3所示),单击单元格内的Change,添加相应的元素。

图6-1

图6-2

图6-3

2.单击创建Screen名称,如图6-4所示

图6-4

3.单击Change,如图6-5所示

图6-5

4.出现如图6-6所示

图6-6

5.选择对应的Graphs,这里选择选择cpuload图形,如图6-7所示

图6-8

6.单击update保存,如图6-9所示

图6-9

7.配置好后,通过单击Monitor→Screen,选择相应的Screen组,如图6-10所示。

图6-10

7.  添加Items

7.1 Items的含义

Items就是监控项可以配置获取监控数据的方式、取值的数据类型、获取数值的间隔、历史数据保留时间、趋势数据保存时间、监控Key的分组等。

检测周期的长短直接影响了数据的获取,也影响了ZabbixServer的性能。

监控的方式非常多,Zabbix支持的监控方式如图7-1所示。

监控项存在于Zabbix.items表中。

mysql> select * from zabbix.items;

图7-1

7.1.1自定义Items

Items可以存在于模板(Template)中,也可以存在于主机(Host)中,模板的作用是可以复用,对需要重复配置的监控项归类。

下面演示如何在Template OS
Linux模板中添加一个Items,Key为vm.memory.size[total]

Template OS
Linux 模板中默认不存在统计总内存的大小的Items,故我们需要自己添加,添加方法:单击Configuration→Templates,如图7-2所示

图7-2

2.找到Template OS
Linux,单击Items,如图7-3所示。

图7-3

3.单击Create
items创建Item,如图7-4所示。

图7-4

4.单击Select按钮,列出Agent所有自带的Key,如图7-5所示。由于vm.memory.size[]这个key是Zabbix自带的,所以会列出来。这里需要注意,如果是自己定义的Key,单击Select送无法看到的。自己定义的key在这里手动添加即可。

图7-5

5.这个默认的key方括号中是可选的参数,通过Agent官网文档知道,获取总的内存大小的参数是Total如图7-6所示。

图7-6

6.如何确认我们的Key添加正确?用Zabbix-get来去值,用zabbix_get来获取,语句如下

[[email protected] ~]# zabbix_get -s 10.0.0.4 -k
vm.memory.size[total]

510238720

确保能获取到的值,就说明Key配置是正确的。提示:zabbix_get仅能测试获取Agent监控方式的Key值,不能获取其他类型的数据。

7.最终添加的结果如图7-7所示。

图7-7

7.2     自定义Items key

用户自定义参数:用户自定义参数(UserParameter)仅支持Agent方式,对于其他方式,它是不支持的。

1.Key自定义的语法格式

在/etc/zabbix/zabbix_agentd.conf中配置参数,写法如下。

UserParameter=key,command

除了上面这种写法,还支持参数传递的写法,具体如下。

UserParameter=key[*],command $1 $2 $3 ….

2.自定义Key中的特殊字符处理

如果Userparameter包含\’”`*?[]{}~$!&;()<>|#@这些字符,默认情况下,Zabbix对这些参数是无法正常处理的,需要在Zabbix_agentd.conf中开启参数UnsafeUserParameters,并将其值设置为1,语句如下。

[[email protected] ~]#vim /etc/zabbix/zabbix_agentd.conf

UnsafeUserParameters=1

3.自定义Key的例子

UserParameter=login-user,uptime|awk  -F ‘ ‘ ‘{print $4}‘

然后重启zabbix_agent 服务(注意:修改配置文件必须重启。)

[[email protected] ~]# zabbix_get -s 10.0.0.4 -k
login-user  ?运行测试命令,查看下Key

2

4.子配置文件的配置

为了便于维护和分类管理,UserParameter的内容可以单独写一个配置文件。

[[email protected] ~]#vim
/etc/zabbix/zabbix_agentd.conf

Include=/etc/zabbix/zabbix_agentd.d/

Include是zabbix_agentd.conf中部分内容的子配置文件,注意:zabbix_agentd.conf.d/文件下所有的配置文件都会被当做子配置文件,如果有重复,会导致客户端Agent启动失败。

5.用户自定义参数总结

自定义Key的语法。

特殊字符的处理。

子配置文件的注意事项。

注意:

1.用户自定义参数一定要包含一个key和一个命令,也可以是一个脚本

2.key在整个系统是唯一的

3.用户自定义参数返回值,最大返回512兆

4.自定义完后,重启服务测试Key

8.宏的配置

宏的作用是便于在模板、Items、Trigger中的引用。宏的名称为{$名称},宏的字符范围为A~Z、0-9、_

8.1全局宏

作用范围为:模板、主机。

配置步骤为:单击Administration→General→Macros,如图8-1所示。

图8-1

选择Macros下拉菜单,如图8-2所示。

图8-2

8.2模板宏

作用范围:当前模板。

配置步骤为:单击Configuration→Templates,再单击模板名称(图中为Templates
OS Linux)最后单击Macros,如图8-3所示。

图8-3

8.3主机宏

作用范围为:当前主机。

配置步骤为:Configuration→Hosts→Zabbix
server→Macros,如图8-4所示。

图8-4

9.维护时间

在某些场合中,我们不需要进行告警,例如:业务的正常维护,所以维护时间就显得特别有用。

1.配置维护时间如图9-1所示。

图9-1

2.这里的维护时间和Action中的配置紧密相关,如图9-2所示。

图9-2

10.事件确认

1.当事件出现状态为Problem的时候,在菜单栏中单击Monitoring→Events,在其中可以查看事件的详细信息,如图10-1所示。

图10-1

2.单击图10-2中的Ack列的No,弹出如图10-2所示的界面,输入内容,确认并返回结果。

图10-2

3.看到Ack已经变Yes状态后,说明有用户修改过该状态,如图10-3所示。

图10-3

4.单击Yes,可以查看具体的文字内容,如图10-4所示。

图10-4

11.数据库导入导出配置

Zabbix提供将所有的配置导出为标准的XML格式的文件,同样,也支持导入标准格式的XML配置文件。

导入/导出功能可以把之前做的功能进行模板化,与Cacti模板的原理相同。

单击Configuration→Templates/Host→Export/Import→Export,勾选要导出的模板(设备),选择Export,即可导出XML文件到本地。

时间: 2024-10-29 00:32:48

自动化监控利器-Zabbix深入配置和使用的相关文章

初探分布式监控利器zabbix

Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案.    被监控端:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据    Server端:通过收集SNMP和agent发送的数据,写入数据库(MySQL, ORACLE)再通过php+apache在web前端展示. zabbix运行条件:    Server:Zabbix Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下(或者LNMP),对硬件要求低   

监控利器---Zabbix(一)

开源监控软件对比 Cacti(英文含义仙人掌) 是一套基于PHP.MySQL.SNMP和RRDtool开发的网络流量监测图形分析工具,它通过snmpget来获取数据使用RRDtool绘图,简化RRDtool使用.提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构.主机设备以及任何一张图,还可以与LDAP结合进行用户认证,同时也能自定义模板.在历史数据展示监控方面,其功能相当不错. Cacti通过添加模板,使不同设备的监控添加具有可复用性,并且具备可自定义绘图的功能,具有强大的运

监控软件Zabbix之配置QQ邮箱报警机制

上篇讲解了Zabbix的安装与配置,本篇继续讲解如何配置邮件报警机制:本篇我就在此前zabbix服务端和客户端都已经配置好的基础上进行试验:在监控主机上进行配置: 1.使用yum安装mailx邮箱服务: * yum install mailx -y 2.安装完后在末行加入以下配置: * vim /etc/mail.rc #注意网易,QQ邮箱需要开启客户端授权码进行第三方登录 set [email protected] set smtp=smtp.qq.com set [email protect

监控利器Zabbix之主动模式和被动模式

一:zabbix的主动模式和被动模式 zabbix客户端分数据给服务端分为主被动两种模式,主动模式是zabbix客户端主动向服务端发送数据,被动模式是被动等待客户端来取数据. 主动模式的流程: 客户端每隔一段时间主动向服务端发起连接请求–>服务端收到请求,查询客户端需要取的item信息,发送给客户端–>客户端收集数据发送服务端–>结束.被动模式的流程:客户端开一个端口默认10050,等待服务端来取数据,然后客户端收集数据发送到服务端,然后结束. 二:主动模式使用的一个场景 当服务端监控的

zabbix实现百台服务器的自动化监控--技术流ken

前言 最近有小伙伴通过Q联系到我说:公司现在有百多台服务器,想要部署zabbix进行监控,怎么实现自动化全网监控? 本篇博客就把我告诉他的解决方案写出来,供大家以后参考. 实现自动化全网监控,需要用到脚本,以及zabbix的自动注册或者自动发现的功能.以前也写过一篇关于两者的博客<分布式系统监视zabbix讲解八之自动发现/自动注册--技术流ken>,但是内容可能没有那么详尽,本篇博客将详细完整的演示如何使用zabbix实现百台服务器的自动化监控. zabbix自动注册 活动的Zabbix a

自动化运帷之分布式监控-zabbix 配置指南

zabbix 配置指南: Hosts zabbix中的hosts就是指你想监控的设备,如服务器.工作站.交换机等等.如果你想监控某个主机X的某个变量,你必须先创建一个主机X,然后再给该主机添加监控items.hosts可以被有组织的安排进host group中. 通过zabbix的前端web界面配置hosts: ? 1 Configuration->Hosts->Create Host 此页面中有5个表单:Host.Template.IPMI.Macros.Host inventory. Ho

自动化利器-Zabbix

1.1为何需要监控系统 在一个IT环境中会存在各种各样的设备,例如:硬件设备.软件设备.其系统的构成也是非常复杂的. 多种应用构成负载的IT业务系统,保证这些资源的正常运转,是一个公司IT部门的职责.而要让这些应用能够稳定地运行,则需要专业IT人员进行设计.架构.维护和调优.在这个过程中,为了及时掌握基础环境和业务应用系统的可用性,需要获取各个组件的运行状态,如CPU的利用率.系统的复制.服务的运行.端口的连通.带宽流量.网站访问状态码等信息.而这一切都离不开监控系统. 1.2监控系统的实现 一

第5章Zabbix自动化监控

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; text-indent: 5.0pt; line-height: 150%; font-size: 10.5pt; font-family: Consolas } h1 { margin-top: 17.0pt; margin-right: 0cm; margin-bottom: 16.5pt; ma

自动化运帷之分布式监控-zabbix 安装

zabbix 关于zabbix介绍可能就不用再说了,到处都是文章,这里之前使用的时Nagios,这里开始尝试接触zabbix,因为几个重要原则选择作为未来可能替换掉线上的监控系统,所以这边理由如下网友的itnihao的文字中摘抄了如下: 1.分布式监控,天生具有的功能,适合于构建分布式监控系统,具有node,proxy2种分布式模式 2.自动化功能,自动发现,自动注册主机,自动添加模板,自动添加分组,自动化运维工具搭配,puppet+zabbix,或者saltstack+zabbix,那是如鱼得