Skywalking 应用性能监控和可观测性分析平台 简介
Skywalking 应用性能监控和可观测性分析平台 简介应用性能监控(Application Performance Monitor, APM)一、系统观察性问题一次调用到底穿越了几个服务在处理这次请求的时候每个服务到底做了什么操作如果请求变慢了瓶颈在哪里如果请求失败了到底是哪个服务或服务中的哪个部分出了问题二、设计目标监控系统作为二线甚至三线系统应该利用有限的环境资源提供尽可能大的监控价值同时尽可能降低对于运维的要求。利于二次开发和集成使用上是无代码侵入的而这种无侵入的自动埋点基于 Java 的 JavaAgent 技术。为不同的技术栈提供统一的监控能力更有利于公司在未来系统架构升级中保持监控系统的一致性。不是一个单纯的追踪系统支持轻量级分析拓扑图、应用性能指标等功能。三、技术要求命名空间每个小组或公司掌管着不同的部分他们不希望也不应该共享他们的度量值。支持部署在物理机、虚拟机或者Kubernetes集群中支持ZooKeeper、Consul、Nacos和etcd中的一种集群管理工具。JDK 需要 JDK 8 及以上版本不仅有 Java Agent 探针还需要多种语言PHP、C#、Node.js、Go等的探针。支持的存储有Elasticsearch 6、MySQL。目前Elasticsearch也是大多数场景所使用的的存储形式Elasticsearch 集群可以方便地管理和水平扩展能够适应不同条件下监控数据量不同的业务场景。对远程过程调用框架支持的范围如Apache Dubbo、gRPC和Spring Cloud等。四、监控指标服务数量、平均延迟、吞吐量、服务质量、延迟等高线和 TopN 指标等。各种维度的p99/p95/p90/p75/p50例如p99200ms代表99%的请求响应时间可以小于等于200ms。请求成功率、请求错误率。拓扑图服务依赖关系Trace视图Trace是分布式追踪的典型视图。数据库响应时间、成功率、慢SQL。Kafka、RocketMQ这些常见的队列都是高性能数据处理的重要手段。可以追踪到数据是如何写入到队列中又是如何被消费掉的。对内存型数据库Redis、文档型数据库MongoDB的支持。在数据库驱动内植入相关插件来检查客户端对数据库的访问并没有侵入数据库服务端。五、告警功能当告警规则达到触发条件后需要将告警信息发送到用户指定的 Web 服务上。例如我们可能决定采用这样的SLO平均查询请求延迟时间应小于100ms。设置SLO时要充分与用户积极沟通设置合理的目标。用户对性能往往存在过于理想化的需求如果没有设置目标的过程非常容易得到一个不切实际的性能目标甚至性能目标会与系统的设计和维护目标背道而驰。

相关新闻