最新文章:

首页 运维技术

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

发布时间:2016年03月08日 评论数:抢沙发 阅读数:2794

      1.  配置流程
      笔者联系QQ:572891887   也可以加入架构师交流群:471443208

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

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

      2.  添加主机组

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

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

      2-1

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

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

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

      q  以业务为单位划分组。

      q  以机器用途划分。

      q  以系统版本划分。

      q  以应用程序花分组。

      q  其他方式等。

      按组划分的好处是方便分组管理,如图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.  添加模板

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

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

      3-1

      2.创建模板,依次单击TemplatesCreate
      template,
      如图3-2

      3-2

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

       

      3-3

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

      3-4

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

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

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

      3-5

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

      3-6

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

      4.  添加主机

      1.添加主机的目的是对具体的设备进行监控,步骤为:依次单击ConfigurationHostsCreate 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)

      一个主机支持的主机接口协议包括:AgentSNMPJMXIPMI,如果想增加一个新的接口,单击”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.如果要查看所有的图形,单击MonitoringGraphs,如图5-6所示。

      5-6

      7.选择对应的GroupHostGraph,如图5-7所示。

      5-7

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

      5-8

      6.  Screen配置

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

      1.通过单击Configuration-ScreensCreate
      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.配置好后,通过单击MonitorScreen,选择相应的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,Keyvm.memory.size[total]

      Template OS
      Linux 
      模板中默认不存在统计总内存的大小的Items,故我们需要自己添加,添加方法:单击ConfigurationTemplates,如图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[]这个keyZabbix自带的,所以会列出来。这里需要注意,如果是自己定义的Key,单击Select送无法看到的。自己定义的key在这里手动添加即可。

      7-5

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

      7-6

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

      [root@linux-node1 ~]# 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方式,对于其他方式,它是不支持的。

      q  1.Key自定义的语法格式

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

      UserParameter=key,command

       

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

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

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

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

      [root@linux-node1 ~]#vim /etc/zabbix/zabbix_agentd.conf

      UnsafeUserParameters=1

      q  3.自定义Key的例子

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

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

      [root@linux-node1 ~]# zabbix_get -s 10.0.0.4 -k
      login-user  
      ß运行测试命令,查看下Key

      2

      q  4.子配置文件的配置

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

      [root@linux-node1 ~]#vim
      /etc/zabbix/zabbix_agentd.conf

      Include=/etc/zabbix/zabbix_agentd.d/

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

      q  5.用户自定义参数总结

      自定义Key的语法。

      特殊字符的处理。

      子配置文件的注意事项。

      注意:

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

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

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

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

      8.宏的配置

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

      8.1全局宏

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

      配置步骤为:单击AdministrationGeneralMacros,如图8-1所示。

      8-1

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

      8-2

      8.2模板宏

      作用范围:当前模板。

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

      8-3

      8.3主机宏

      作用范围为:当前主机。

      配置步骤为:ConfigurationHostsZabbix
      server
      Macros,如图8-4所示。

      8-4

      9.维护时间

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

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

      9-1

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

      9-2

      10.事件确认

      1.当事件出现状态为Problem的时候,在菜单栏中单击MonitoringEvents,在其中可以查看事件的详细信息,如图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模板的原理相同。

      单击ConfigurationTemplates/HostExport/ImportExport,勾选要导出的模板(设备),选择Export,即可导出XML文件到本地。

      笔者联系QQ:572891887   也可以加入架构师交流群:471443208

      转载请注明:徐亮偉架构师之路~ » 自动化监控利器-Zabbix深入配置和使用

二维码加载中...
本文作者:Mr.linus      文章标题: 自动化监控利器-Zabbix深入配置和使用
本文地址:http://www.90qj.com/306  本文已经被百度收录,点击查看详情
版权声明:若无注明,本文皆为“挨踢 Blog”原创,转载请保留文章出处。
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论