17做網(wǎng)站廣州沙河品牌營銷策劃方案怎么做才好
目錄
一、CIG說明
1. CAdvisor
2.?InfluxDB
3. Grafana
二、環(huán)境搭建
1. 創(chuàng)建目錄
2. 編寫 docker-compose.yml
3. 檢查并運(yùn)行容器
三、進(jìn)行測(cè)試
1. 查看?influxdb 存儲(chǔ)服務(wù) 是否能正常訪問
2. 查看?cAdvisor?收集服務(wù)能否正常訪問
3. 查看 grafana?展現(xiàn)服務(wù),并且配置展現(xiàn)模板
1. 進(jìn)行登錄
2 .配置數(shù)據(jù)源
3.?配置面板panel
一、CIG說明
由 CAdvisor+InfluxDB+Granfana 組成的CIG的監(jiān)控。
1. CAdvisor
CAdvisor 是由 Google 開源的一個(gè)用于監(jiān)控容器資源使用情況的工具。它能夠?qū)崟r(shí)收集 Docker 容器的 CPU 使用率、內(nèi)存使用量、磁盤 I/O、網(wǎng)絡(luò)流量 等指標(biāo),并將這些數(shù)據(jù)暴露為 Prometheus 格式的監(jiān)控端點(diǎn),供 Prometheus 或其他監(jiān)控系統(tǒng)使用。cAdvisor 還提供了一個(gè)簡單的 Web 界面,可以用于實(shí)時(shí)查看容器的監(jiān)控?cái)?shù)據(jù)。
2.?InfluxDB
InfluxDB 是一個(gè)開源的時(shí)序數(shù)據(jù)庫,專門設(shè)計(jì)用于處理時(shí)間序列數(shù)據(jù)。在 CIG 監(jiān)控系統(tǒng)中,InfluxDB 用于存儲(chǔ)由 cAdvisor 收集的容器監(jiān)控?cái)?shù)據(jù)。用戶可以通過查詢 InfluxDB 數(shù)據(jù)庫來獲取 歷史的容器監(jiān)控指標(biāo),并利用其強(qiáng)大的時(shí)序查詢語言進(jìn)行數(shù)據(jù)分析和可視化。
3. Grafana
Grafana 是一個(gè)開源的數(shù)據(jù)可視化工具,用于創(chuàng)建、查看和共享監(jiān)控儀表盤。在 CIG 監(jiān)控系統(tǒng)中,Grafana 與 InfluxDB 集成,可以直接從 InfluxDB 中查詢?nèi)萜鞅O(jiān)控?cái)?shù)據(jù),并通過可視化方式展示在用戶界面上。用戶可以根據(jù)自己的需求定制儀表盤,選擇合適的 圖表類型、添加 告警規(guī)則,并將儀表盤分享給其他用戶。
????????通過將 cAdvisor、InfluxDB 和 Grafana 這三個(gè)組件結(jié)合在一起,用戶可以構(gòu)建一個(gè)強(qiáng)大而靈活的容器監(jiān)控系統(tǒng),實(shí)現(xiàn)對(duì) Docker 容器的全面監(jiān)控和管理。該系統(tǒng)具有 實(shí)時(shí)性、可擴(kuò)展性 和 易用性 等特點(diǎn),適用于各種規(guī)模的容器化環(huán)境。
二、環(huán)境搭建
1. 創(chuàng)建目錄
mkdir /mydocker/cig
cd /mydocker/cig
2. 編寫 docker-compose.yml
vim docker-compose.yml
version: '3.1'volumes:grafana_data: {}services:influxdb:image: tutum/influxdb:0.9restart: alwaysenvironment:- PRE_CREATE_DB=cadvisorports:- "8083:8083"- "8086:8086"volumes:- ./data/influxdb:/datacadvisor:image: google/cadvisorlinks:- influxdb:influxsrvcommand: -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxdb:8086restart: alwaysports:- "8080:8080"volumes:- /:/rootfs:ro- /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:rografana:user: "104"image: grafana/grafanauser: "104"restart: alwayslinks:- influxdb:influxsrvports:- "3000:3000"volumes:- grafana_data:/var/lib/grafanaenvironment:- HTTP_USER=admin- HTTP_PASS=admin- INFLUXDB_HOST=influxsrv- INFLUXDB_PORT=8086- INFLUXDB_NAME=cadvisor- INFLUXDB_USER=root- INFLUXDB_PASS=root
ps:配置注釋
version: '3.1'volumes:grafana_data: {} # 定義 Grafana 數(shù)據(jù)卷,用于持久化數(shù)據(jù)services:influxdb:image: tutum/influxdb:0.9 # 使用 InfluxDB 0.9 版本鏡像restart: always # 總是重啟容器environment:- PRE_CREATE_DB=cadvisor # 預(yù)創(chuàng)建名為 cadvisor 的數(shù)據(jù)庫ports:- "8083:8083" # InfluxDB Web 可視化頁面端口- "8086:8086" # InfluxDB API 端口volumes:- ./data/influxdb:/data # 掛載 InfluxDB 數(shù)據(jù)到本地目錄cadvisor:image: google/cadvisor # 使用 Google/cAdvisor 鏡像links:- influxdb:influxsrv # 鏈接到 InfluxDB 服務(wù)command: -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxdb:8086 # 定義 cadvisor 啟動(dòng)命令restart: always # 總是重啟容器ports:- "8080:8080" # cAdvisor 端口volumes:- /:/rootfs:ro # 掛載根目錄為只讀- /var/run:/var/run:rw # 掛載/var/run目錄為讀寫- /sys:/sys:ro # 掛載/sys目錄為只讀- /var/lib/docker/:/var/lib/docker:ro # 掛載/var/lib/docker目錄為只讀grafana:user: "104" # 指定容器用戶image: grafana/grafana # 使用 Grafana 鏡像restart: always # 總是重啟容器links:- influxdb:influxsrv # 鏈接到 InfluxDB 服務(wù)ports:- "3000:3000" # Grafana 端口volumes:- grafana_data:/var/lib/grafana # 掛載 Grafana 數(shù)據(jù)到數(shù)據(jù)卷environment:- HTTP_USER=admin # 設(shè)置 Grafana 登錄用戶名- HTTP_PASS=admin # 設(shè)置 Grafana 登錄密碼- INFLUXDB_HOST=influxsrv # 設(shè)置 InfluxDB 主機(jī)- INFLUXDB_PORT=8086 # 設(shè)置 InfluxDB 端口- INFLUXDB_NAME=cadvisor # 設(shè)置 InfluxDB 數(shù)據(jù)庫名稱- INFLUXDB_USER=root # 設(shè)置 InfluxDB 用戶名- INFLUXDB_PASS=root # 設(shè)置 InfluxDB 密碼
ps:如果出錯(cuò)記得檢查是否有空格沒有刪除
3. 檢查并運(yùn)行容器
# 檢查配置,有問題才有輸出
docker compose config -q
# -d 后臺(tái)啟動(dòng)
docker compose up -d
檢查容器是否正常啟動(dòng)
docker ps
# 如果運(yùn)行出錯(cuò)別忘記了查看日志
docker logs 【容器名稱/容器ID】
三、進(jìn)行測(cè)試
1. 查看?influxdb 存儲(chǔ)服務(wù) 是否能正常訪問
http://192.168.xxx.xxx:8083/
進(jìn)入之后查看我們?cè)?docker-compose.yml 配置文件中默認(rèn)創(chuàng)建的數(shù)據(jù)庫是否已經(jīng)創(chuàng)建
Show databases
2. 查看?cAdvisor?收集服務(wù)能否正常訪問
http://192.168.xxx.xxx:8083/
3. 查看 grafana?展現(xiàn)服務(wù),并且配置展現(xiàn)模板
1. 進(jìn)行登錄
grafana?默認(rèn)帳戶密碼(admin/admin),在登錄之后需要設(shè)置一個(gè)新的密碼。
http://192.168.xxx.xxx:3000/
2 .配置數(shù)據(jù)源
找到?InfluxDB 數(shù)據(jù)庫
填寫數(shù)據(jù)源鏈接?http://influxdb:8086
然后向下滑動(dòng),配置數(shù)據(jù)庫連接賬號(hào)密碼。
- Database:cadvisor
- User:root
- Password:root
在 docker-compose.yml 配置文件中在創(chuàng)建 influxdb 時(shí)創(chuàng)建
3.?配置面板panel
FROM:cpu_usage_total(Grafana會(huì)自動(dòng)獲取InfluxDB數(shù)據(jù)庫中的元數(shù)據(jù),可以直接選擇對(duì)應(yīng)表名)
WHERE:添加一個(gè)條件,container_name=/
ALIAS:配置一個(gè)別名,CPU使用情況匯總