微服务和k8s集群监控

微服务监控:pinpoint

Pinpoint主要特性

分布式事务跟踪,跟踪跨分布式应用的消息。
自动检测应用拓扑,帮助你搞清楚应用的架构。
水平扩展以便支持大规模服务器集群。
提供代码级别的可见性以便轻松定位失败点和瓶颈。
使用字节码增强技术,添加新功能而无需修改代码。

Pinpoint优势

无入侵:采用字节码增强技术,新增功能无需修改代码。
性能高:对性能的影响非常小(资源使用量最小仅增加3%),异步数据传输,采用UDP协议让出网络连接优先级。

k8s集群监控:Prometheus/Thanos

Prometheus 几乎已成为监控领域的事实标准,它自带高效的时序数据库存储,可以让单台 Prometheus 能够高效的处理大量的数据,还有友好并且强大的 PromQL 语法,可以用来灵活的查询各种监控数据以及配置告警规则,同时它的 pull 模型指标采集方式被广泛采纳,非常多的应用都实现了 Prometheus 的 metrics 接口以暴露自身各项数据指标让 Prometheus 去采集,很多没有适配的应用也会有第三方 exporter 帮它去适配 Prometheus,所以监控系统我们通常首选用 Prometheus。

Prometheus 本身只支持单机部署,没有自带支持集群部署,需要做一些集群优化:

  • 从服务维度拆分 Prometheus
  • 大规模类型的服务做分片
  • Prometheus数据远程存储
  • Prometheus 双副本高可用

Thanos 的云原生部署方式,充分利用 Kubernetes 的资源调度与动态扩容能力。kube-thanos是Thanos 官方的开源项目,包含部署 thanos 到 kubernetes 的 jsonnet 模板与 yaml 示例。

Reference

[pinpoint-数据结构]((http://a-ray-of-sunshine.github.io/2016/12/19/pinpoint-%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/)
[使用python3抓取pinpoint应用信息入库]((https://yq.aliyun.com/articles/690351)
[打造云原生大型分布式监控系统]((https://zhuanlan.zhihu.com/p/118198852)

你可能感兴趣的:(微服务和k8s集群监控)