您好,很高兴跟您分享下个人观点。
我们先来分析 ( 或拆分 ) 下您的需求,如果说的不对也请指正。
需求:
上述是描述的问题其实还有些隐藏的需求
我先跟您咨询几个小问题,如果您要判断一个事物的准确性通常采用的是什么样的方法?
个人的经验:一般会先去网络上搜索,可靠的网站获取信息,去有相关经验的朋友或同事那里问,获取信息。或者其他的方式获取到信息来佐证。那好简单说第一我们一定要具备一定的信息量才能够判定一些事情的准确性。第二我们需要具备判断是非的能力(或经验。)第三需要有快速获取信息的渠道(或称为工具。)
您看到这儿,很高兴您没发火。下面咱来说干的。业务系统快速排障定位需要哪些信息支持?
答案:日志 + 流量
我解释一下:
首先因为业务交易或业务系统出现异常的情况时其实因素比较多,因此需要全方位的收集信息。第一个会考虑看日志,然后排查数据库、网络性能、基础信息等内容(除了看日志外其它设备信息查看方式不一定固定)。这时候我们解决以下几个问题:
日志要集中管理
首先跟业务系统相关的业务日志、错误日志、上下游系统的日志、操作系统的日志、系统性能采集、数据库的日志、这些关键信息需要进行集中管理,否则出现问题的时候逐个申请密码登录堡垒机或逐个检查那是相当痛苦的过程。在日志平台进行查询就不会存在该问题,本身就是效率的提升。
需要具备快速检索的能力
日志集中管理后,日志平台每天会收集上 TB 或 PB 级的数据,那么怎么在这么多数据中快速找到我们想要的数据?不能一个查询下去等 20 分钟,然后查询崩溃了(个别银行在交易出现问题的是后还会查数据库)。因此需要日志平台需要具备全文检索或灵活的日志定位功能。 grep 和 awk 这些太原始了还仅处于原始运维的状态。
各环节定义异常告警、并具备实时性
通常运维的兄弟们会在系统出现异常的时候看日志,那么可预见的风险是否可以避免或者监控起来呢?这当然可以,但是需要日志平台或者工具具备处理海量数据的能力,才能保障告警实时性(同样都是日志平台必须要看性能)。那么有了告警就行了么(诶!我咋这么墨迹)?每天有 1000 条告警或者更多运维管理人员估计未来都会麻木,这时候实际上就要管理手段跟上,要做告警的优化和分析。另外工具需要具备告警收敛的功能和告警报告的功能。告诉用户一段时间内出现了多少问题。有些这些数据支撑,哪些问题是可以进行优化的便一目了然。
可视化
运维数据不挖掘,上什么工具都白扯。这话伤人,但是绝对不瞎掰。所有的数据做过分析和挖掘要针对有用的场景进行可是化展现。现在很多企业在做一体化监控平台,将运维、运营、安全态势、统一放在大屏上展示,为的就是出现问题时可以直观的反应。
通过自定义的告警异常仪表盘可以快速的排除外部因素。
关联分析
数据太多,有时需要同时进行比较需要对数据进行下钻、需要关联比较。这时候通过开发实现的固定呈现是满足不了要求的。这时候通过日志专业分析语言 SPL 就能很好做数据关联。( SPL 的挑选主要看命令的数量、函数处理的效率和数据处理或整理的能力)
为什么要流量
先说我们公司产品并不做流量,但是提出这个问题主要是为了更好的补充,使运维没有盲点。因为到了安全设备、网络设备、本身的性能的时候日志可能反应的信息就没有流量那么直观。因此建议通过 NPM 来实现。
总结
当前银行里面做的最多的即 ” 一体化监控平台 “ (可能有别的叫法,如立体智能监控平台)其中细分项目为:日志分析与监控(必须国家和证监有要求,另外日志是主要的运维数据源提供者)、 NPM 、自动化、可视化。一般有这几个模块。有个别的也会上智能运维,没关系,最后看效果(有企业是这么立项的)。
写在最后:
只能先写这么多,上面写了这么多项目,实际上做的成功项目的是分开几个公司做的。因为各自领域都是行家,千万别相信一家公司可以做日志、又可以做流量、又可以自动化。这就是扯淡。最后哪个模块都没有做好。最后只能停留在 PPT 的水平。
我是日志易的一名普通工程师,公司只做日志分析。日志分析外的事儿也欢迎来撩。
收起业务系统告警如何准确?故障定位如何快速?目前比较流行的做法是采用AIOPS的解决方案。
通过AIOPS的解决方案能够对应用的健康度进行画像,能够做到把对应用健康状态,用户使用体验等数据进行综合的分析,对监控的告警事件进行收敛,对故障的根源进行分析;
目前我们采用腾讯蓝鲸的数据平台和AI平台来实现,目前已经实现的场景有告警智能收敛,应用健康画像等功能,根因分析是我们未来要实现的目标;
参考智能运维AIOPS的相关文章;
附件:
InfoQ-智能时代的新运维-good-智能运维参考书.pdf (2.09 MB)
收起