`
betakoli
  • 浏览: 168724 次
社区版块
存档分类
最新评论

zabbix安装及配置

 
阅读更多

一、安装篇

参考:http://www.ttlsa.com/zabbix/install-zabbix-on-linux-5-ttlsa/

http://www.jb51.net/article/56971.htm

在了解《zabbix硬件、软件需求》之后,在你心里应该有备选的机器。今天开始安装zabbixzabbix需要LNMP或者LAMP环境。环境的搭建不在本章范围内。

LNMP环境配置
Linux安装:http://www.osyunwei.com/archives/1024.html
NGINX安装:http://www.ttlsa.com/nginx/nginx-install-on-linux/
PHP安装+NGINX配置:http://www.ttlsa.com/nginx/nginx-php-5_5/ (安装前一定要看1.1 PHP安装参数)
MYSQL安装:http://www.ttlsa.com/mysql/install-mysql5_6/

1. PHP配置参数

zabbix对PHP参数、PHP模块有特殊要求。

1.1 PHP安装参数
php具体安装方法参考上面的链接,不过如下模块要特别留意加上
bcmath        --enable-bcmath
mbstring    --enable-mbstring
sockets        --enable-sockets
gd            --with-gd
libxml        --with-libxml-dir=/usr/local
xmlwriter    同上
xmlreader    同上
ctype        默认支持
session        默认支持
gettext        默认支持

以下是我PHP的配置参数

1.2 PHP配置参数
打开php.ini配置文件,修改如下参数为如下值,否则zabbix安装不了。

 

2 zabbix服务端安装

2.1 下载安装zabbix
所有版本下载地址:http://www.zabbix.com/download.php

在zabbix server一般充当两个角色:server、angent,所以上面的配置参数也同时加上了--enable-agent。
备注:请安装好MySQL,snmp,curl开发库。

2.2 创建用户
为了安全考虑zabbix只使用普通用户运行,假如你当前用户叫ttlsa,那么你运行他,他便使用ttlsa身份运行。但是如果你在root环境下运行zabbix,那么zabbix将会主动使用zabbix用户来运行。但是如果你的系统没有名叫zabbix的用户,你需要创建一个用户,如下:
# groupadd zabbix
# useradd -g zabbix zabbix

2.3 初始化数据库
zabbix server与proxy需要数据库,angent不需要。尤其要注意的是proxy只需要导入一个sql文件,而server一共要导入3个sql文件。我当时在搭建proxy的时候导入了3个sql,导致出现报错。后来才发现proxy只需要导入一个表结构即可。

我假想你安装好了MySQL,用户名为root,密码为ttlsapwd

备注:创建数据库请别忘记加default charset utf8,有可能会导致你出现中文乱码问题,具体问题请查看《zabbix中文乱码解决方法

如果你仅仅是初始化proxy的数据库,那么够了。如果初始化server,那么接着导入下面两个sql

其他数据库(db2\sqlite\oracle)数据库初始化方法参考:https://www.zabbix.com/documentation/2.2/manual/appendix/install/db_scripts

2.4 配置zabbix
配置zabbix_server配置文件,zabbix源码目录下

2.5 启动zabbix server

默认端口10051

3. 客户端安装配置

3.1 下载安装客户端
所有版本下载地址:http://www.zabbix.com/download.php,可以直接下载已经编译好的二进制文件,或者也可以源码安装。

3.2 zabbix客户端配置
配置zabbix_server配置文件,zabbix源码目录下

其中Server和ServerActive都指定zabbixserver的IP地址,不同的是,前者是被动后者是主动。也就是说Server这个配置是用来允许127.0.0.1这个ip来我这取数据。而serverActive的127.0.0.1的意思是,客户端主动提交数据给他。明白了吗?为什么要分主动和被动?后续再来讨论这个问题!

其他主机安装客户端记得添加zabbix用户。

3.3 zabbix客户端启动

默认端口10050

4. zabbix管理网站配置

4.1 拷贝前端文件

4.2 配置虚拟主机
请相应修改你的配置文件路径

4.3 在线配置zabbix
浏览器打开http://monitor.ttlsa.com/zabbix。
如下是zabbix 2.2的安装界面,包括欢迎界面一共6步.

4.3.1 欢迎界面

monitor

zabbix安装

4.3.2 php需求检查

monitor

zabbix php环境检查

4.3.3 MySQL配置

monitor

zabbix MySQL配置

4.3.4 zabbix服务端详细信息

monitor

zabbix-detail

4.3.5 zabbix安装前信息列表

 

monitor

zabbix安装前信息

4.3.6 安装完成

如果失败了,一般情况是php对zabbix没有写权限

monitor

zabbix安装完成

登陆zabbix,默认用户名:Admin,密码:zabbix

monitor

zabbix登陆

如下是zabbix首页

monitor

zabbix首页

5. 结束

zabbix安装比较简单,但是也比较消耗时间。相比之下,未来的路还长着呢。请大家继续关注我们运维生存时间的zabbix系列教程。下一篇文章《zabbix数据库需要多大硬盘?我告诉你(6)

 

二、配置篇

 

参考

http://my.oschina.net/guol/blog/109222

Hosts

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

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

 

Configuration->Hosts->Create Host

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


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


   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则会删除该模版。


 

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


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

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

 

Host groups

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

 

Configuration->Host groups->Create host group

该页面有一个表单:host group


   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:

 

#需要在Hosts界面中选择相应的实例
Configuration->Hosts->items->create item

该页面包含一个表单:Item


   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:

 

Administration->General->value mapping->create value map

该页面有一个表单:Value mapping


   name 一个唯一的名称。

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

Applications

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

 

Configuration->Hosts->Applications->Create application
Configuration->Templates->Applications->Create application

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


Queue

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

Triggers 

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

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

 

Configuration->Hosts->Triggers->Create trigger

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


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是可以修改的:

 

Administration->General->Trigger severities

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:

Configuration->Hosts->graphs->create graph

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


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:

 

Configuration->Maps->create maps

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


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。


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


   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属性都会显示在一个表单中,这时你也可以修改他们的属性。


Link elements

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

   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:

 

Configuration->Screens->Create Screen

该页面有一个表单:screen


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


Add elements

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


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

   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):

 

Configuration->Templates->Create template

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


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


   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媒介:

 

Administration→Media-Create media type

该页只包含一个表单:media

media属性如下:


   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:

Configuration->Actions->Event source(选择类型)->Create action

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

action表单:


   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,有如下属性:


   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):

 

Configuration->Actions->operations->operation type(remote command)-commands

    对于一些特殊权限的命令,可以使用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:

 

Administration->Users->Create user

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

user表单属性有:

   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表单:

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

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

 

Configuration->Web->Create scenario

包含两个表单:scenario、steps

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


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


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


   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忽略。配置维护周期:

 

Configuration->Maintenance->Create maintenance period

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

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

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


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



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



在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:

 

Configuration->Discovery->Create discovery rule

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

discovery rule属性:


   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:

 

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。

 

分享到:
评论

相关推荐

    zabbix安装配置功能介绍及应用场景

    zabbix安装配置功能介绍及应用场景 zabbix安装配置功能介绍及应用场景 zabbix安装配置功能介绍及应用场景 zabbix安装配置功能介绍及应用场景 zabbix安装配置功能介绍及应用场景 zabbix安装配置功能介绍及应用场景 ...

    zabbix安装与配置

    linux平台下 zabbix安装及配置 需要提前做好lnmp 自己配置lnmp

    Zabbix3.4安装配置文档.docx

    通过以上步骤,您可以成功地在 CentOS 7 系统上安装并配置 Zabbix 3.4 监控系统,实现对网络设备、服务器及其他资源的有效监控。这不仅有助于提高系统的稳定性和安全性,还能显著提升故障处理效率。

    企业级大型监控系统zabbix深入介绍视频.zip

    14_zabbix安装及配置演示02 15_zabbix UI及其基本配置 16_zabbix基本监控配置详解01 17_zabbix基本监控配置详解02 18_zabbix基本监控配置详解03 19_zabbix基本监控配置详解04 20_zabbix核心概念回顾及触发器引入01 ...

    zabbix安装centosmysqlnginxphp配置

    5. **Zabbix配置**:配置Zabbix主要包括定义主机、监控项、触发器、动作等。对于CentOS 7,需要安装Zabbix Agent并在服务器上启动它,让Zabbix Server能够收集系统级别的监控数据。同时,设置Web界面,如添加图形和...

    02_zabbix安装配置及基本监控功能的实现

    本课程将详细介绍Zabbix的安装配置过程以及如何实现基本的监控功能。 首先,我们需要了解Zabbix的系统需求,包括操作系统支持(如Linux、Windows)、数据库(如MySQL、PostgreSQL)以及硬件和软件资源的要求。在...

    zabbix安装配置文档

    接着,创建Zabbix配置文件目录,并将配置文件复制过去: ```bash mkdir /etc/zabbix cp misc/conf/* /etc/zabbix/ ``` 编辑`zabbix_server.conf`和`zabbix_agentd.conf`,设置数据库连接信息和其他必要的配置。 将...

    Zabbix安装详解及配置

    Zabbix 安装详解及配置 Zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。下面是 Zabbix 的安装部署过程和报警配置。 一、Zabbix 简介 Zabbix 能监视各种网络参数,保证...

    Zabbix 3.4.4安装配置手册.pdf

    整体而言,这份手册提供了在Linux环境下安装和配置Zabbix 3.4.4的详细步骤,涵盖了从部署包下载安装到服务端配置和启动的全过程。通过手册的指导,即便是没有丰富经验的用户也能够顺利完成Zabbix的安装和配置,开始...

    Zabbix安装文档

    ### Zabbix在CentOS 7下的安装指南 #### 一、安装MySQL (MariaDB) **1.1 安装MariaDB** 在CentOS 7环境下安装MariaDB作为Zabbix的后端数据库,首先通过`yum`命令安装MariaDB及其服务组件: ```bash yum install ...

    Zabbix安装配置文档.docx

    4. **配置文件及web前端文件修改**:编辑`/etc/zabbix/zabbix_server.conf`,配置数据库连接信息、监听地址、日志文件位置等。同时,配置web前端的`/etc/zabbix/zabbix_web.conf`,如PHP设置和Apache或Nginx配置。 5...

    zabbix 配置安装详解

    Zabbix 配置安装详解 Zabbix 是一个功能强大的监控系统,能够监控服务器、网络设备、应用程序等多种设备和应用程序。为了安装和配置 Zabbix,需要安装和配置多个依赖项,包括 Apache、PHP、MySQL 等。 一、安装 ...

    Zabbix安装配置和使用

    ### Zabbix安装配置和使用详解 #### 一、Zabbix简介 Zabbix是一款开源的企业级网络监控工具,能够实现对网络设备、服务器以及应用程序的全方位监控。它支持自动发现网络资源、灵活的数据采集方式以及丰富的报警机制...

    Zabbix安装配置文档.pdf

    Zabbix安装配置文档.pdf 文件pdf格式的,内容是ppt格式的。 ================================================== Zabbix安装配置文档.pdf 文件pdf格式的,内容是ppt格式的。 =====================================...

    HCIA+CCNA视频全套20讲.zip

    14_zabbix安装及配置演示02.avi 15_zabbix UI及其基本配置.avi 16_zabbix基本监控配置详解01.avi 17_zabbix基本监控配置详解02.avi 18_zabbix基本监控配置详解03.avi 19_zabbix基本监控配置详解04.avi 20_zabbix核心...

    Zabbix安装配置手册

    ### Zabbix安装配置手册知识点概览 #### 一、关于Zabbix ##### 1.1 Zabbix简介 Zabbix是一款成熟且功能强大的开源监控解决方案,主要用于网络设备、服务器硬件及应用服务的监控。该系统提供了丰富的特性,如自动...

    zabbix安装和使用手册

    #### 一、Zabbix-Server 的安装与配置 Zabbix 是一款开源的企业级监控工具,它能够提供网络监控、应用监控、系统监控等功能,支持主动及被动数据采集模式,是现代数据中心不可或缺的一部分。 ##### 1. Zabbix ...

Global site tag (gtag.js) - Google Analytics