夜莺-Nightingale
夜莺V6
项目介绍 架构介绍
快速开始
黄埔营
安装部署
升级
采集器
使用手册
API
数据库表结构
FAQ
开源生态
Prometheus
版权声明
第1章:天降奇兵
第2章:探索PromQL
第3章:Prometheus告警处理
第4章:Exporter详解
第5章:数据与可视化
第6章:集群与高可用
第7章:Prometheus服务发现
第8章:监控Kubernetes
第9章:Prometheus Operator
参考资料

日志分析系统最佳实践

最佳实践

故障处理原则
  • 故障处理中的故障定位其实和根因分析有所不同,故障处理的原则是先止损后排查。
  • 故障定位的目的是分析故障特征或关键事件,找到特征/事件和止损方案的连接。只有上层的特征和事件分析没有明显输出的情况下,才需要逐步深入下钻。故障定位不是一开始就一味的花时间去找所谓的“根因”。

举例:如果一开始就判断异常特征集中在多活集群里的某个集群,则立即做流量调度切走这个集群的流量即可,无需在这个阶段深入去分析异常是为何出现。

最佳实践举例

日志分析系统的核心目的是提供故障特征分析的能力。
(1) 首先观察各主题已配置的维度,如发现该维度有明显异常特征,则可能很快可以确定止损动作,如:

  • 如发现异常都集中在某个集群,则通过流量调度即可快速止损;
  • 如发现异常都来源于某个流量渠道,则需要收敛到渠道的问题追查及和渠道方的沟通中;
  • 如发现异常都集中在调用某个外部通道,如微信/支付宝通道,则快速降级该通道即可;

(2) 如果大的维度上没有明显的特征,则需要对维度项上的特征做进一步的分析,如:

  • 观测异常是否集中在某几个维度项(观测三大黄金指标及错误码分布);
  • 针对异常明显维度项点击下钻查看相应接口的详情曲线、同环比特征、集群特征、错误码趋势;
  • 并在异常的曲线区间上点击,调出日志详情信息,查看日志错误信息,定位问题原因;

(3) 在日志详情页中还可增加观测的子维度,对维度项的异常特征进行分析,如:

  • 筛选出所有异常状态码+来源ip的维度,观测ip是否有聚集特征,如有则可能是受到的攻击,或有线下连到了线上的情况,可立即采取封禁措施止损;
  • 或筛选出异常状态码+App版本的维度,查看异常是否有版本的聚集特征,如有则在事件墙或和相关团队确认是否有App版本发布,并推进版本的回滚;

(4) 将核心的维度项作为灭火图和北极星的输入,用于生成北极星和灭火图的指标,在北极星和灭火图层面完成故障范围和影响程度的快速收敛。

进阶实践

目标:通过关键字段指定来增强特征分析和联动tracing的能力

完成以上工作,日志分析就具备了基本的分析能力。如果想要进一步增强特征分析和下钻分析的能力,可以参考本进阶部分的工作。

步骤:关键字段指定

关键字段的指定有三个地方:

  1. 日志接入的最后一步;
  2. 日志接入后对应的日志主题中;
  3. 能使用到该关键字段的产品功能点;

可以指定的字段包括三大类:

  1. 维度分析相关,如响应码字段、相应延迟字段、时间戳字段。
    指定后可在日志主题的首页查看维度分析的黄金指标和错误码分布;
  2. 串联打通相关,如日志中的traceID字段。
    指定后在日志分析侧拉板(点击维度项的指标曲线可调出)的日志原文上,可点击直接加载渲染tracing详情信息(前提:数据集成平台接入了tracing数据源,如skywalking、jeager等);
  3. 特征分析相关:系统默认引导用户指定remote_addr字段、local_addr字段、upstream_addr字段,及该关键字段可关联的仪表盘链接。用户可新增更多自定义的字段。
    指定后在日志分析侧拉板(点击维度项的指标曲线可调出),可观测指定字段的特征分析信息,并点击带参数跳转到相关的仪表盘做进一步的分析;

输出:完成关键字段的指定,并校验指定后的产品效果

开源版
Flashcat
Flashduty