写点什么

智能运维—你的异常日志告警如何处理?

  • 2020-03-26
  • 本文字数:1898 字

    阅读完需:约 6 分钟

智能运维—你的异常日志告警如何处理?

数字时代,无论金融还是互联网,各行各业都维护着自己 IT 系统,而保障这一套系统平稳、高效运行向来都是一件令人头疼的事。



对于运维工程师而言,通常要管理很多虚拟机或物理机,小则数十,多则上千。这么多机器,任何一台出现问题,如果都要一个个排查,定位是哪一台出现问题,出现了什么问题,那么在手忙脚乱中大半天就过去了。而因为没有实时处理修复,客户的业务很可能被中断,将会造成巨大的经济和名声损失。


对于开发人员而言,程序每次出现问题,都要查看机器上的日志定位问题,看是代码逻辑问题,还是调用 API 失败。因为请求接收是随机的,所以都是依次登录到每一台机器去查看。而如果机器数量上了规模,日志产生又是 TB/天,这是何等的工作量啊!


对于运营同学而言,日常会查看最近的流量如何,如双 12 活动用户点击量和成交量。这些都是市场推广的具体反馈。然而大部分运营都不太懂编程,更别说亲手写一段复杂的程序将众多的日志收集起来进行数据挖掘了。在这种情况下,运营工作起来,毫无市场信息,两眼一黑,不知道路在何方。


上述的现状会导致大家工作低效,常常都疲于解决告警,而无法完成新特性开发,产品竞争力逐渐流失;并且产品推广缺乏有效的反馈机制,工作开展起来也各种掣肘。

为什么会这样?

造成以上现状的的根因,主要有 3 点:缺乏实时监控系统;日志过于分散;数据分析门槛高。


  • 缺乏实时监控系统:在面临成百上千的节点时,运维工程师需要一个端到端的解决方案,将各个节点的运行状态进行汇总,并以图形化的方式实时监控。

  • 日志过于分散:日志存在多个服务器或文件中,分析问题时必须登录到不同服务器查看多个日志文件才能定位问题。当服务器数量一上规模,效率就低得足以让人难受了。

  • 数据分析门槛高:尽管如今市场上各类大数据教程满天飞,但能编程还能掌握这门高深的数据分析技术的运营人员毕竟是少数。

怎么解决这个问题?

为急剧减少疲于奔命的时间,IT 部门需要一套成熟的端到端日志平台解决方案,将运维、研发、运营从繁琐的工作中释放出来


  • 这个日志平台需要将分散在各个服务的日志集中收集起来进行管理

  • 运维能够根据采集来的数据,在这个日志平台的可视化界面进行实时监控。一有什么风吹草动,立即就能感知

  • 研发能够根据采集来的日志,在这个日志平台进行统一的关键词搜索和定位问题

  • 运营能够仅仅通过鼠标点击,无须编程,进行数据分析和图形化展示


而在业内,早已经有了一套十分流行的日志解决方案:ELK(Elasticsearch, Logstash, Kibana),其中:


  • Logstash 负责采集、转换和过滤日志。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。

  • Elasticsearch 是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能。

  • Kibana 是一个基于 Web 的图形界面,用于搜索、分析和可视化存储在 Elasticsearch 指标中的日志数据。


真实案例

某互联网直播平台为保障极佳的用户观看体验,需要在第一时间处理紧急事故,如直播卡顿,或视频无法播放。对于直播场景而言,随着观看人数的剧增,网络的流量和服务器的负荷都会随之猛增,因此出现问题并不是一件少见的事。一旦因为技术原因导致用户长时间无法观看直播,那么用户的流失将会是致命的。


为解决这类问题,该直播平台将应用程序的日志实时采集并进行分析。一旦出现状况,工程师团队都能立即得到告警,并搜索日志中的错误信息,马上进行问题定位和修复。

具体方案如下:


在该解决方案架构中,轻量型采集工具 Filebeat 被部署在各个应用服务器中,收集应用程序的日志,并输出到 Kafka 消息队列中进行缓存。接着 Logstash 读取 Kafka 中的数据并进行解析,将非结构信息转换成结构化信息写入 Elasticsearch 集群中。最后再通过 Kibana 图形化工具,将存在 Elasticsearch 的数据进行相关监控和搜索分析的工作。


通过这套日志解决方案,日志查看时间从分钟级缩短到了秒级,并且该日志平台向所有开发人员提供了统一的日志查看入口,极大地提高了处理告警事件和开发的效率,运维人力减少到原来一半。


而为这套日志解决方案提供核心支撑的正是华为云的云搜索服务。

怎么搭建这套日志解决方案

登录到华为云云搜索服务,试用 Elasticsearch 集群,即可轻松搭建 ELK 日志平台。


云搜索服务是一个基于 Elasticsearch 且完全托管的在线分布式搜索服务,为用户提供结构化、非结构化文本的多条件检索、统计、报表。完全兼容开源 Elasticsearch 软件原生接口。


它可以帮助网站和 APP 搭建搜索框,提升用户寻找资料和视频的体验;还可以搭建日志分析平台,在运维上进行业务日志分析和监控,在运营上进行流量分析等等。


本文转载自华为云产品与解决方案公众号。


原文链接:https://mp.weixin.qq.com/s/gP07ObQBHfSnNrFlgN2SSg


2020-03-26 21:411742

评论

发布
暂无评论
发现更多内容

GetX 响应式状态管理简介

岛上码农

flutter ios 安卓 跨平台应用 6月月更

wapper解析

卢卡多多

6月月更

Jenkins 通过检查代码提交自动触发编译

HoneyMoose

Linux开发_采用线程处理网络请求

DS小龙哥

6月月更

DOM核心——Element类型

大熊G

JavaScript 前端 6月月更

linux几个不常用但是很有用的命令

入门小站

Linux

DOM

Jason199

DOM js 6月月更

远程办公三部曲 - 如何提高工作效率| 社区征文

耳东@Erdong

工作效率 远程办公 6月月更 初夏征文

scanf的使用,cin和scanf的区别

工程师日月

6月月更

在线多行文本行转列工具

入门小站

工具

JVM调优简要思想及简单案例-JVM分代模型

zarmnosaj

6月月更

初创公司,如何拥有企业级Java脚手架

昵称不能为null

Java脚手架 企业级代码架构

在线JSON转TSV工具

入门小站

工具

ImportSelector与DeferredImportSelector的区别(spring4)

程序员欣宸

Java spring SpringFramework 6月月更

解决k8s调度不均衡问题

劼哥stone

Kubernetes 云原生 调度 调度不均衡 kube-scheduler

【作业四 千万级学生管理系统的考试试卷存储方案】

wuli洋

Python 设计模式:原型模式

宇宙之一粟

设计模式 原型模式 6月月更

dart使用技巧集合【01】

坚果

6月月更

我理解的微服务 -- 读《微服务设计模式》总结

潜水员

golang 微服务

618战报销冠谜底:“收割机”联想屠榜背后的三大利器是什么?

脑极体

【Python技能树共建】字符编码与解码

梦想橡皮擦

Python 6月月更

redis内存优化

乌龟哥哥

6月月更

【愚公系列】2022年06月 通用职责分配原则(八)-中介原则

愚公搬代码

6月月更

课程背景

IT蜗壳-Tango

6月月更

面试突击58:truncate、delete和drop的6大区别

王磊

Java java常见面试题 常见面试题

《网络是怎么样连接的》读书笔记 - Tcp/IP连接(二)

懒时小窝

TCP 网络编程 IP

敲了几万行源码后,我给Mybatis画了张“全地图”

小傅哥

源码分析 面试 小傅哥 mybatis 大厂面试

echo命令实用技巧

Nick

Docker 镜像源 echo 6月月更 tldr

架构实战营模块4作业

挖了蘑菇哩斯

架构实战营 存储方案

uni-app进阶之生命周期【day8】

恒山其若陋兮

6月月更

【Spring 学习笔记(十四)】Spring AOP 通知中获取数据

倔强的牛角

Java spring 6月月更

智能运维—你的异常日志告警如何处理?_软件工程_华为云产品与解决方案_InfoQ精选文章