监控方案调研

容器监控

Why?How? What?

考虑因素

监控对象是什么?监控哪些指标?从哪些维度监控?

从全局,机房,机架,物理机,虚拟机,容器实例,服务本身等多个维度。

基础监控:

  1. CPU
  2. 磁盘
  3. 内存
  4. 网络
  5. 系统调用
  6. 上下文切断
  7. 等等

日志汇总:

  1. 错误告警

服务调用:

  1. 请求量
  2. 响应时间:平均,最小,最大,P90,P95,P99,区间
  3. 错误率
  4. 调用链
  5. 调用拓扑图

架构

  1. 数据采集:推,拉,关键在于控制采样率
  2. 数据传输: 传输方式(UDP,TCP,消息队列),传输格式(二进制,文本)
  3. 数据处理:分析,存储(时序数据库,索引数据库 )
  4. 数据展示:多维度展示(曲线图,饼状图,格子图,柱状图),告警

可选方案

基础监控:
  1. 采集:Telegraf,collectd,slfow,nagios,sensu,riemann,
  2. 传输:TCP,UDP,HTTP
  3. 分析:Kapacitor
  4. 存储:InfluxDB,timeScale
  5. 展示:grafana(优选),chronograf
服务追踪

Google Dapper, Naver Pinpoint, opentracing, 大众 CAT,Twitter Zipkin,阿里鹰眼,美团 MTrace

  1. 采集: jmx, 埋点,代理,服务接口,字节码注入
  2. 传输:http,消息队列(Kafaka,RabbitMQ)
  3. 分析:实时(storm,spark,flink),离线(hadoop)
  4. 存储:HBase,Cassandra,Mysql,Elasticsearch
  5. 展示:
日志汇总
  1. 采集:fluentd,logstash,rsyslog,syslog,Beats
  2. 传输:TCP,UDP,消息队列(kafaka,rabbitmq)
  3. 分析:ElasticSearch
  4. 存储:
  5. 展示:Kibana
Graphite

收集( StatsD,Carbon),存储,Graphite-Web。

  1. Whisper 简单的时序数据库,不适合大数据量,不支持灵活查询语句
  2. Graphite-Web 支持正则表达式,函数。
Prometheus
  1. PromQL 查询语言
TICK Stack
  1. InfluxDB 支持类 SQL 的查询语句

其中只有 Prometheus 是拉模式,其余都是推模式。

名称功能完整度成熟度活跃度用户数定制成本维护成本行业标准备注

服务追踪

优点:

  1. 找到系统瓶颈
  2. 优化链路调用:定位跨机房、区域调用导致的问题,循环调用
  3. 生成网络拓扑

可选方案

OpenZipkin

  1. 社区活跃度高
  2. 功能:多语言支持,指标简单
  3. 维护性:集成难度高,定制难度低
  4. 规范:没有遵循 opentracing

pinpoint

  1. 功能:只支持 Java,指标详尽
  2. 维护成本:集成简单,定制难
  3. 规范:没有遵循 opentracing

skywalking

Jaeger

名称功能完整度成熟度活跃度用户数定制成本维护成本行业标准备注
PinPoint
OpenZipkin
skywalking
Jaeger

参考

https://www.ibm.com/developerworks/cn/cloud/library/cl-lo-prometheus-getting-started-and-practice/index.html

附录

选项考虑因素

  1. 功能完整度
  2. 成熟度
  3. 活跃度
  4. 用户数
  5. 定制成本
  6. 维度成本
  7. 是否实现相关行业标准
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值