监控
监控类型
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