暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Zabbix运维监控平台系统架构

浙金科技无限 2019-09-02
818


No.1

功能介绍



Zabbix是一个企业级的开源分布式监控解决方案,它是一个基于WEB界面的提供分布式系统监视的企业级的开源解决方案。


Zabbix具备常见的商业监控软件所具备的功能,主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式(邮件、短信、微信)、详细的报表图表绘制,支持自动发现网络设备和服务器;支持分布式,能集中展示、管理分布式的监控点;扩展性强,server提供通用接口,可以自己开发完善各类监控。


Zabbix server可以通过SNMP、zabbix agent、ping,端口监视等方法提供对远程服务器监视,数据收集等功能,它可以运行在Linux、Solaris、HP-UX、AIX、Free BSD、Open BSD、OS X等平台上。




No.2

ZABBIX监控项介绍


●  系统监控。监控CPU的负载,上下文切换、内存使用率、磁盘读写、磁盘使用率、磁盘inode节点。

●  服务监控。监控应用进程、端口状态。

●  网络监控。监控固定IP的连通性问题,zabbix server到zabbix agengt之间网络问题。

●  Web监控。监控门户网站、网站交易系统、APP交易系统、微信交易系统、风控系统、OA系统、在线客服web页面的延迟、 js响应时间、下载时间、页面是否正常等等。

●  日志监控。监控核心系统的error日志,出现error日志zabbix事务报警、微信企业号告警。

●  业务监控。通过访问固定页面,返回固定结果,则为业务正常,如果未返回固定结果,则判断业务异常。



No.3

监控流程


一个监控系统运行的大概的流程是这样的:


agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。


这里agentd收集数据分为主动和被动两种模式:


主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy

被动:server向agent请求获取监控项的数据,agent返回数据。


【主动监测】通信过程如下:


zabbix首先向ServerActive配置的IP请求获取active items,获取并提交active tiems数据值server或者proxy。它会根据配置文件中的RefreshActiveChecks的频率进行,如果获取失败,那么将会在60秒之后重试。分两个部分:


获取ACTIVE ITEMS列表

•   Agent打开TCP连接(主动检测变成Agent打开)

•   Agent请求items检测列表

•   Server返回items列表

•   Agent 处理响应

•   关闭TCP连接

•   Agent开始收集数据


主动检测提交数据过程如下:

•   Agent建立TCP连接

•   Agent提交items列表收集的数据

•   Server处理数据,并返回响应状态

•   关闭TCP连接


【被动监测】通信过程如下:


•   Server打开一个TCP连接

•   Server发送请求agent.ping\n

•   Agent接收到请求并且响应

<HEADER><DATALEN>1

•   Server处理接收到的数据1

•   关闭TCP连接


这里,被动模式每次都需要打开一个tcp连接,这样当监控项越来越多时,就会出现server端性能问题了。


在实际监控中是用主动的还是被动的主要涉及两个地方:

1、新建监控项目时,选择的是zabbix代理还是zabbix端点代理程式(主动式),前者是被动模式,后者是主动模式。

2、agentd配置文件中StartAgents参数的设置,如果为0,表示禁止被动模式,否则开启。一般建议不要设置为0,因为监控项目很多时,可以部分使用主动,部分使用被动模式。



No.4

常用的监控架构平台


1、server-agentd模式:

这个是最简单的架构了,常用于监控主机比较少的情况下,目前我们zabbix系统使用该模式,灾备机房建设以后会使用server-proxy-agentd模式。


2、server-proxy-agentd模式:

这个常用于比较多的机器,使用proxy进行分布式监控,有效的减轻server端的压力。


下图描述了上述两种架构方式:


No.5

Zabbix逻辑架构


▸  定义一个template模板,里面包括多个items,trigger,graphs套用给host或者hostgroups。

▸  server监控项目items通过zabbix poller进程(可以有多个进程实现并发处理)包括snmp,agent协议收集被监控主机信息。

▸  如果阈值超过triggers触发器规定,就是形成一个events事件,然后actions处理动作(包括运行预先定制的脚本,不成功发送email或SMS)。

▸  在服务器升级的时候提前设定maintenance维护模式不对服务器产生告警通知。 


通过逻辑拓扑图展示工作流程:


No.6

告警触发机制及推送规则


1、告警触发机制

规则引擎,查询zabbix 监控数据DB中的事件,根据系统架构编写,根据指标或触发器,生成事件,规则引擎对事件和系统的的负责人,显示警报内容。


2、告警的发送方式

事件平台、邮件、短信、微信。 


3、告警推送规则

事件平台:未分类、信息、警告、一般严重、严重、灾难告警。

邮件:警告、一般严重、严重、灾难告警。 

短信:严重、灾难告警。

微信:严重、灾难告警。


谢谢阅读

文章转载自浙金科技无限,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论