shisgmei 发表于 2019-1-24 11:04:27

Zabbix完整监控

Zabbix完整监控
  Zabbix的监控流程可以简单描述为:数据采集-->数据存储-->数据分析-->数据展示-->监控报警
  数据采集:Zabbix通过SNMP、Agent、ICMP、SSH、IPMI等进行数据采集
  数据存储:Zabbix存储在MySQL上,也可以存储在其他数据库
  数据展示:web界面展示、(移动APP、java_php开发一个web界面也可以)
  数据报警:邮件报警、微信报警、短信报警、报警升级机制
  Zabbix的监控配置流程可以简单描述为:
  告警是由一系列的流程组成,首先是触发器达到阀值,产生一个事件,接下来由Action对事件信息进行处理,其中包括两部分:第一部分是发送消息,即将告警信息发送给用户,第二部分是执行命令,即将事件用命令进行处理,达到对事件故障自动尝试恢复的效果。
  Host groups(主机组)→Hosts(主机)→template(模板)→Applications(监控项组)→Items(监控项)→graph(图形) →screen (图形分组)→Triggers(触发器)→Event(事件)→Actions(处理动作)→Media types(告警升级|1.执行远程命令2.发送告警邮件)→User groups(用户组)→Users(用户)→Medias(告警邮件)
  在实际生产使用的时候,Items、Trigger、Graph采用模板来进行监控,模板特点就是可以重复的事情一次完成,修改了模板等于修改了所有调用此模板的主机。这样可解放运维的双手
  Graph不是必需的,因为没有配置图形,数据获取并不影响,获取数据是Items的功能。但是对于使用ZabbixWeb界面用户来说,没有图形等于没有数据,因此重要的Items必须添加必要的图形以做可视化展示。如果想集中查看图形,可以通过screen功能。
1.1添加主机组
  建议:对同一属性的主机或模板,尽量归纳到分组,方便以后管理。分组原则建议如下。
  q以地理位置进行划分。
  q以业务为单位划分组。
  q以机器用途划分。
  q以系统版本划分。
  q以应用程序分组。
  q其他方式等。
  分组的目的是将同一属性的主机归类,如果你不想将新添加的主机归纳为自定义的分组,可以使用默认的分组。
  1.点击Configuration→Host groups上的按钮Create host group,如图2-3所示。
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133042961-289508877.png
  图 2‑1
  2.单击后会出现一个添加新主机组的界面,如图2-2所示。
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133045852-986851587.png
  图2-2
  在图2-2中”Group name”是组的名称:”Host Host in”是选择那些设备属于这个新添加的组。
  3.单击Save保存,新添加的主机组就可以显示在主机组列表中,如图2-3所示。
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133046899-1542320430.png
  图2-3
1.2添加模板
  监控项、触发器、图形、Web、Discovery等都是存在于主机之上的,由于多个主机都会用相同的监控配置,因此,可以对这部分同类的数据进行归纳抽象,即将这些数据做成模板。当我们需要对其他监控数据进行配置的时候,只需要对相对应的主句添加对应的模板即可。
  1.配置模板的步骤为:单击→Configuration→Templates→Create template 如图2-4所示。
  group:可以选择在哪个组创建该模板
  import:可以导入模板
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133047774-633710369.png
  图2-4
  2.填入模板名称和所属的组,如图2-5所示。
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133049352-879314784.png
  图2-5
  4.模板具有继承的功能(将一个模板在另外一个模板中使用),如图2-6所示。
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133050180-253557940.png
  图2-5
  搜索当前已经存在的模板,然后单击Add添加-点击下面的Add。
  5.模板中也可以设置宏,如图2-6所示。
  宏主要是对变量定义,设置宏的作用是方便后面再Items、Trigger中引用,在模板中配置一个宏,在不同的主机对该宏设置不同的变量值,从而达到模板通用的目的。
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133051570-740427802.png
  图2-6
  6.查看新建的模板,如图2-7所示。
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133052555-877015444.png
  图2-7
  可以看到,Items中已经有32Items了,是继承与trt-linux-basic模板的。以后会详细讲解如何在模板中添加其他的Items。
1.3添加主机
  1.添加主机的目的是对具体的设备进行监控,步骤为:依次单击Configuration→Hosts→Create host,如图2-8所示。
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133053992-1568081539.png
  图2-8
  2.在图2-8中单击Create host,出现如图2-9所示的界面。
  图2-9中各参数的详细说明如表2-1所示。
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133055836-1804603478.png
  图2-9
  表2-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)
  勾选则开启
  2.选择模板,如图2-10所示。
  1.可以添加多个模板。
  2.可以搜索模板进行添加。
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133059055-2119831447.png
  图2-10
  3.添加了一个bjstack-template新建的模板,单击Add保存,然后update更新
1.4添加Graphs
  Graphs是将数据展示为图像,以视觉化形式展示,Graphs的配置存在于主机和模板中。
  1.在所在的主机模板中,选择Graphs,如图2-11所示。
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133059570-143972063.png
  图2-11
  2.针对web-node1-192.168.90.12这台主机上的itmes进行配置Graph 单击“Create graph”按钮,如图2-12所示。
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133100711-595949821.png
  图2-12
  3.出现新建图形的界面,输入Name,选择所需要的Items,如图2-13所示。
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133102742-1329280625.png
  图2-13
  4.如果要查看所有的图形,单击Monitoring→Graphs选择对应的Group、Host、Graph,查看cpu load如图2-14所示。
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133105102-170273631.png
  图2-14
1.5添加Screen
  Screen将多种信息放在一起展示,便于集中展示某个Host的多个信息,或是将多个Host的同一种信息放在一起显示,这些信息可以为Graphs、Maps、Serverinfo等,几乎涵盖Zabbix所有的监控信息。
  1.通过单击Configuration-→Screens→Create screen来创建,创建时定义Screen的行数和列数(如图2-15至图2-16所示)
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133105539-776094848.png
  图2-15
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133106336-1754969140.png
  图2-16
  2.单击创建Screen名称,如图2-17所示
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133107102-11214429.png
  图2-17
  3.单击单元格内的Change,选择选择cpuload图形 添加相应的元素,如图2-18、图2-19所示
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133109477-1398254962.png
  图2-18
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133111633-880263542.png
  图2-19
  3.配置好后,通过单击Monitor→Screen,选择相应的Screen组,如图2-20所示。
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133112789-1752061373.png
  图2-20
1.6添加Trigger
  基于刚刚的web-node1创建触发器,选择对应的Host/Template(模板会自动关联至主机),创建触发器CPU Load如图2-21、图2-22、图2-23、图2-24是对触发器进行设置的示例
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133114102-498185344.png
  图2-21
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133114899-1227836234.png
  图2-22
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133116320-472832796.png
  图2-23
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133118352-1419610583.png
  图2-24
  最后效果如图2-25、图2-26
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133119305-52692834.png
  图2-25
https://www.cnblogs.com/xuliangwei/p/287f5518-f6ff-48cf-88f5-3e7b55ba926b_files/0.8994503415625335.png
  图2-26
  推荐更多Zabbix触发器支持的函数说明:http://pengyao.org/zabbix-triggers-functions.html(来自姚炫伟翻译)
  推荐Zabbix Trigger表达式实例:http://pengyao.org/zabbix-trigger-example-1.html(来自姚炫伟)
  添加完触发器,可以打开Zabbix内置的报警铃声,如图2-27
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133153133-101367348.png
  图2-27
  也可以修改items的报警时间间隔(不是必须),如图2-28所示
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133154445-1021400666.png
  图2-28
1.7添加Media
  步骤为:登陆Zabbix Web页面,单击Administration→Media Type→Create Media Type(右上角)-如图2-29
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133158336-1451666041.png
  图2-29
  用户可以配置Media,发送告警的方式等,点击Admin,也可以创建一个新用户(我这里只是一个例子)如图2-30
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133159414-110548729.png
  图2-30
  2.配置一个用户作为接收如图2-31
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133202102-1932087706.png
  图2-31
  保存并开启如图2-32
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133203445-1526328229.png
  图2-32
1.8.添加Action
  配置action,需要如下几个步骤:
  1.在菜单栏中单击Configuration→Actions。
  2.在Event source下拉菜单中选择事件来源。
  3.单击Create action。
  4.设置Action参数,以及报警消息内容。
  5.单机Conditions按钮,设置Action的依赖条件。
  6.单击Operation按钮,设置执行动作。
1.8.1配置Action
  通过菜单Configuration→Actions→Create Action来创建Action 如图2-33、图2-34
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133204289-1315747129.png
  图2-33
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133206539-537550607.png
  图2-34
  告警消息内容:
  报警主机:{HOST.NAME1}
  报警服务: {ITEM.NAME1}
  报警Key: {ITEM.KEY1}:{ITEM.VALUE1}
  严重级别: {TRIGGER.SEVERITY}
  恢复消息内容:
  恢复主机:{HOST.NAME1}
  恢复服务: {ITEM.NAME1}
  恢复Key:{ITEM.KEY1}:{ITEM.VALUE1}
1.8.2配置Conditions
  条件之间的逻辑运算符
  1.不在维护期
  2.Trigger状态为PROBLEM
  3.主机是web-node1-192.168.90.12
  4.以上条件必须全部满足才可以发送通知,如图2-35所示例
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133208227-2022182637.png
  图2-35
1.8.3配置Operation
  触发器事件成立后有以下两种动作。
  1.发送消息(send message)
  2.执行远程命令(Remote command)
  当然还有很多,比如:增加主机、删除主机、开启监控、关键监控、链接模板、取消模板链接等等。
  当出现了Trigger状态改变时,应尝试自愈,如果无法修复,那么报警升级发送消息通知相关人员。如图2-36、图2-37、图2-38、图2-39
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133210024-1000266868.png
  图2-36
  告警信息将氛围两个等级梯度发送,如下图2-33、图2-34
  第一梯度:1-2步,远程执行命令重启Apache,间隔时间为60s,发送执行2次知道故障恢复。
  第二梯度:3-4步,发送给Admin用户,间隔时间为60s,发送两次,知道故障恢复。
  首先要支持远程执行命令,必须开启远程执行命令,以及sudo权限
  # vim /etc/zabbix/zabbix_agentd.conf
  EnableRemoteCommands=1
  # systemctl restart zabbix-agent
  # visudo
  zabbix      ALL=NOPASSWD: /usr/bin/systemctl restart httpd
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133212102-405814760.png
  图2-37
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133216883-1696320308.png
  图2-38
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133217649-1314273611.png
  图2-39
1.8.4查看报警信息
  如果达到阀值Zabbix会执行远程执行命令(如果不成功)-最后发送告警邮件,如图2-40、图2-41
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133218742-1799950990.png
  图2-40
https://images2015.cnblogs.com/blog/1098543/201704/1098543-20170402133220508-667849245.png
  图2-41
  转载:https://www.cnblogs.com/xuliangwei/p/6658838.html

页: [1]
查看完整版本: Zabbix完整监控