docker容器監控系統
阿新 • • 發佈:2021-10-27
Cadvisor+InfluxDB+Grafana
Cadvisor
Cadvisor是檢測單節點資源資訊的工具,提供了一個http介面的查詢介面,可以和其他工具整合使用,Cadvisor既可以採集宿主機還可以採集容器的資源資料進行事實監控,包括,CPU,記憶體,網路,等等,利用linux的Cgroups獲取容器的資源資訊
k8s的各個節點預設安裝Cadvisor
特點
- 可以展示主機和容器兩個層次的監控資料
- 可以展示歷史變化資料
- 監控指標齊全
- 方便部署,將官方的映象直接下載使用
- 預設只會在本地儲存一分鐘資料,需要第三方儲存
因為它的介面太過於簡陋,需要第三方工具加工使用,並且只能監控一個節點,有多少個就要安裝多少個,等等,所以總的來說它只適合於監控資料收集,需要第三方工具加工處理
InfluxDB
InfluxDB是一個開源的非關係時序型資料庫,主要用於高效能查詢與儲存時序型資料,InfluxDB用於儲存系統的監控資料。
主要功能
- 基於時間序列,支援時間有關的函式命令
- 可度量性:可以實時對大量資料計算
- 基於事件:支援任意事件資料
特點
- 無結構(無模式):可以是任意數量的列
- 支援擴充套件
- 支援時間等函式使用
- 自帶管理介面
- 強大的類SQL語句
Grafana
Grafana是一個視覺化面板工具,可以從Graphite,zabbix,InfluxDB,Prometheus等元件提取資料展示
特點
- nb的圖形化
- 支援多個數據源
監控元件架構
Cadvisor使用者資料採集,InfluxDB用於資料儲存,Grafana用於資料展示
監控元件構架部署方案
需要上述三個映象 [root@localhost ~]# docker load < cadvisor.tar [root@localhost ~]# docker load < influxdb.tar [root@localhost ~]# docker load < grafana.tar [root@localhost ~]# docker load < prometheus.tar #建立自定義網路 [root@localhost ~]# docker network create monitor [root@localhost ~]# docker network ls 5fe0ef94b68a monitor bridge local #建立InfluxDB容器 [root@localhost ~]# docker run -d --name influxdb --net monitor -p 8083:8083 -p 8086:8086 tutum/influxdb [root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f8304d8dc5e1 tutum/influxdb "/run.sh" 54 seconds ago Up 52 seconds 0.0.0.0:8083->8083/tcp, :::8083->8083/tcp, 0.0.0.0:8086->8086/tcp, :::8086->8086/tcp influxdb #-d:後臺執行容器 #--name:啟動容器分配名字:influxdb #--net:將容器加入到新的網路monitor #-p:對映埠:8083後臺控制埠,8086資料埠 #此時可以訪問頁面使用8083後臺控制埠
建立Cadvisor容器