做圖表用的網(wǎng)站優(yōu)化seo軟件
1、Portainer
概念介紹
Portainer是一款輕量級(jí)的應(yīng)用,它提供了圖形化界面,用于方便地管理Docker環(huán)境,包括單機(jī)環(huán)境和集群環(huán)境。
Portainer分為開源社區(qū)版(CE版)和商用版(BE版/EE版)。
Portainer也是一個(gè)Docker鏡像,可以直接使用Docker運(yùn)行。
安裝部署
# 舊版鏡像地址為portainer/portainer,從2022年1月過期,新版鏡像地址為portainer/portainer-ce# --restart=always 如果Docker引擎重啟了,這個(gè)容器實(shí)例也會(huì)在Docker引擎重啟后重啟,類似開機(jī)自啟
docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data portainer/portainer-ce:2.13.0-alpine
訪問測試:http://xxx.xxx.xxx.xxx:9000,首次進(jìn)來時(shí),需要?jiǎng)?chuàng)建 admin 的用戶名(默認(rèn)admin
)、密碼
2、CIG
概念介紹
通過docker stats
命令可以很方便的查看當(dāng)前宿主機(jī)上所有容器的CPU、內(nèi)存、網(wǎng)絡(luò)流量等數(shù)據(jù),可以滿足一些小型應(yīng)用。
但是 docker stats
統(tǒng)計(jì)結(jié)果只能是當(dāng)前宿主機(jī)的全部容器,數(shù)據(jù)資料是實(shí)時(shí)的,沒有地方存儲(chǔ)、沒有健康指標(biāo)過線預(yù)警等功能。
CAdvisor(監(jiān)控收集) + InfluxDB(存儲(chǔ)數(shù)據(jù)) + Granfana(展示圖表),合稱 CIG
。
CAdvisor
CAdvisor是一個(gè)容器資源監(jiān)控工具,包括容器的內(nèi)存、CPU、網(wǎng)絡(luò)IO、磁盤IO等監(jiān)控,同時(shí)提供了一個(gè)Web頁面用于查看容器的實(shí)時(shí)運(yùn)行狀態(tài)。
CAdvisor默認(rèn)存儲(chǔ)2分鐘的數(shù)據(jù),而且只是針對(duì)單物理機(jī)。不過CAdvisor提供了很多數(shù)據(jù)集成接口,支持 InfluxDB、Redis、Kafka、Elasticsearch等集成,可以加上對(duì)應(yīng)配置將監(jiān)控?cái)?shù)據(jù)發(fā)往這些數(shù)據(jù)庫存儲(chǔ)起來。
CAdvisor主要功能:
- 展示Host和容器兩個(gè)層次的監(jiān)控?cái)?shù)據(jù)
- 展示歷史變化數(shù)據(jù)
InfluxDB
InfluxDB是用Go語言編寫的一個(gè)開源分布式時(shí)序、事件和指標(biāo)數(shù)據(jù)庫,無需外部依賴。
CAdvisor默認(rèn)只在本機(jī)保存2分鐘的數(shù)據(jù),為了持久化存儲(chǔ)數(shù)據(jù)和統(tǒng)一收集展示監(jiān)控?cái)?shù)據(jù),需要將數(shù)據(jù)存儲(chǔ)到InfluxDB中。InfluxDB是一個(gè)時(shí)序數(shù)據(jù)庫,專門用于存儲(chǔ)時(shí)序相關(guān)數(shù)據(jù),很適合存儲(chǔ) CAdvisor 的數(shù)據(jù)。而且 CAdvisor本身已經(jīng)提供了InfluxDB的集成方法,在啟動(dòng)容器時(shí)指定配置即可。
InfluxDB主要功能:
- 基于時(shí)間序列,支持與時(shí)間有關(guān)的相關(guān)函數(shù)(如最大、最小、求和等)
- 可度量性,可以實(shí)時(shí)對(duì)大量數(shù)據(jù)進(jìn)行計(jì)算
- 基于事件,支持任意的事件數(shù)據(jù)
Granfana
Grafana是一個(gè)開源的數(shù)據(jù)監(jiān)控分析可視化平臺(tái),支持多種數(shù)據(jù)源配置(支持的數(shù)據(jù)源包括InfluxDB、MySQL、Elasticsearch、OpenTSDB、Graphite等)和豐富的插件及模板功能,支持圖表權(quán)限控制和報(bào)警。
Granfana主要功能:
- 靈活豐富的圖形化選項(xiàng)
- 可以混合多種風(fēng)格
- 支持白天和夜間模式
- 多個(gè)數(shù)據(jù)源
安裝 CIG
編寫docker-compose.yml
服務(wù)編排文件
version: '3.1'volumes:grafana_data: {}services:influxdb:image: tutum/influxdb:0.9restart: alwaysenvironment:- PRE_CREATE_DB=cadvisorports:- "8083:8083" # 數(shù)據(jù)庫web可視化頁面端口- "8086:8086" # 數(shù)據(jù)庫端口volumes:- ./data/influxdb:/datacadvisor:image: google/cadvisor:v0.32.0links:- influxdb:influxsrvcommand:- -storage_driver=influxdb- -storage_driver_db=cadvisor- -storage_driver_host=influxsrv:8086restart: alwaysports:- "8080:8080"volumes:- /:/rootfs:ro- /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:rografana:image: grafana/grafana:8.5.2user: '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
# 檢查語法
docker-compose config -q# 創(chuàng)建并啟動(dòng)容器
docker-compose up -d
在瀏覽器打開InfluxDB數(shù)據(jù)庫的頁面: http://xx.xx.xx.xx:8083,使用命令查看當(dāng)前數(shù)據(jù)庫中的數(shù)據(jù)庫實(shí)例:
# 查看其中是否自動(dòng)創(chuàng)建了我們?cè)谂渲梦募信渲玫?cadvisor 數(shù)據(jù)庫實(shí)例
SHOW DATABASES
在瀏覽器打開CAdvisor頁面:http://xx.xx.xxx.xxx8080/,查看當(dāng)前docker中的cpu、內(nèi)存、網(wǎng)絡(luò)IO等統(tǒng)計(jì)信息
在瀏覽器打開Grafana頁面:http://xxx.xxx.xxx.xxx:3000/,默認(rèn)用戶名密碼是:admin
/admin
。
3、配置 Grafana
添加數(shù)據(jù)源
在Configuration
(小齒輪)選項(xiàng)卡中,選擇Data Sources
,添加一個(gè)InfluxDB數(shù)據(jù)源:
- name:自定義一個(gè)數(shù)據(jù)源名稱,例如
InfluxDB
- Query Language:查詢語言,默認(rèn)
InfluxQL
即可 - URL:根據(jù)compose中的容器服務(wù)名連接,
http://influxdb:8086
- database:我們?cè)贗nfluxDB中創(chuàng)建的數(shù)據(jù)庫實(shí)例,
cadvisor
- User:InfluxDB的默認(rèn)用戶,
root
- Password:
root
保存并測試,可以連通即可
添加工作臺(tái)
在Create
(加號(hào))選項(xiàng)卡中,選擇創(chuàng)建 Dash Board
工作臺(tái)。右上角配置中可以配置創(chuàng)建出來的工作臺(tái)的標(biāo)題、文件夾等信息。
在創(chuàng)建出來的工作臺(tái)中,選擇Add panel
中的Add a new panel
添加一個(gè)新的面板。
- 在右上角
Time series
(時(shí)序圖)位置可以切換展示的圖表樣式(柱狀圖、儀表盤、表格、餅圖等等) - 右側(cè)邊欄為該圖表配置相關(guān)信息:標(biāo)題、描述
- 圖表下方可以配置該圖表展示的數(shù)據(jù)的查詢語句,例如:
FROM:cpu_usage_total(Grafana會(huì)自動(dòng)獲取InfluxDB數(shù)據(jù)庫中的元數(shù)據(jù),可以直接選擇對(duì)應(yīng)表名)
WHERE:添加一個(gè)條件,container_name=cig-cadvisor-1
ALIAS:配置一個(gè)別名,CPU使用情況匯總