新闻动态
技术中心
技术中心
当前位置:科达自控 >> 服务支持 >> 技术中心 >> 浏览文章
运维服务的必备知识---监控
作者:黄涛 日期:2020年06月22日 来源:研发部 浏览:

内容导读:监控是整个运维乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供详实的数据用于追查定位问题。目前业界有很多不错的开源产品可供选择。选择一款开源的监控系统,是一个省时省力、效率最高的方案。当然,对监控不是很明白的朋友们,看了以下文章可能会对监控整个体系有比较深刻的认识。

监控是整个运维乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供详实的数据用于追查定位问题。目前业界有很多不错的开源产品可供选择。选择一款开源的监控系统,是一个省时省力、效率最高的方案。当然,对监控不是很明白的朋友们,看了以下文章可能会对监控整个体系有比较深刻的认识。

一、监控目标

每个人由于所在的行业、公司、业务、岗位不同,对监控的理解也不尽相同,但是我们需要注意,监控是需要站在公司的业务角度去考虑,而不是针对某个监控技术的使用。 

对系统不间断的实时监控:实际上是对系统不间断的实时监控(这就是监控);实时反馈系统当前状态:我们监控某个硬件、或者某个系统,都是需要能实时看到当前系统的状态,是正常、异常、或者故障。保证服务可靠性安全性:我们监控的目的就是要保证系统、服务、业务正常运行

保证业务持续稳定运行:如果我们的监控做得很完善,即使出现故障,能第一时间接收到故障报警,在第一时间处理解决,从而保证业务持续性的稳定运行。

二、监控方法 

1.了解监控对象:我们要监控的对象你是否了解呢?比如CPU到底是如何工作的?

2.性能基准指标:我们要监控这个东西的什么属性?比如CPU的使用率、负载、用户态、内核态、上下文切换。

3.报警阈值定义:怎么样才算是故障,要报警呢?比如CPU的负载到底多少算高,用户态、内核态分别跑多少算高?

4.故障处理流程:收到了故障报警,我们怎么处理呢?有什么更高效的处理流程吗?

三、监控核心 

发现问题:当系统发生故障报警,我们会收到故障报警的信息。

定位问题:故障邮件一般都会写某某主机故障、具体故障的内容,我们需要对报警内容进行分析。比如一台服务器连不上,我们就需要考虑是网络问题、还是负载太高导致长时间无法连接,又或者某开发触发了防火墙禁止的相关策略等,我们就需要去分析故障具体原因。

解决问题:当然我们了解到故障的原因后,就需要通过故障解决的优先级去解决该故障。

总结问题:当我们解决完重大故障后,需要对故障原因以及防范进行总结归纳,避免以后重复出现。

四、监控工具

下面我们需要选择一款适合公司业务的监控工具进行监控,。这里我对监控工具进行了简单的分类。 

1、老牌监控

MRTG(Multi Route Trffic Grapher)是一套可用来绘制网络流量图的软件,由瑞士奥尔滕的Tobias Oetiker与Dave Rand所开发,以GPL授权。MRTG最好的版本是1995年推出的,用Perl语言写成,可跨平台使用,数据采集用SNMP协议,MRTG将手机到的数据通过Web页面以GIF或者PNG格式绘制出图像。

Ganglia是一个跨平台的、可扩展的、高性能的分布式监控系统,如集群和网格。它基于分层设计,使用广泛的技术,用RRDtool存储数据。具有可视化界面,适合对集群系统的自动化监控。其精心设计的数据结构和算法使得监控端到被监控端的连接开销非常低。目前已有成千上万的集群正在使用这个监控系统,可以轻松地处理2000个节点的集群环境。

Cacti(英文含义为仙人掌)是一套基于PHP、MySQL、SNMP和RRDtool开发的网络流量监测图形分析工具,它通过snmpget来获取数据使用RRDtool绘图,但使用者无须了解RRDtool复杂的参数。提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、主机设备以及任何一张图,还可以与LDAP结合进行用户认证,同时也能自定义模板。在历史数据展示监控方面,其功能相当不错。Cacti通过添加模板,使不同设备的监控添加具有可复用性,并且具备可自定义绘图的功能,具有强大的运算能力(数据的叠加功能)

Nagios是一个企业级监控系统,可监控服务的运行状态和网络信息等,并能监视所指定的本地或远程主机状态以及服务,同时提供异常告警通知功能等。Nagios可运行在Linux和UNIX平台上。同时提供Web界面,以方便系统管理人员查看网络状态、各种系统问题、以及系统相关日志等。Nagios的功能侧重于监控服务的可用性,能根据监控指标状态触发告警。目前Nagios也占领了一定的市场份额,不过Nagios并没有与时俱进,已经不能满足于多变的监控需求,架构的扩展性和使用的便捷性有待增强,其高级功能集成在商业版Nagios XI中。

Smokeping主要用于监视网络性能,包括常规的ping、www服务器性能、DNS查询性能、SSH性能等。底层也是用RRDtool做支持,特点是绘制图非常漂亮,网络丢包和延迟用颜色和阴影来标示,支持将多张图叠放在一起,其作者还开发了MRTG和RRDtll等工具。 Smokeping的站点为:http://tobi.oetiker.cn/hp。

开源监控系统OpenTSDB用HBase存储所有时序(无须采样)的数据,来构建一个分布式、可伸缩的时间序列数据库。它支持秒级数据采集,支持永久存储,可以做容量规划,并很容易地接入到现有的告警系统里。OpenTSDB可以从大规模的集群(包括集群中的网络设备、操作系统、应用程序)中获取相应的采集指标,并进行存储、索引和服务,从而使这些数据更容易让人理解,如Web化、图形化等。

2、王牌监控

Zabbix是一个分布式监控系统,支持多种采集方式和采集客户端,有专用的Agent代理,也支持SNMP、IPMI、JMX、Telnet、SSH等多种协议,它将采集到的数据存放到数据库,然后对其进行分析整理,达到条件触发告警。其灵活的扩展性和丰富的功能是其他监控系统所不能比的。相对来说,它的总体功能做得非常优秀。从以上各种监控系统的对比来看,Zabbix都是具有优势的,其丰富的功能、可扩展的能力、二次开发的能力和简单易用的特点,读者只要稍加学习,即可构建自己的监控系统。

小米的监控系统:Open-Falcon。Open-Falcon的目标是做最开放、最好用的互联网企业级监控产品。

3、三方监控

现在市场上有很多不错的第三方监控,比如:监控宝、监控易、听云、还有很多云厂商自带监控,但在这里我不打算着重介绍,如果想了解三方监控可自行上官网咨询。(避免说广告植入)

五、监控流程

上面介绍了这么多,到底选择什么监控工具最合适呢?我这里推荐几款开源监控工具:Zabbix、Open-Falcon、LEPUS天兔(专用于监控数据库)。但本文还是基于Zabbix来构建整个监控体系生态圈。 下面我们就来聊聊Zabbix的整个流程:

数据采集:Zabbix通过SNMP、Agent、ICMP、SSH、IPMI等对系统进行数据采集;

数据存储:Zabbix存储在MySQL上,也可以存储在其他数据库服务;

数据分析:当我们事后需要复盘分析故障时,Zabbix能给我们提供图形以及时间等相关信息,方面我们确定故障所在;

数据展示:Web界面展示、(移动APP、java_php开发一个Web界面也可以);

监控报警:电话报警、邮件报警、微信报警、短信报警、报警升级机制等(无论什么报警都可以);

报警处理:当接收到报警,我们需要根据故障的级别进行处理,比如:重要紧急、重要不紧急,等。根据故障的级别,配合相关的人员进行快速处理。

上一篇文章:关于2020年度山西省科学技术进步奖公示无异议证明 下一篇文章:轴承的类型与应用
相关链接
发表评论
用户评论
版权所有 山西科达自控股份有限公司 晋ICP备09004627号    晋公网安备 14019202000008号     
官方微信
新浪官方微博
腾讯官方微博