天天看點

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