重庆欢乐生肖
主页 > 技术专区 > 监控知识 >

运维监控知识体系

2019-06-05 01:36 监控知识 已读

  监控是整个运维乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供详实的数据用于追查定位问题。

  目前业界有很多不错的开源产品可供选择。选择一款开源的监控系统,是一个省时省力,效率最高的方案。当然对监控不是很明白的朋友们,看了以下文章可能会对监控整个体系有比较深刻的认识。

  我们先来了解什么是监控,监控的重要性以及监控的目标,当然每个人所在的行业不同、公司不同、业务不同、岗位不同、对监控的理解也不同,但是我们需要注意,监控是需要站在公司的业务角度去考虑,而不是针对某个监控技术的使用。

  1.对系统不间断实时监控:实际上是对系统不间断的实时监控(这就是监控)

  2.实时反馈系统当前状态:我们监控某个硬件、或者某个系统,都是需要能实时看到当前系统的状态,是正常、异常、或者故障

  3.保证服务可靠性安全性:我们监控的目的就是要保证系统、服务、业务正常运行

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

  既然我们了解到了监控的重要性、以及监控的目的,那么下面我们需要了解下监控有哪些方法。

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

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

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

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

  我们了解了监控的方法、监控对象、性能指标、报警阈值定义、以及故障处理流程几步骤,当然我们更需要知道监控的核心是什么?

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

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

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

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

  MRTG最好的版本是1995年推出的,用perl语言写成,可跨平台使用,数据采集用SNMP协议,MRTG将收集到的数据通过Web页面以GIF或者PNG格式绘制出图像。

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

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

  Cacti通过添加模板,使不同设备的监控添加具有可复用性,并且具备可自定义绘图的功能,具有强大的运算能力(数据的叠加功能)

  4、Nagios是一个企业级监控系统,可监控服务的运行状态和网络信息等,并能监视所指定的本地或远程主机状态以及服务,同时提供异常告警通知功能等。

  Nagios可运行在Linux和UNIX平台上。同时提供Web界面,以方便系统管理人员查看网络状态、各种系统问题、以及系统相关日志等

  目前Nagios也占领了一定的市场份额,不过Nagios并没有与时俱进,已经不能满足于多变的监控需求,架构的扩展性和使用的便捷性有待增强,其高级功能集成在商业版Nagios XI中。

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

  6、开源监控系统OpenTSDB用Hbase存储所有时序(无须采样)的数据,来构建一个分布式、可伸缩的时间序列数据库。它支持秒级数据采集,支持永久存储,可以做容量规划,并很容易地接入到现有的告警系统里。

  OpenTSDB可以从大规模的集群(包括集群中的网络设备、操作系统、应用程序)中获取相应的采集指标,并进行存储、索引和服务,从而使这些数据更容易让人理解,如Web化、图形化等。

  1、Zabbix是一个分布式监控系统,支持多种采集方式和采集客户端,有专用的Agent代理,也支持SNMP、IPMI、JMX、Telnet、SSH等多种协议,它将采集到的数据存放到数据库,然后对其进行分析整理,达到条件触发告警。其灵活的扩展性和丰富的功能是其他监控系统所不能比的。相对来说,它的总体功能做的非常优秀。

  从以上各种监控系统的对比来看,Zabbix都是具有优势的,其丰富的功能、可扩展的能力、二次开发的能力和简单易用的特点,读者只要稍加学习,即可构建自己的监控系统。

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

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

  上面介绍了这么多,那么到底选择什么监控工具最合适呢,我这里推荐几款开源监控工具:zabbix、Open-Falcon、LEPUS天兔(专用于监控数据库)。

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

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

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

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

  我们上面了解了监控方法、目标、流程、也了解了监控有哪些工具,可能有人会疑惑,我们具体要监控写什么东西,那么我在这里进行了分类整理:

  早期我们通过机房巡检的方式,查看硬件设备灯光闪烁情况判断是否故障,这样非常浪费人力,并且是重复性无技术含量的工作,大家懂得。

  当然我们现在可以通过IPMI对硬件详细情况进行监控,并对CPU、内存、磁盘、温度、风扇、电压等设置报警设置报警阈值(自行对监控报警内容编写合理的报警范围)

  IPMI工具无法获取到硬件的状态,可以借助MegaCli工具探测Raid磁盘队列状态

  中小★▽…◇型企业基本全是Linux服务器,那么我们肯定是要监控起系统资源的使用情况,系统监控是监控体系的基础。

  通常情况,每个处理器的运行队列不要高于3,CPU 利用率中用“户态/内核态”比例维持在70/30,空闲状态维持在50%,上下文切换要根据系统繁忙程度来综合考量。

  内存:通常我们需要监控内存的使用率、SWAP使用率、同时可以通过zabbix描绘内存使用率的曲线图形•□▼◁▼发现某服务内存溢出等。

  IO分为磁盘IO和网络IO。除了在做性能调优我们要监控更详细的数据外,那么日常监控,只关注磁盘使用率、磁盘吞吐量、磁盘写入繁忙程度,网络也是监控网卡流量即可。

  其它的系统监控还有运行的进程端口、进程数、登陆用户、Open File等(详细查看zabbix自带OS Linux模板)

  把硬件监控和系统监控研究明白后,我们进一步操作是需要登陆到服务器上查看服务器运行了哪些服务,都需要监控起来。

  作为一个针对•●全国用户的电商网站,时刻掌握各地到机房的网络状态也是必须的。

  网络监控是我们构建监控平台是必须要考虑的,尤其是针对有多个机房的场景,各个机房之间的网络状态,机房和全国各地的网络状态都是我们需要重点关注的对象,那么如何掌握这些状态信息呢?我们需要借助于网络监控工具Smokeping。

  Smokeping 是rrdtool的作者Tobi Oetiker的作品,是用Perl写的,主要是监视网络性能,服务器性能,dns查询性能等,使用rrdtool绘图,而且支持分布式,直接从多个agent进行数据的汇总。

  同时,由于自己监控点比较少,还可以借助很多商业的监控工具,比如监控宝、听云、基调、博瑞等。同时这些服务提供商还可以帮○▲-•■□助你监控CDN的状态。

  网站流量分析对于运维人员来说,更是一门必须掌握的知识了。比如对于一家电商公司来说:

  通过对订单来源的统计和分析,可以了解我们在某个网站上的广告投入有没有收到预期的效果。

  百度统计、google分析、站长工具等等,只需要在页面嵌入一个js即可。

  但是,数据始终是在对方手中,个性化定制不方便,于是google出一个叫piwik的开源分析工具

  通常情况下,随着系统的运行,操作系统会产生▲★-●系统日志,应用程序会产生应用程序的访问日志、错误日志,运行日志,网络日志,我们可以使用ELK来进行日志监控。

  对于日志监控来说,最见的需求就是收集、存储、查询、展示,开源社区正好有相对应的开源项目:

  如果收集了日志信息,那么如果部署更新有异常出现,可以立即在kibana上看到。

  虽然Linux开源的安全产品不少,比如四层iptables,七层WEB防护nginx+lua实现WAF,最后将相关的日志都收至Elkstack,通过图形化进行不同的攻击类型展示。但是始终是一件比较耗费时间,并且个人认为效果并不是很好。这个时候我们可以选择接入第三方服务厂商。

  三方厂商提供全面的漏洞库,涵盖服务、后门、数据库、配置检测、CGI、SMTP等多种类型

  全面检测主机、Web应用漏洞自主挖掘和行业共享相结合第一时间更新0day漏洞,杜绝最新安全隐患

  由于API变得越来越重要,很显然我们也需要这样的数据来分辨我们提供的 API是否能够正常运作。

  全面监控网页性能,DNS响应时间、HTTP建立连接时间、页面性能指数、响应时间、可用率、元素大小等

  没有业务指标监控的监控平台,不是一个完善的监控平台,通常在我们的监控系统中,必须将我们重要的业务指标进行监控,并设置阈值进行告警通知。比如电商行业:

  一般报警后我们故障如何处理,首先,我们可以通过告警升级机制先自动处理,比如nginx服务down了,可以设置告警升级自动启动nginx。

  但是如果一般业务出现了严重故障,我们通常根据故障的级别,故障◆◁•的业务,来指派不同的运维人员进行处理。

  当然不同业务形态、不同架构、不同服务可能采用的方式都不同,这个没有一个固定的模式套用。

  在运维面试中,常常会被问题监控相关的问题,那么这个问题到底该如何来回答,我针对本文给大家提供了一个简单的回答思路。

  通过SNMP来进行路由器交换机的监控(这些可以跟一些厂商沟通来了解如何做)、服务器的温度以及其他,可以通过IPMI来实现。当然如果没有硬件全都是云,直接跳过这一步骤。

  如CPU的负载,上下文切换、内存使用率、磁盘读写、磁盘使用率、磁盘inode使用率。当然这些都是需要配置触发器,因为默认太低会频繁报警。

  比如公司用的LNMP架构,nginx自带Status模块、PHP也有相关的Status、MySQL的话可以通过percona官方工具来进行监控。Redis这些通过自身的info获取信息进行过滤等。方法都类似。要么服务自带。要么通过脚本来实现想监控的内容,以及报警和图形功能。

  如果是云主机又不是跨机房,那么可以选择不监控网络。当然你说我们是跨机房以及如何如何。推荐使用smokeping来做网络相关的监控。或者直接交给你们的网络工程师来做,因为术业有专攻。

  如果是云主机可以考虑使用自带的安全防护。当然也可以使用iptables。如果是硬件,那么推荐使用硬件防火墙。使用云可以购买防DDOS,避免出现故障导致down机一天。如果是系统,那么权限、密码、备份、恢复等基础方案要做好。web同时也可以使用Nginx+Lua来实现一个web层面的防火墙。当然也可以使用集成好的openresty。

  web监控的话题其实还是很多。比如可以使用自带的web监控来监控页面相关的延迟、js响应时间、下载时间、等等。这里我推荐使用专业的商业软件,监控宝或听云来实现。毕竟人家全国各地都有机房。(如果本身是多机房那就另说了)

  如果是web的话可以使用监控Nginx的50x、40x的错误日志,PHP的ERROR日志。其实这些需求无非是,收集、存储、查询、展示,我们其实可★-●=•▽以使用开源的ELKstack来实现。Logstash(收集)、elasticsearch(存储+搜索)、kibana(展示)

  我们上面做了那么多,其实最终还是保证业务的运行。这样我们做的监控才有意义。所以业务层面这块的监控需要和◆■开发以及总监开会讨论,监控比较重要的业务指标,(需要开会确认)然后通过简单的脚本就可以实现,最后设置触发器即可

  平时我们分析日志都是拿awk sed xxx一堆工具来实现。这样对我们统计ip、pv、uv不是▪…□▷▷•很方便。那么可以使用百度统计、google统计、商业,让开发嵌入代码即可。为了避免隐私也可以使用piwik来做相关的流量分析。

  通过screen以及引入一些第三方的库来美化界面,同时我们也需要知道,订单量突然增加、突然减少。或者说突然来了一大波流量,这流量从哪儿来,是不是推广了,还是被攻击了。可以结合监控平来梳理各个系统之间的业务关系。

  如上我们做了那么多的工作,当然不能是一台一台的来加key实现。可以通过Zabbix的主动模式以及被动模式来实现。当然最好还是通过API来实现。

  真正想做到更完整的监控体系,目前的开源软件,确实无法很好的满足,有条件的公司都开始自己开发自己的监控系统,比如小米开源的Open-Falcon。

  也有比较好的开源的监控框架如Sensu等,再加上influxdb、grafana可以用来定制符合自己企业的监控平台。

  综合监控功能工具综合监控工具完成对被管对象的集中监控、集中维护和集中管理,被管对象包括网络设备、服务器、PC设备、数据库、中间件、存储、备份、安全设备、应用系统等。工程师通过这类工具,完成对被管网元配...博文来自:程序员杂谈

  1.ZabbixZabbix作为企业级的网络监控工具,通过从服务器,虚拟机和网络设备收集的数据提供实时监控,自动发▷•●现,映射和可扩展等功能。Zabbix的企业级监控软件为用户提供内置的Java应用服务器...博文来自:大蛇王的博客

  要把手上的一些东西理理,汇成一个运维监控的东西。本来这类东西(牛刀)大把了,不过我喜欢造轮子的习惯又犯了,主要是都是自己写的,清楚每个点,很容易把监控代码嵌入进去,只要注意控制好功能范围不挖大坑就行....博文来自:拙言的专栏

  版权声明:本文为EnweiTech原创文章,未经博主允许不得转载。随着云计算和互联网...博文来自:varyall的专栏

  运维监控体系包括以下内容:一、 可用性监控所监控的目标是否处于正常可用状态,比如机器是否正常运行可以访问状态,Tomcat是否处于运行状态,数据库是否处于可以访问状态;二、资源监控比如内存、CPU、磁...博文来自:liaomingwu的专栏

  监控 zabbix监控是整个运维乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供详实的数据用于追查定位问题。 目前业界有很多不错的开源产品可供选择。选择一款开源的监控系统,是一个省时...博文来自:Z_GodGirl的博客

  详解十三款运维监控工具纵观我们部署在基础设施当中并始终保持运作的全部测量机制,监控系统无疑是重要性最高的机制之一,但它却常常遭到我们的忽视。如果能够建立起一套坚实的监控系统来针对可能发生的灾难加以警...博文来自:VickHUC的博客

  概述这是监控告警产品专题系列第一篇文章,涉及的主要内容为监控产品设计的一些相关基础知识,算是这个系列文章的一个索引。该篇会主要涉及到以下主要内容后续三篇文章讲述的核心内容(这个系列会比较长,先暂定了后...博文来自:eagle89的专栏

  监控是整个运维乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供详实的数据用于追查定位问题。目前业界有很多不错的开源产品可供选择。选择一款开源的监控系统,是一个省时省力、效率最高的方案...博文来自:Enweitech Software Works

  摘抄自:第三级:代码级问题诊断无论是业务体验监控,还是应用端到端监控,都是粗粒度监控,在很多情况下,如出现应用性能等,尽管能及时...博文来自:laokaizzz的专栏

  不过选择什么来监控呢。向大神们用的Zabbix和Nagios这等开源神器我这入门小弟暂时也不会用啊。思来想去先上网上找找看有没有什么别的工具可以快速简单入门的。探索之旅就这样从百度开始了,功夫不负有心...博文来自:wangpeng198688的专栏

  市面上有很多开源的监控系统:Cacti、nagios、zabbix。感觉都不符合我的需求,为什么不自己做一个呢用Python两个小时徒手撸了一个简易的监控系统,给大家分享一下,希望能对大家有所启发首先...博文来自:yyf_China的博客

  目前很多企业信息化系统都有自己的监控平台和监控手段,无论是采用哪种手段去实现对系统的实时监控和故障告警,大多采用的方式也只有两种:一、集中式监控和分布式监控。博主根据自身公司监控存在的问题,总结了一些...博文来自:编译运行的博客

  监控目标我们先来了解什么是监控,监控的重要性以及监控的目标,当然每个人所在的行业不同、公司不同、业务不同、岗位不同、对监控的理解也不同,但是我们需要注意,监控是需要站在公......博文来自:运维派

  作者介绍:聂鑫,腾讯运维总监。从开发到运维,伴随腾讯社交网络运营部成长的十年,负责过腾讯社交产品所有业务运维工作。目前主要负责QQ、空间等产品运维团队管理工作。经历多个业务产品的诞生到蓬勃,伴随着运维...博文来自:Tencent_TEG的博客

  小米发布的运维监控工具:openfalcon#Introduction监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题。监控系统作为...博文来自:xincai的专栏

  自动化运维监控工具诞生初期阶段IT基础设施通常处在小规模状态。几台至几十台机器的规模,足以满足业务需求。很多公司都不一定配有专门的运维人员或者部门,业务开发人员完成自己业务工作的同时,也一并完成所负责...博文来自:互联网运维杂谈

  多年以来一直以稳定运行为前...博文来自:java、c++、机器学习方向King

  “想做世界最好是对的,但是最好先定一个能达到的小目标,比方说我先挣它一个亿。”,王首富云淡风轻地给各行各业提供了一个很好的Roadmap,包括我们运维。的确,如今数据中心的规模增长速度也已像一匹脱缰的...博文

  一、常见的运维监控工具现在运维监控工具非常多,哪个好,哪个不好,哪个适合你,哪个不适合你,其实只有你了解了他们的特性后,才知道,所以从这里开始讲▽•●◆起。1、CactiCacti是一套基于PHP,MySQL...博文来自:星月情缘的博客

  监控内容网络数据,针对接入层的监控。服务器数据,包括服务器的CPU、内存、硬盘、连接数的各项使用数据。应用数据。应用数据是这三者中最难的,但也是最重要的。应用数据是和业务逻辑紧密相关的数据,业务逻辑变...博文来自:ifwinds的博客

  最近在做一次性能测试的时候,为了更直观的监测性能问题,找了一圈发现NetData和Grafana搭配起来搭建的监控平台非常的酷炫!!!...博文来自:Java内存区域与OOM异常

  监控系统对系统正常运行的作用监控系统对系统正常运行的作用监控系统,可以从运营级别(基本配置即可),以及应用级别(二次开发,通过端口进行日志上报),对服务器、操作系统、中间件、应用进行全面的监控,及报警...博文来自:Java之旅

  监控运维工作复杂,期望通过“监控运维那点事”专题,通过流程、工具、人三方面来分享我在IT运维监控方面心得...博文来自:的博客

  前言随着Devops、云计算、微服务、容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器、虚拟机、物理机不一而足。面对动辄几百上千个虚拟机、容器...博文来自:Stars永恒的博客

  今天一大早就看到了一篇文章,叫【大数据对于运维的意义】。该文章基本上是从三个层面阐述的:工程数据,譬如工单数量,SLA可用性,基础资源,故障率,报警统计业务数据,譬如业务DashBoard,Trace...博文来自:allwefantasy的专栏

  今天我们继续来看《这样读书就够了》,这本书中有一章是关于如何搭建知识体系什么是知识体系?一本书的目录,一个课程的大纲,一个在线课程的大纲,都不应该算是我们的知识体系,这里要强调的,是要搭建自己的知识体...博文来自:weixin_34341117的博客

  关注嘉为科技,获取运维新知 数据爆炸式的增长,给信息传播带来了更多的挑战。渐渐地,易于阅读的视觉化内容正在被越来越多的人所青睐,比如,一张知识体系框架图远胜于长篇大论的一本书,很多新书发布时都会考...博文来自:weixi□◁n_42556618的博客

  一、日常巡检★△◁◁▽▼1、每个维护点按天进行日常巡检,巡检内容◇…=▲按基础巡检表单进行填写。巡检表单在系统中可以按维护点维护内容不同进行灵活配置。 2、巡检预警:每天各维护点定时巡检时间点,超过时间点巡检内容没有上传...博文来自:Enweitech Software Works

  对于很多企业来说,为了保证IT系统能够正常运行,很多企业都有选择一种系统监控软件进行实时或者远程监控。下面,编者搜集了一些切实可用的系统监控软件,希望能够帮助企业IT系统稳定、安全地运行。首先,监...博文来自:chaishen10000的专栏

  企事业单位构成IT基础的设施呈现出规模庞大、结构复杂、品牌众多的特点,为确保系统安全可靠运行,IT集中监控系统的建设成为企业信息化运维工作的重点之一。...博文来自:OneWiserv的博客

  随着互联网行业的不断发展,各种监控工具多得不可胜数。这里列出网上最全的监控工具。让你可以拥有超过80种方式来管理你的机器。在本文中,我们主要包括以下方面:命令行工具网络相关内容系统相关的监控工具日志监...博文来自:click_idc的博客

  监控系统、日志系统、配置管理系统以及部署系统以前公司在监控、日志分析、应用配置和部署的工作▪•★方面都是徒手操作,若将徒手变为自动化,对于上流的互联网公司都急切需要这些自动化管理系统。无数生产的问题以及...博文来自:秀才的专栏

  转自如何通过读书来构建自己的知识体系?发表于2016年8月26日由周金根关于如何读书,网上已经有很多文章了,最近又在网上看...博文来自:无我

  本文摘自《PMBOK指南》第六版的第一部分的项目进度管理,可谓目录的丰富版。文章为预习总结笔记,以求深刻理解,部分内容难免为个人臆测。有不同见解的大侠可以留言指教。引用无需注明出处。图中每个框后面多个...博文来自:gkxg001的博客

  weixin_38750084:你把python捧上天了 把其他语言贬低一通,也是醉了,你懂其他语言嘛?举个例子,java不仅仅是一门编程语言,准确说是一个生态系统,ok?

重庆欢乐生肖

电话:4008-888-546 邮箱:http://www.2kteam.com

地址:江苏省南京市

{Copyright © 重庆欢乐生肖APP 版权所有 | Sitemap | 网站导航 苏ICP1546564546

Powered by