監控
監控類型
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