Zabbix配置详解

转载自:http://my.oschina.net/guol/blog/109222

他的博客首页:http://my.oschina.net/guol


zabbix 配置了解

Hosts

zabbix中的hosts就是指你想监控的设备,如服务器、工作站、交换机等等。如果你想监控某个主机X的某个变量,你必须先创建一个主机X,然后再给该主机添加监控items。hosts可以被有组织的安排进host group中。

通过zabbix的前端web界面配置hosts:

view source
print ?
1 Configuration->Hosts->Create Host

此页面中有5个表单:Host、Template、IPMI、Macros、Host inventory。

112412_ooBb_123777.jpg

Host表单中包含了一般的host属性,先看看hosts表单可以设置哪些属性:

113330_x6nk_123777.jpg

  host name    必须是一个唯一的名称,在zabbix agent的配置文件中hostname参数的值必须和这里的一致
  visible name    这个名称是该hosts显示在lists、map中的名称,支持utf8
  groups    该hosts属于那个host group,一个hosts至少属于一个host group
  new host group    创建一个新的group,并把该hosts包含进去,如果是空的,则被忽略
  agent interfaces    zabbix支持多种host接口,例如:agent、snmp、jmx、ipmi等,使用agent interface
      ip address    hosts的ip地址
      dns name    hosts的dns名称
      connect to    是一个单选的按钮,这个告诉zabbix server使用那种方式检索agent的数据
      port    tcp方式,agent默认是10050端口
      default    因为可以添加多个agent interfaces,该单选的default按钮可以选择默认使用那个接口
  monitored by proxy   hosts可以被zabbix server或者zabbix proxy监控,no proxy表示使用zabbix server监控

  status   monitored表示host已经准备好了被监控,not monitored表示host还没准备好。

Templates表单允许你连接一个templates到该host上面,所有该templates的items、triggers、graphs等等都会得到继承。点击add可以链接一个templates过来,点击unlink则会删除该模版。

113349_jNHB_123777.jpg


Ipmi表单包含一些ipmi的管理属性,如认证算法、特权级别、用户名、密码等。

113418_Xb2X_123777.jpg

macros表单 设置一些监控用到的参数

host inventtory表单可以让你手动的输入一些host的信息,类似于资产信息

Host groups

通过zabbix的前端web界面设置host group:

view source
print ?
1 Configuration->Host groups->Create host group

该页面有一个表单:host group

113832_yXLX_123777.jpg

  group name    group的名称,必须是唯一的

  hosts    选择哪些hosts属于该group,一个host group可以有0个或者多个hosts

Items

   items表示从host中收集哪些数据项,一旦你配置了一个host,你就需要开始监控一些items以获取真实数据,所有的item都是单独的个体,你可以把很多items附加到一个templates上面,然后把该templates附加到一个hosts上面。在单个的item中你可以指定哪些数据是你想收集的,例如:一个item key名称是system.cpu.load,它会收集cpu的负载,一个item key名称是net.if.in,它会收集进入网卡的信息。你可以给key指定更进一步的参数,就是使用方括号紧跟在key后面,例如:system.cpu.load[avg5],它会收集最近5分钟的cpu负载。

通过zabbix的前端web界面创建一个item:

view source
print ?
1 #需要在Hosts界面中选择相应的实例
2 Configuration->Hosts->items->create item

该页面包含一个表单:Item

115252_fcQI_123777.jpg

   host    可以选择一个host或者一个templates
   name    这个显示item的名称,在下面的macros会用到
   type    监控客户端的方式,主要分析zabbix agent和zabbix agent(active)两种方式
   key     item key,支持的item keys可以在单独的item type中查看,在一个host中key必须是唯一的
   host interface    选择一个host inserface,可以在host level中编辑它
   type of information    采集到的数据在数据库中存储的格式
        numeric(unsigned) 64位无符号整型
        numeric(float) 浮点数
        character  字符型
        log  log文件类型
        text  text类型没有限制大小
   date type    用在整型的items中,用来指定确切的数据类型
        boolean  0/1
        octal 八进制
        decimal 十进制
        hexadecimal 十六进制
   units    如果设置了units,zabbix会对收到的数据进行处理,在显示数据时会使用units后缀,默认的原始数据是除以1000不是1024,如果使用B(byte)units,则会使用1024进行分割,如果设置units为B,zabbix会这样显示:1 1B,1024 1KB,1536 1.5KB。如果是unmeric(unsigned)的则可以使用unixtime转化为时间类型,uptime则会转化为可读的时间
   use custom multiplier    如果使用了该参数,则对于收到的数据会乘以一个整型或者浮点数,可以用这个选项把KB MBps转化为B Bps类型
   update interval    多少秒刷新一次该item
   flexible intervals    针对update interval你可以设置例外的情况,可以设置在某个时间段每隔几秒刷新一次,而在其余时间则按照update的设置来刷新,如果有多个flexible设置,则以刷新时间最小的为准。
   keep history   在数据库中保存多少天的数据,过期的数据会被清除,
   keep trends    保存一些聚合的数据在数据库中的天数,过期数据会被清除,

   store value    
        as is 不进行预处理
        delta(speed per second)  评估这些数据(value-prev_value)/(time-prev_time)
        delta(simple change)  评估这些数据(value-prev_value)
   show value    没折腾明白...
   log time format    log的时间格式
   new application    设置该item属于那个新的application中
   applications    把该item连接到已存在的application中,可以是一个或者多个application中
   Populates host inventory field   你可以选择一个host信息域存放该item的值,如果设置了automatic inventory population,则他会自动工作,未明白???
   description    输入该item的描述
   status    
         enable    该item会被执行
         disable    不会被执行
         not supportes    不支持该item

item key是什么?

https://www.zabbix.com/documentation/2.0/manual/config/items/item/key

Item types
item types是zabbix提供的各种检查方式,下面主要看zabbix agent类型,这种类型主要通过zabbix agent来收集数据,检查又分为主动检查和被动检查,item key是需要分不同平台的,可以通过下面连接查看大部分平台所支持的item key:

https://www.zabbix.com/documentation/2.0/manual/appendix/items/supported_by_platform

对于win32有一些特殊的item key:

https://www.zabbix.com/documentation/2.0/manual/config/items/itemtypes/zabbix_agent/win_keys

History and trends

   History and trends是两种保存zabbix收集来的数据的方法,history保存每一个收集来的数据,trends保存一些基于小时的平均、最大、最小值信息。

Mass update

   如果你有时候需要一次修改一个item的多个属性值,不用打开每一个单独的item去修改,可以使用mass update,可以选择多个items,然后选择mass update

Value mapping

   为了使收到的数据更为人们可读,我们可以使用value maps,它包含了numeric valus到string的映射,value map可以用在zabbix的前端和后端,以及例如email SMS的消息提醒上面,例如0可以表示false,1可以表示true,设置value map:

view source
print ?
1 Administration->General->value mapping->create value map

该页面有一个表单:Value mapping

120500_YGOA_123777.jpg

  name 一个唯一的名称。

  mapping  中设置各个独立的mappings,设置好value mapping后可以在item的配置界面的show value选项中选择

Applications

   applications 用在本地group的group items中,在使用applications之前,你必须创建一个applications,并且link items过去。创建applications:

view source
print ?
1 Configuration->Hosts->Applications->Create application
2 Configuration->Templates->Applications->Create application

也可以在创建item的时候直接创建application

120857_cNvO_123777.jpg


Queue

   queue显示items还剩几分钟刷新,queue只是数据库中数据的逻辑表现,统计很好的显示了zabbix server的性能。 Administration-Queue可以查看,如果有delay的可以通过右上角的details查看具体信息。

Triggers

   Triggers是一个本地的逻辑表达式,用来评估items收集到的数据并表示当前系统的状态。当items收集数据的时候,它会非常不切实际的遵循这些数据直到碰到一个报警状态,这个评估数据的任务就由trigger来处理。

   触发器允许设置一个阈值来决定什么数据是可以接收的,如果进入的数据超过可接受的状态,触发器则会被触发。触发器有两种状态OK/PROBLEM,如果该值是触发器表达式的一部分,在zabbix server每次收到新的值,触发器的状态会被重复计算配置trigger:

view source
print ?
1 Configuration->Hosts->Triggers->Create trigger

该页面包含了两个表单:trigger、dependencies

121354_RzQA_123777.jpg

trigger表单属性:
   name  trigger name,这个名称可能包含macros,$1..$9可以被用来关联表达式的常量。
   expression  逻辑表达式用来收集触发器的状态
   Multiple PROBLEM events generation   通过设置该选项,你可以在触发器产生problem的时候触发一个事件
   comments   关于该触发器的信息
   url    如果不为空,则该url被用到screen
   serverity   设置触发器的严重程度
   enabled   选择激活该触发器

Trigger experssion

   触发器表达式在触发器中是很灵活的,可以组合出各种复杂的表达式。简单的表达式模式如下:{<server>:<key>.<function>(<parameter>)}<operator><constant>

function查看:

https://www.zabbix.com/documentation/2.0/manual/appendix/triggers/functions

parameter 许多数值型函数接收参数,有些函数会返回多个值,可以通过在参数前加#,来获取特定的值。

Trigger severity names and colours是可以修改的:

view source
print ?
1 Administration->General->Trigger severities
121745_wpJf_123777.jpg

Events

   events在zabbix有三个地方可以用到:triggers、discovery、auto registration。events可以是基于时间戳的,也可以是基于actions的,例如邮件报警。关于events的详细信息可以在 Monitoring-Events中查看,可以通过点击时间查看更详细的信息。

Visualisation

   Graphs内建有简单的simple graphs和复杂的custom graphs两种形式。

   Simple graphs提供items收集到的数据的可视化的数据图,在simple graphs中不需要用户进行配置,他们都是由zabbix自动生成,可以通过Monitoring->Latest data进行查看,点击具体的item的graph link,就会显示数据图,在图形上面有滑动按钮可以选择查看那个时间的数据,还有右边可以设置时间段来显示数据,左边可以设置图形中显示几个小时的数据量。


   Custom graphs 提供一些用户定制的图形。Simple graphs可以用来查看单个item的数据,它没有提供用户定制的功能,如果你想改变图形的风格、线条显示的样式、或者想显示多个items的数据,这时就需要costom graphs,需要手动配置,可以创建针对一个主机、多个主机、或者一个templates的图形。创建custom graphs:

view source
print ?
1 Configuration->Hosts->graphs->create graph

该页面包含两个表单:graph、preview

131547_Eez6_123777.jpg

graph表单:

   name    数据图的唯一名称
   width    数据图的像素宽度
   height   数据图的像素高度
   graph type    图像类型,normal 正常图形,数据以线条显示。stacked 叠加式图形。pie 饼状图形。exploded 分解的饼状图形。
   show lengend    显示该图利的说明
   show working time    如果选择该选项,则未工作的时间段会以灰色背景显示,该选项不支持pie和exploded
   show triggers    如果选择该项,触发器会以红线显示,不支持pie和exploded
   precentile line(left)    显示左边Y轴的百分比,
   precentile line(right)    显示右边Y轴的百分比
   Y axis MIN value    Y轴的类型,calculated Y轴的值会自动计算,fixed 固定Y轴的最大值和最小值,不支持pie和exploded
   Y axis MAX value
   items    显示哪个items的数据图,点击add按钮增加items,graphs items可以配置以下属性:
      name    item的名称,会被显示出来
      function    显示哪些值,有all、min、max、avg
      draw style    回吐的样式,只支持normal graphs
      Y axis side    元素值显示在那个Y轴旁边
      color    颜色

Network maps

      用来创建网络拓扑图,在创建网络map之前,你必须先创建一个map,它包含了一些基础的元素,然后才能制作maps。你可以用一个hosts、host group、trigger、image来填充一个map。icons代表map的元素,你可以定义一些icons显示的信息,出问题的时候显示的内容,已有的maps可以在Monitoring->Maps上查看,创建一个map:


view source
print ?
1 Configuration->Maps->create maps

该页面只包含一个表单:map

132032_LjVH_123777.jpg

map属性如下:

   name    map的名称
   width    map像素的宽度
   height    map像素的高度
   background image    背景图,no image 没有背景图,image 可以选择一个背景图
   automatic icon mapping    ???
   icon highlight    图标高亮,如果element有个主动的trigger,则可以使用高亮图标表示,
   mark elements on trigger status    
   expand single problem    如果一个map元素有一个问题,这个选项控制是否显示该问题的名称,如果选择,problem的名称会被使用
   advanced labels    可以让你定义一个分开的标题为分开的element type
   icon label type    icons的标题类型,label icon的label,ip address ip地址,element name element的名称,status only 状态,nothing 不显示labels
   icon label location    label的位置,bottom 下方,left 左边,right 右边,top 顶部
   problem display    显示故障问题,full 所有的问题都会被显示,separated 未被确认的问题占左右问题的比重,unacknowledged only 只显示未确认的问题
   urls    一个很NB的功能

Add elements

   点击建立好的初始map图,进入该map的配置界面,点击icon的+则会产生一个icon,新的icon会显示在map的左上方,你可以随意的拖动icon,grid的shown会显示map背景的方格子,点击shown则会变成hidden,则不显示方格子,on则表示elements总是会和方格子对齐,如果你想随意拖动,则点击on则会变成off。

132627_fNrL_123777.jpg

   生成新的elements后,你可以给该icon设置新的名称,点击该element即可,一个表单(edit map element)则会显示出来,你可以设置关于该element的一些信息,如类型、名称、不同的icon图标等等,因为默认生成的都是同一个图标,edit map element包含的属性如下:

132750_HUVo_123777.jpg

   type   element的类型,host 代表该机器的所有的trigger的状态,map代表map中所有element的状态,trigger代表单独的一个trigger的状态,image只代表一个icon,host group代表一个group中所有hosts的triggers状态
   label    icon的label,可以是任意字符串
   label location    label的位置,也有default、bottom、left、right、top可以选择
   Host 选择一个host,如果element类型是host
   Map  选择一个map,如果element类型是map
   Trigger  选择一个trigger, 如果element类型是Trigger
   Host group  选择一个host group,如果element的类型是Host group
   Automatic icon selection  使用map默认的图标
   icons    自己决定使用那个icon
   coordinates    X/Y coordinate of the map element
   urls

Select elements

   选择一个element之后,可以按住ctrl再选择其他elements,或者通过鼠标划区来选择区内的elements,一旦选择多个elements之后,所有的elements属性都会显示在一个表单中,这时你也可以修改他们的属性。

133222_p3Sy_123777.jpg


Link elements

   一旦你在maps中有多个elements,你就可以开始连接它们,先选中一个elements,然后按住ctrl再选择一个elements,然后点击link的+,这时候连接就被建立,有一个简单的表单会出来,你可以针对该连接进行简单的设置,主要有以下属性:

133529_L098_123777.jpg

   label    label会显示在link上面
   type(ok)    line 单线,bold line 粗线,dot 点线,dashed line 虚线
   color(ok)    默认的线条颜色
   Link indicators    连接一个triggers到link上,如果trigger的状态有变化,则link的样式按照指定的显示,也是就线条样式及颜色


Screens

   在zabbix中可以用screens把各种原始数据快速的显示在一副screen上,从本质上说screen是一个table,里面包含了多副图,你可以设置一个tables中有多少cells,每个cell显示什么样的elements,以下的elements可以被显示:simple graphs、custom graphs、maps、other screens、system status......很多。已有的screens可以在Monitoring->Screens中查看

Creat screens

   先创建screens中的tables包含多少cells,然后再给cells中添加elements。创建screens:

view source
print ?
1 Configuration->Screens->Create Screen

该页面有一个表单:screen

134110_ltI6_123777.jpg

  定义screens包含几行几列,screens都包含一个唯一的名称


Add elements

   点击新创建的screens,你会看到一些名为change的links,点击+标识则会增加一行/一列cell,点击-表示则会移除一行/一列cell

134625_VCxw_123777.jpg

   点击change则会打开一个表单,让你选择在每个cell中显示的内容,在已有的screens中点击change则会修改该cell,修改表单包含以下属性:

134643_Hw1E_123777.jpg

   resource    显示在cell中的信息,可以是多种类型的,不同类型的资源,下面会有一些各自独有的属性。
   graph name    
   width
   height
   horizontal align    水平对齐
   vertical align    垂直对齐
   column span    列间距
   row span    行间距
   dynamic item    有些类型的资源会有这个属性,具体的含义如下:如果你设置了该属性,一旦你从Monitoring->Screens查看时,你就会发现在右上角你有一个额外的下拉菜单让你选择host,因此,你可以有一个screens,一些elements显示相同的信息,其他的elements显示的信息依赖域你所选择的host

Templates

   一个templates可以设置一个实体,让这个实体方便的应用到一组hosts上面,这个实体可以是items、triggers、graphs、applications、screens、low-level。
当一个templates连接到一个host,则该templates包含的所有实体都会添加到该host,templates经常被用到一组含有相同服务或者应用的机器上。配置template,在创建template的时候,需要你定义几个常用的参数,然后增加一些实体(items、graphs):

view source
print ?
1 Configuration->Templates->Create template

该页含有三个表单:template、linked templates、macros

135434_GcnN_123777.jpg

template表单包含了template的一般属性,如下:

135507_C0xY_123777.jpg

   template name    一个唯一的template名称
   visible name    如果你设置该名称,则在lists、maps中显示该名称
   groups    哪个hosts/templates属于该template
   new group    可以在此新建一个group属于该template,如果是空的,则忽略
   host/templates    List of hosts/templates the template is applied to


linked templates表单允许你连接一个或者多个已经存在的templates到新建的template里面,连接过来的templates中的所有实体都会得到继承

macros表单,允许你定义template-level底下按钮的意思:

   save   保存该template
   clone    创建一个template基于目前的template
   full clone    创建一个template基于当前的template,包括当前template继承的其他template的实体
   delete    删除一个template,template的实体仍然会连接到hosts上
   delete and clear    删除一个template并且清除所有的实体
   cancel    忽略

   linking/unlinking template通过linking应用到hosts,通过unlinking从hosts中脱离
   linking一个template:Configuration → Hosts-点击hosts-切换到template表单-点击add按钮
   linking一个template到多个hosts:Configuration → Templates-点击template表单, 从group中选择hosts

Notifications upon events

    为了可以向zabbix发送消息,或者从zabbix收到通知信息,我们需要:
        1 定义一些媒介
        2 定义一些行为向我们定义的媒介上发送信息。
   行为由条件和操作构成,当条件达成的时候,操作开始执行,两个重要的操作是发送信息和执行远程命令

    媒介类型包括多种:email、sms、jabber、Custom alertscripts等等,主要了解一下email、sms、alertscripts

 配置email媒介:


view source
print ?
1 Administration→Media-Create media type

该页只包含一个表单:media

media属性如下:

140140_DO08_123777.jpg

   description    媒介类型的名称
   type    选择一个媒介类型 email
   smtp server    设置smtp server用来发送邮件
   smtp helo    设置正确的smtp helo值,一般是domain name
   smtp email    一个邮件地址,会显示在邮件的from前面,表示从哪里发出来的邮件
   enable    开启emai
然后配置用户媒介,给用户分配指定的地址:Administration→Users-点击具体用户-选择media表单-单机add按钮增加媒介。在new media表单中包含以下属性:
   type    选择email作为type类型
   send to    定义给哪个邮件地址发邮件
   when active    可以定义发送信息的时间段
   use if serverity    选择哪些级别的trigger信息将被发送
   status    是否使用

Custom alertscripts

   如果你不满意现存的发送信息的媒介类型,你可以设置自己的脚本来发送信息,脚本存放在zabbix server配置文件指定的路径中。


Actions

如果你希望值事件发生后执行某些动作,你就需要配置actions,可以在三个地方给相应的事件定义actions:triggers、discovery、auto registration配置actions:

view source
print ?
1 Configuration->Actions->Event source(选择类型)->Create action

一般有三个表单:action、conditions、operations,以triggers类型为例

action表单:

142802_a44S_123777.jpg
   name    唯一的action名称
   Default operation step duration    默认的升级周期
   default subject    默认的消息主题,可以包含macros
   default message    默认的消息主体,可以包含acros
   recovery message    如果开启该选项,zabbix会发送恢复后的信息
   recovery subject    恢复消息的主题
   recovery message    恢复消息的主体
   enable    是否开启该action

Operations

   1 你可以对所有的events定义以下两个操作:发送信息,执行一个远程命令
   2 针对discovery events,你可以执行以下操作:add/remove/enable/disable host,add/delete group,link/unlink template
   3 对于auto-registration事件,你可以执行以下操作:add/disable host,add/link template

可以在operation表单中配置operation details,有如下属性:

142922_tvzv_123777.jpg
   step    执行计划,from:从这一步开始执行计划,to:直到执行到这一步,Step duration:执行的时间间隔
   operation type    对于所有的events有两种类型的操作:send message和remote command
   send message:
       conditions    操作执行的条件,not ack 只有events未被确认时执行,ack 只有event被确认时执行
       send to user groups   选择给那个用户组发送信息
       send to user    选择给那个用户发送信息
       send only to   发送消息到你所指定的媒介类型上,可以是全部媒介类型
       default message    如果选择该属性,则会使用默认的消息内容,就是在定义action时定义的内容,如果没有选择该选项,则会让你开始定义相关内容
   remote command:
       target list    选择执行目标,可以是当前机器,也可以是其他机器或者host group
       type    选择命令类型,ipmi、custom script、ssh、telnet、flobal script。
       commands    输入执行的命令



Remote Commands Configuration

   首先确定zabbix_agentd.conf中EnableRemoteCommands被设置为1,remote commands在zabbix agent上执行(custom script):

view source
print ?
1 Configuration->Actions->operations->operation type(remote command)-commands
145141_iSn6_123777.jpg

   对于一些特殊权限的命令,可以使用sudo命令执行,不过zabbix并不检查命令是否执行成功,remote command在远程机器执行并没有超时时间,不过可以在zabbix_server.conf中设置TrapperTimeout来设置超时时间。

   可以在conditions表单中定义适当的条件,在灾难发生时激活action,在new condition中可以增加新的判断条件:

https://www.zabbix.com/documentation/2.0/manual/config/notifications/action/conditions


Escalations

   使用escations你可以定制脚本发送信息或者执行远程命令,在以下情况中可能用到:
      1 当问题发生时,用户可以被立即通知到
      2 信息可以一直发送,直到问题解决
      3 发送的信息可以延迟
      4 信息可以升级到一个级别更高的用户组
      5 远程命令可以立刻执行当一个问题没有被解决时
      6 恢复信息也可以被发送


   你可以定义默认的持续时间和一个定制的持续时间对每一个步骤,最小的持续时间是60s,你也可以定一个初始行动,例如发送信息挥着执行远程命令,对于任何步骤,第一步都是立刻执行,你如你想延后执行,你可以指示它在后面的步骤执行,在每一步骤中都可以定义多个actions,If different escalations follow in close succession and overlap, the execution of each new escalation supersedes the previous escalation, but for at least one escalation step that is always executed on the previous escalation. This behavior is relevant in actions upon events that are created with EVERY problem evaluation of the trigger.
https://www.zabbix.com/documentation/2.0/manual/config/notifications/action/escalations

Macros

      zabbix支持多种宏命令,特别是使用macros允许保存时间。zabbix支持的macros:

https://www.zabbix.com/documentation/2.0/manual/appendix/macros/supported_by_location

User macros

      为了支持较大的灵活性,zabbix支持user macros,可以在全局template/host级别进行定义,macros可以用在item keys/description,trigger name/expression,other locations。

 macros语法是{$MACRO},zabbix使用macros是有优先级的:
    1 host级别的第一检查
    2 定义在host的templates中的macros
    3 全局macros
    也就是先搜索host中的定义,如果没有则在templates中深度搜索,如果还没有,则搜索全局macros

 全局macros的定义:Administration->General->Macros(右上角)
 host/templates级别的定义:在host或者template属性定制的地方会有macros表单
 大多时候用的是全局和host级别的macros

User and User groups

   所有的zabbix用户通过web界面访问zabbix应用,每个用户有唯一的名称,用户密码是加密过的,存放在数据库,配置user:

view source
print ?
1 Administration->Users->Create user

在该页面有三个表单:user、user media、premissions

user表单属性有:

150444_8alX_123777.jpg

   alias    唯一的名称,作为登陆用
   name    用户的第一个名字
   last name    用户的第二个名字
   password    用户密码
   groups    用户都属于哪个用户组中
   language    zabbix的GUI语言
   theme    设置GUI看起来是什么风格,有多种选择
   auto-login    是否让zabbix记住你的登录在30天内
   auto-logout    是zabiix在多少秒后自动退出
   refresh    刷新graphs、screens等等
   rows pre page    一页显示多少行 数据
   url    你可以设置zabbix登录后跳转到为你指定的url


user media表单:

150618_GsAx_123777.jpg

这个主要设置用户的收信息的方式及时间

premissions表单:
设置用户对host group/hosts都有那些权限


IT services .....

Web monitoring

   使用zabbix你可以检查一些可用的web站点,为了在zabbix执行web monitoring,必须支持libcurl,主动检查web站点的过程中,需要设置web场景脚本,一个web场景包含一个或者多个http请求/步骤,zabbix server定期的执行这些步骤,web场景会收集以下信息:在场景中所有步骤的每秒的平均下载速度,失败的步骤,错误消息,在每个步骤中会收集以下信息:每秒的下载速度,响应时间,响应状态。web monitoring支持http/https,通过执行web场景获取的数据保存在数据库中,这些数据会自动的应用在graphs、triggers中。


配置web场景:
  1 创建web scenario的第一步是创建一个合适application,web scenarios会link到application中
  2 开始配置web scenarios

view source
print ?
1 Configuration->Web->Create scenario

包含两个表单:scenario、steps

scenario表单允许你配置一些普通属性:

151236_xdjB_123777.jpg

   application    选择scenario属于那个applicatin
   name    scenario的唯一名称
   Authentication    认证选项:none 不认证,basic auth 基本认证,ntlm auth win 认证。只要选择认证都需要输入用户名和密码
   Update interval    多久执行一次场景
   agent    选择一个模仿的客户端,IE 火狐 oper
   variables    列出一些在场景步骤中使用的变量,例如{xxx}=1
   active    是否使用该web场景


steps表单允许你配置web场景中的步骤,可以添加删除步骤,配置属性如下:

151256_QuRQ_123777.jpg

   name    唯一的名称
   url    连接到哪个url并获取数据,get变量可以在url
   post    http的post的变量,如果在web scenario中定义了macro,这时候可以使用
   timeout    超时时间
   required string    可以设置正则表达式的url,可以尝试,直到失败,如果是空,则表示不检查该内容
   required status codes    期望返回的http状态码,可以是多个,如果返回的状态码和期望的不一致,则表示这一步骤失败,如果是空,表示不检查该内容


可以在Monitoring->Web/Latest data 点击相应的scenario查看已有的场景。
当创建一个web scenario的时候会自动的加入一些items,就是上面提到的监测的三项内容


Maintenance

   你可能在某个使其要维护hosts或者host group,有两种类型的维护,一种是有数据收集的,一种是没有数据收集的。可以在维护期间停止信息的通知,需要修改action的配置,'Maintenance status = not in “maintenance”',如果在维护期间产生一个问题并且没有恢复,则会在维护完成后发出信息。zabbix server在维护期间不能停止,它在维护期间要收集hosts状态,一个zabbix proxy可能会一直收集数据而不管维护状态是什么,如果设置的是不收集数据的,即使收集的数据也会被server忽略。配置维护周期:

view source
print ?
1 Configuration->Maintenance->Create maintenance period

包含三个表单:maintenance、periods、hosts&&groups

Maintenance表单包含了一些普通的属性:

152110_3ULn_123777.jpg

   name    维护周期名称
   maintenance type    维护类型,收集数据或者不收集数据
   active since    什么时候开始执行维护
   active till    什么时候结束维护
   description    对于维护的描述


periods表单允许你设置精确的天数和小时

152345_OamQ_123777.jpg

hosts&&groups 表单允许你选择哪些hosts host group在维护

152359_0L6I_123777.jpg

在Monitoring->Dashboard可以显示维护的机器,用个手钳表示




Network discovery

   zabbix提供自动发现网络的功能,当一个网络建立好的时候,你可以加速zabbix的部署,简化管理,而不需要过多的管理部门,zabbix的网络发现功能依赖于以下信息:ip区域,外部服务的可用性,从zabbix agent收到的信息,从snmp agent收到的信息。但是它没有提供网络拓扑的发现功能。network discovery主要由两部分组成:discovery和actions

   先看discovery:zabbix定期的扫描在network discovery rules中定义的ip范围,也可以针对每个单独的规则定义扫描频率,每个规则都有一个服务检查范围,discovery的各个检查都是独立的,一个check的失败并不影响其他check。


   Every check of a service and a host (IP) performed by the network discovery module generates a discovery event.
service up:每次zabbix都检查现在运行的服务
service down:每次zabbix都不检查服务
host up:如果发现至少一个服务是正常的
host down:如果所有的服务都没有相应
service discovered:如果服务是停机后回来或者第一次发现的
service lost:如果服务在主机启动后丢失
host discoverd:如果主机是在停机时间之后或者第一次发现
host lost:如果主机在up之后丢失


      再看actions:discovery事件可以基于一些actions,例如:发送信息,add/remove hosts,enable/disable hosts,把一个主机加入组中,在一个组中移除主机,连接一个主机到template中或者取消,执行远程脚本,这些action都是可以配置的。


     配置网络发现规则:可以通过网络发现规则来发现hosts和services:


view source
print ?
1 Configuration->Discovery->Create discovery rule

该页面只包含一个表单:discovery rule

discovery rule属性:

155156_5qfl_123777.jpg
   name    规则的唯一名称
   discovery by proxy    什么来执行发现,一个是no proxy 指zabbix server来发现,一个是proxy name指通过proxy来发现
   ip range    发现哪个区间的ip,支持多种格式的IP段
   delay    指定zabbix多久执行一次规则
   checks    zabbix使用列表中的服务来执行发现过程
   device uniqueness criteria    设备唯一性条件,可以是ip address也可以是type of discovery check,具体是干啥的还需深入了解
   enable    active 该规则是活跃的并被zabbix server执行,disable 不被执行


例子:https://www.zabbix.com/documentation/2.0/manual/discovery/network_discovery/rule

Active agent auto-registration

   zabbix允许活跃的zabbix agent自动注册,当以前一个未知的agent要求检查时,会发生自动注册行为。这样对于自动检测新的节点来说很方便,在配置agent自动注册时需要你针对agent设置一个action,还需要在agent的配置文件中进行一些参数设置。配置auto-registration:

view source
print ?
1 Configuration->Actions->Auto registration->Create action

该页有三个表单action、conditions、operstions
action表单设置action名称,condition表单不需要设置,operations设置add host、add to host group等等此外还需要配置agent file,zabbix_agentd.conf:server参数



low-level discovery

   low-level discovery提供了一个自动创建items、triggers、graphs针对不同的节点,在zabbix2.0中支持三种不通的item discovery:file system、network interfaces、snmp oid。


转载自:http://my.oschina.net/guol/blog/109222

他的博客首页:http://my.oschina.net/guol


你可能感兴趣的:(配置文件,host,zabbix,item)