91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CAdvisor + InfluxDB + Grafana是怎么搭建Docker容器監控系統

發布時間:2021-12-08 15:35:37 來源:億速云 閱讀:247 作者:柒染 欄目:大數據

CAdvisor + InfluxDB + Grafana是怎么搭建Docker容器監控系統,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

利用docker compose組合應用并利用scale可以快速對容器進行擴充,而docker compose啟動的服務容器都在同一臺宿主機上,對于一個宿主機上運行多個容器應用時,容器的運行情況,如:CPU使用率,內存使用率,網絡狀態,磁盤空間等一系列隨時間變化的時序數據信息,都需要進行了解,因此監控是必須的。

容器監控方案選擇

對于容器的監控方案可謂多種多樣,除了docker本身自帶的 docker stats 命令,還有Scout,Data Dog,Sysdig Cloud,Sensu Monitoring Framework,CAdvisor等都可以對容器進行監控。

通過 docker stats 命令可以很方便的看到當前宿主機上所有容器的CPU,內存,以及網絡流量等數據。但 docker stats 命令的缺點是只是統計當前宿主機的所有容器,獲取的數據是實時的,沒有地方存儲,也沒有報警功能。

CAdvisor + InfluxDB + Grafana是怎么搭建Docker容器監控系統

而Scout,Data Dog,Sysdig Cloud雖然都提供了較完善的服務,但是它們都是托管的服務且都是收費的,Sensu Monitoring Framework集成度較高,也免費,但是部署過于復雜,綜合考慮選擇CAdvisor做監控工具。

CAdvisor出自Google,優點是開源產品,監控指標齊全,部署方便,而且有官方的docker鏡像。缺點是集成度不高,默認只在本地保存2分鐘數據。不過,可以加上InfluxDB存儲數據,對接Grafana展示圖表,比較便利搭建容器監控系統,數據收集和圖表展示效果良好,對系統性能也幾乎沒什么影響。

CAdvisor + InfluxDB + Grafana搭建容器監控系統

CAdvisor

CAdvisor是一個容器資源監控工具,包括容器的內存,CPU,網絡IO,磁盤IO等,同時提供了一個WEB頁面用于查看容器的實時運行狀態。CAdvisor默認存儲2分鐘的數據,而且只是針對單物理機,不過,CAdvisor提供了很多數據集成接口,支持InfluxDB,Redis,Kafka,Elasticsearch等集成,可以加上對應配置將監控數據發往這些數據庫存儲起來。

CAdvisor功能主要有兩點,展示Host,容器兩個層次的監控數據和展示歷史變化

InfluxDB

InfluxDB是用Go語言編寫的一個開源分布式時序,事件和指標數據庫,無需外部依賴。

由于CAdvisor默認只在本地保存最近2分鐘的數據,為了持久化數據和統一收集展示監控數據,需要將數據存儲到InfluxDB中。InfluxDB是一個時序數據庫,專門用于存儲時序相關數據,很適合存儲CAdvisor數據,而且CAdvisor本身提供了InfluxDB集成的方法,在啟動容器時指定配置即可。

InfluxDB主要功能:

  • 基于時間序列,支持與時間有關的相關函數

  • 可度量性,可以實時對大量數據進行計算

  • 基于事件,支持任意的事件數據

InfluxDB主要特點:

  • 無結構

  • 可以是任意數量的列

  • 可拓展

  • 支持min,max等一系列的函數,方便統計

  • 原生的HTTP支持,內置HTTP API

  • 強大的類SQL語法

Granfana

Grafana是一個開源的數據監控分析可視化平臺,支持多種數據源配置(如InfluxDB,MySQL,Elasticserach,OpenTSDB,Graphite等)和豐富的插件及模板功能,支持圖表權限控制和報警。

Grafana主要特點

  • 靈活豐富的圖形化選項

  • 可以混合多種風格

  • 支持白天和夜間模式

  • 多數據源

CAdvisor負責收集容器隨時間變化的數據

InfluxDB負責存儲時序數據

Grafana負責分析和展示時序數據

安裝部署

部署InfluxDB服務

啟動InfluxDB的服務容器:

docker run -d --name influxdb -p 8086:8086 \
-v /data/influxdb:/var/lib/influxdb \
--hostname influexdb \
influxdb

在容器中創建test數據庫和root用戶

docker exec -it influxdb influx
> CREATE DATABASE "test"
> CREATE USER "root" WITH PASSWORD 'root' WITH ALL PRIVILEGES

CAdvisor + InfluxDB + Grafana是怎么搭建Docker容器監控系統

部署CAdvisor

啟動CAdvisor的服務容器:

docker run \
 --volume=/:/rootfs:ro \
 --volume=/var/run:/var/run:ro \
 --volume=/sys:/sys:ro \
 --volume=/var/lib/docker/:/var/lib/docker:ro \
 --volume=/dev/disk/:/dev/disk:ro \
 --publish=8080:8080 \
 --detach=true \
 --name=cadvisor \
 google/cadvisor:latest \
 -storage_driver=influxdb \
 -storage_driver_host=influxdb:8086 \
 -storage_driver_db=test \
 -storage_driver_user=root \
 -storage_driver_password=root

服務容器起來后可通過瀏覽器訪問 http:///ip:8080

CAdvisor + InfluxDB + Grafana是怎么搭建Docker容器監控系統

部署Grafana

啟動Grafana服務容器:

docker run -d -p 3000:3000 \
-v /data/grafana:/var/lib/grafana \
--link=influxdb:influxdb \
--name grafana grafana/grafana

直接運行該命令后有可能會發現容器并沒有啟起來,通過 docker logs 命令會發現”mkdir: can’t create directory ‘/var/lib/grafana/plugins’: Permission denied“的錯誤,其實就是沒有 數據卷對應的主機上 /data/grafana 的權限,可以在運行啟動命令前先創建 /data/grafana 目錄并給定權限777,或者通過”docker run —entrypoint “id” grafana/grafana“ 查看uid,gid,groups (默認為472),然后通過”chown -R 472:472 /data/grafana“修改權限。

CAdvisor + InfluxDB + Grafana是怎么搭建Docker容器監控系統

Grafana正常啟動后就可以 http://ip:3000 訪問,出現以下的登錄頁面,初次訪問需要修改密碼,默認用戶名密碼為:admin/admin

Docker Compose集成部署

準備docker-compose.yml文件

version: '3.1'
volumes:
 grafana_data: {}
services:
 influxdb:
   image: influxdb
   restart: always
   environment:
     - PRE_CREATE_DB=cadvisor
   ports:
     - "8086:8086"
   expose:
     - "8090"
     - "8099"
   volumes:
     - ./data/influxdb:/data
 cadvisor:
   image: google/cadvisor
   links:
     - influxdb:influxdb-host
   command: -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxdb-host:8086
   restart: always
   ports:
     - "8080:8080"
   volumes:
     - /:/rootfs:ro
     - /var/run:/var/run:rw
     - /sys:/sys:ro
     - /var/lib/docker:/var/lib/docker:ro
 grafana:
   user: "104"
   image: grafana/grafana
   restart: always
   links:
     - influxdb:influxdb-host
   ports:
     - "3000:3000"
   volumes:
     - grafana_data:/var/lib/data
   environment:
     - HTTP_USER=admin
     - HTTP_PASS=admin
     - INFLUXDB_HOST=influxdb-host
     - INFLUXDB_PORT=8086
     - INFLUXDB_NAME=cadvisor
     - INFLUXDB_USER=root
     - INFLUXDB_PASS=root

在docker-compose.yml文件目錄運行以下命令啟動服務:

docker-compose up -d

-d指定在后臺啟動,初次啟動可以不加可以在控制臺查看啟動日志,當然后臺啟動也可以通過“docker-compose logs”進行查看啟動日志。

服務正常啟動后就可以 http://ip:3000 訪問Granafa,在Home Dashboard頁面點擊添加data source

CAdvisor + InfluxDB + Grafana是怎么搭建Docker容器監控系統

配置InfluxDB連接信息,當然在配置連接信息前需要進入InfluxDB容器創建相應的cadvisor數據庫和用戶root/root

在容器中創建cadvisor數據庫和root用戶

docker exec -it influxdb-contianer-id influx
> CREATE DATABASE "cadvisor"
> CREATE USER "root" WITH PASSWORD 'root' WITH ALL PRIVILEGES

配置連接InfluxDB連接:

CAdvisor + InfluxDB + Grafana是怎么搭建Docker容器監控系統

CAdvisor + InfluxDB + Grafana是怎么搭建Docker容器監控系統

數據源配好之后可以回到Home Dashboard添加添加dashboard圖表展示監控信息,Grafana提供了豐富的圖片模板對監控數據進行展示。

添加dashboard:

CAdvisor + InfluxDB + Grafana是怎么搭建Docker容器監控系統

CAdvisor + InfluxDB + Grafana是怎么搭建Docker容器監控系統

可選模板:

CAdvisor + InfluxDB + Grafana是怎么搭建Docker容器監控系統

編輯圖表:

CAdvisor + InfluxDB + Grafana是怎么搭建Docker容器監控系統

配置監控cadvisor容器的內存使用情況的圖表展示,配置好之后點擊保存就可以了。

CAdvisor + InfluxDB + Grafana是怎么搭建Docker容器監控系統

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

天柱县| 金川县| 库车县| 珠海市| 东乡族自治县| 瑞金市| 屯昌县| 兴安盟| 安泽县| 饶阳县| 青海省| 宁德市| 手游| 监利县| 万荣县| 涟源市| 大化| 宝山区| 贵南县| 海门市| 揭东县| 伊通| 克什克腾旗| 武汉市| 商水县| 毕节市| 师宗县| 姚安县| 石河子市| 改则县| 平凉市| 宾川县| 临高县| 蓬溪县| 余干县| 鄂尔多斯市| 镇巴县| 金堂县| 丹阳市| 伊宁县| 涡阳县|