天天看点

CNCF 监控和日志学习

监控

监控类型

1 资源:C\M\N\DISK IO

2 性能监控:应用内部监控,通常通过hook

3 安全监控

4 事件监控:event

监控演进

1 从heapster到metricsServer

2 本质上heapstar性能好,但metricsServer方便使用

3 把 Heapster 进行了裁剪,去掉sink和数据保存,转化成了 metrics-server

metrics Server

内部组成

1 core

2 API

3 API registration

4 source

  • 4.1 summary

    4.2 manager

interface

1 resources metrics

  • 1.1 API: metrics.k8s.io
  • 1.2 提供资源监控

2 custom metrics

  • 2.1 custom.metrics.k8s.io
  • 2.2 为prometheus 提供资源监控和自定义监控

3 external.metrics.k8s.io

  • 3.1 external metrics.k8s.io

    3.2 云厂商提供的provider,提供底层云资源的监控指标

prometheus

1 prometheus operator的使用

2 pushgateway :short-lived jobs 主动推送到gateway ,以方便prometheus采集

3 可以级联采集:prometheus 采集另外prometheus server

阿里云容器服务的监控方案

1 云监控

2 ARMS性能监控

3 AHAS架构感知监控

4 托管Prometheus资源监控

开源工具

kube-eventer

1 发送event 告警消息到sink

2 dingtalk

3 sls

4 elasticsearch

5 honeycomb

6 influxdb

7 kafka

8 mysql

9 wechat

log

1 类型和场景

1.1 主机内核log

  • 1.2 主机内核的日志,主机内核日志可以协助开发者进行一些常见的问题与诊断,如 iptables mark

    1.3 驱动异常,比较常见的是一些网络方案里面有的时候可能会出现驱动异常,或者说是类似 GPU 的一些场景,驱动异常可能是比较常见的一些错误;

    1.4 文件系统异常,

    1.5 节点异常,比如说内核里面的一些 kernel panic,或者是一些 OOM,这些也会在主机日志里面有相应的一些反映。

2 runtime log

  • 2.1 docker

    2.2 flannel?

3 核心组件日志

  • 3.1 API server 日志-用于audit

    3.2 scheduler 用于诊断调度

    3.3 etcd 查看存储states

    3.4 ingress 日志分析流量

4 应用日志

采集模式

  • 宿主机文件
  • 容器内文件:sidecar模式
  • 容器标准、错误输出
  • fluentd模式

fluentdbit(data collection)- fluentd(data aggregation & processing)-indexing stroage-analysis&visualiztion