写点什么

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

  • 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:411884

评论

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

【LeetCode】区域和检索 - 数组不可变Java题解

Albert

算法 LeetCode 28天写作

元宵节元宵钱,不买元宵买云资源! | 2核4G低至0.79元/天

京东科技开发者

云主机 云服务器 云存储 云硬盘

MySQL字段默认值设置详解

Simon

MySQL 数据库

树莓派上的温湿度环境监控

冯骐

运维 树莓派 物联网 监控告警

工作两三年了,整不明白架构图都画啥?

小傅哥

Java 后端 小傅哥 架构设计 画架构图

山东青岛推进平安小区建设!源中瑞智慧社区平台解决方案

源中瑞-龙先生

解决方案 山东 源中瑞 青岛 智慧社区

刷屏洗脑的“吗咿呀嘿”,到底是个啥?

架构精进之路

商业模式 28天写作 3月日更

构建一套适合微服务的高可用架构

环信

使用 pyVmomi 采集 vSphere 监控指标

冯骐

Python 运维 监控 Open-Falcon vpshere

程序员之禅(一)

每天读本书

读书笔记

EEPROM CAT24CXX实现分页读、写数据

不脱发的程序猿

28天写作 CAT24C08 EEPROM 嵌入式软件 单片机

Git学习游戏化,从Learn Git Branching 开始

程序老王

git 学习 学习方法 git 学习

海豚调度dolphinscheduler SQL脚本初始化流程

cloudcoder

海豚调度 调度引擎 分布式任务调度

极限编程技术实践

Teobler

敏捷 敏捷开发 TDD 重构 极限编程

华为云举办AI经典论文复现活动,打造领先AI开发者学习社区

华为云开发者联盟

AI 华为云 modelarts 论文 AI Gallery

程序员专属“灯谜”大挑战,答对六题算你赢!

京东科技开发者

编程语言 集群

QA视角看数据匿名化

BY林子

数据安全 测试右移 用户数据 数据脱敏

国产芯片WiFi物联网智能插座—电耗采集功能设计

不脱发的程序猿

28天写作 国产芯片 电耗检测 电压电流 华大MCU

android程序开发!2021Android精选面试实战总结整理,大厂直通车!

欢喜学安卓

android 程序员 面试 移动开发

GaussDB(DWS):非侵入式备份及其在NBU上的应用

华为云开发者联盟

架构 GaussDB 集群 备份 NBU

看完你就明白什么是图神经网络

华为云开发者联盟

神经网络 深度学习 节点 图神经网络 图结构

树莓派上的家庭监控中心

冯骐

运维 树莓派 监控系统 Open-Falcon 物联网,

MongoDB 在评论中台的实践

vivo互联网技术

数据库 mongodb 分布式 集群

Wiki.js 配置 LDAP 认证

东风微鸣

wiki

技术案例 | 云原生微服务落地难?百度自用CRM这样做

百度开发者中心

微服务 CRM #百度智能云#

OS命令--shell中数组的操作

cloudcoder

数组 Shell 循环引用

华为云原生数据仓库GaussDB(DWS)深度技术解读:融、快、大、稳、易

华为云开发者联盟

数据库 云原生 华为云 GaussDB 数仓

Linux入门篇 —— Linux 磁盘管理之磁盘理论篇

若尘

Linux linux编程 磁盘

搭建一个 802.1x 的 web 测试服务

冯骐

网络 监控系统 Open-Falcon radius eduroam

LeetCode题解:123. 买卖股票的最佳时机 III,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

android布局优化!Android屏幕适配很难嘛?其实也就那么回事,内含福利

欢喜学安卓

android 程序员 面试 移动开发

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