欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

這篇文章主要講解了“如何構(gòu)建Docker容器監(jiān)控系統(tǒng)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何構(gòu)建Docker容器監(jiān)控系統(tǒng)”吧!

凌云ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

Docker作為目前十分出色的容器管理技術(shù),得到大量企睞,在生產(chǎn)環(huán)境中使用Docker容器部署服務(wù)及應(yīng)用的場景越來越多。所以面對日益龐大的docker服務(wù)群應(yīng)用,如何具有針對性的,有效的監(jiān)控也變成了企業(yè)運(yùn)維人員工作需求。

容器信息采集及監(jiān)控的方案有很多,有 docker自身的 docker stats命令、 Scout、Data Dog、Prometheus等,本次為搭建分享兩款比較經(jīng)典的容器開源監(jiān)控組合方案Cadvisor+InfluxDB+Grafana和Cadvisor+Prometheus+Grafana。

Cadvisor+InfluxDB+Grafana

1.1、Cadvisor

Cadvisor是 Google用來監(jiān)測單節(jié)點(diǎn)資源信息的監(jiān)控工具。 Cadvisor提供了基礎(chǔ)查詢界面和http接口,方便其他組件如 Grafana、 Prometheus等進(jìn)行數(shù)據(jù)抓取。 Cadvisor可以對Docker主機(jī)上的資源及容器進(jìn)行實(shí)時(shí)監(jiān)控和性能數(shù)據(jù)采集,包括CpU使用情況、內(nèi)存使用情況、網(wǎng)絡(luò)吞吐量及文件系統(tǒng)使用情況等。Cadvisor使用Go語言開發(fā),利用Liunx的Cagroups獲取容器的資源使用信息。
        Google的 Kubernetes中也默認(rèn)地將其作為單節(jié)點(diǎn)的資源監(jiān)控工具,各個節(jié)點(diǎn)默認(rèn)會安裝上 Advisor組件。

Cadvisor產(chǎn)品特點(diǎn):

  • 可以展示主機(jī)和容器兩個層次的監(jiān)控?cái)?shù)據(jù)。

  • 可以展示歷史變化數(shù)據(jù)。

  • 谷歌公司的開源產(chǎn)品。

  • 監(jiān)控指標(biāo)齊全。

  • 方便部署,有官方的 docker鏡像。

  • 默認(rèn)只在本地保存1分鐘數(shù)據(jù),可以繼承InfluxDB等第三方存儲使用。

由于Cadvisor提供的操作界面略顯簡陋,而且需要在不同頁面之間跳轉(zhuǎn),并且只能 監(jiān)控一個Host,這不免會讓人質(zhì)疑它的實(shí)用性。但Cadvisor的一個亮點(diǎn)是他可以將監(jiān)控到的數(shù)據(jù)到處給第三方工具,由這些工具進(jìn)一步加工處理。

我們可以把Cadvisor定位為一個監(jiān)控?cái)?shù)據(jù)收集器,收集和導(dǎo)出數(shù)據(jù)是它的強(qiáng)項(xiàng),而非展示數(shù)據(jù)。

1.2、InfluxDB

InfluxDB是一個InfluxData開發(fā)的開源非關(guān)系型時(shí)序型數(shù)據(jù)庫。它由Go寫成,著力于髙性能地査詢與存儲時(shí)序型數(shù)據(jù)。 InfluxDB被廣泛應(yīng)用于存儲系統(tǒng)的監(jiān)控?cái)?shù)據(jù),loT行業(yè)的實(shí)時(shí)數(shù)據(jù)等場景。同類型的數(shù)據(jù)庫產(chǎn)品還有 Elasticsearch、Graphite等。←
        InfluxDB應(yīng)用場景:性能監(jiān)控,應(yīng)用程序指標(biāo),物聯(lián)網(wǎng)傳感器數(shù)據(jù)和實(shí)時(shí)分析等的后端存儲。
nfluxDB主要功能:

  • 基于時(shí)間序列,支持與時(shí)間有關(guān)的相關(guān)函數(shù)(如最大,最小,求和等);

  • 可度量性:你可以實(shí)時(shí)對大量數(shù)據(jù)進(jìn)行計(jì)算;

  • 基于事件:它支持任意的事件數(shù)據(jù);

InfluxDB主要特點(diǎn):

  • 無結(jié)構(gòu)(無模式):可以是任意數(shù)量的列;

  • 支持拓展;

  • 支持min,max,sum, count,mean, median等一系列函數(shù),方便統(tǒng)計(jì);

  • 原生的HTTP支持,內(nèi)置HTTP API;

  • 強(qiáng)大的類SQL語法;

1.3、Grafana

Grafana是一個可視化面板(Dashboard)工具,有著非常漂亮的圖標(biāo)和布局等展示功能,功能齊全的度量儀表盤和編譯器,支持Graphite、zabbix、InfluxDB、Prometheus和Grafana主要特性

  • 靈活豐富的圖形化選項(xiàng);

  • 可以混合多種風(fēng)格;

  • 支持白天和夜間模式;

  • 支持多個數(shù)據(jù)源;

1.4、監(jiān)控組建架構(gòu)

監(jiān)控組件架構(gòu)圖:

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

提示:InfluxDB用于數(shù)據(jù)存儲,Cadvisor用戶數(shù)據(jù)采集,Grafana用于數(shù)據(jù)展示。

監(jiān)控組件架構(gòu)部署方案:

  1. 創(chuàng)建自定義網(wǎng)絡(luò)monitor(自定義網(wǎng)絡(luò)名稱),用于后期容器加入此網(wǎng)絡(luò)中;

  2. 創(chuàng)建InfluxDB容器,創(chuàng)建數(shù)據(jù)用戶、數(shù)據(jù)庫;

  3. 創(chuàng)建Cadvisor容器;

  4. 創(chuàng)建Grafana容器,配置grafana;

1.5、開始部署

[root@flag ~]# iptables -F 
[root@flag ~]# setenforce 0
setenforce: SELinux is disabled
[root@flag ~]# systemctl stop firewalld

安裝docker-ce配置鏡像加速 略

下載鏡像組件

docker pull tutum/influxdb
docker pull google/cadvisor
docker pull grafana/grafana
[root@flag ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
grafana/grafana     latest              651ff2dc930f        2 weeks ago         187MB
google/cadvisor     latest              eb1210707573        2 years ago         69.6MB
tutum/influxdb      latest              c061e5808198        4 years ago         290MB

創(chuàng)建自定義網(wǎng)絡(luò)

為了把后期創(chuàng)建的Cadvisor+InfluxDB+Grafana這三個容器都加入自己定義的網(wǎng)絡(luò)便于理
解和管理,所以才新建一個自定義網(wǎng)絡(luò)。(讓這三個容器相互之間進(jìn)行統(tǒng)一的管理和通信)

[root@flag ~]# docker network create monitor
0533cc85ed9f3f9d6865e091120aa2ed051cbde09d8daf342dab456b6d7fc0ca
[root@flag ~]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
8aecbd2a0b19        bridge              bridge              local
fc1c55c5fa26        host                host                local
0533cc85ed9f        monitor             bridge              local
8714055457ff        none                null                local

創(chuàng)建InfluxDB容器

啟動容器,tutum/influxdb鏡像這里沒有指定版本,默認(rèn)會pull最新版本的InfluxDB:

參數(shù)說明:

  • -d:后臺運(yùn)行此容器;

  • --name:啟運(yùn)容器分配名字influxdb;

  • --net:把容器加入到新的網(wǎng)絡(luò)monitor;

  • -p:映射端口,8083端口為influxdb后臺控制端口,8086端口是infuxdb的數(shù)據(jù)端口;

  • tutum/influxdb:通過這個容器來運(yùn)行的,默認(rèn)會在docker官方倉庫pull下來;

查看influxdb容器是否啟動:

[root@flag ~]# docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                            NAMES
a6f6543140ed        tutum/influxdb      "/run.sh">

訪問influxdb控制臺http://192.168.200.111:8083

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

        從上圖可以看到,在Query Templates選項(xiàng)中提供了常用的操作模板,可根據(jù)這些模板來管理influxdb,下面我們就來創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)庫用戶。

CREATE USER "root" WITH PASSWORD '890' WITH ALL PRIVILEGES

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

        創(chuàng)建Cadvisor數(shù)據(jù)庫cadvisor、用戶root,用戶和數(shù)據(jù)庫大家可以自行隨意定義,用于后期grafana的配置:

CREATE DATABASE "cadvisor"

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

創(chuàng)建Cadvisor容器

[root@flag ~]# docker run -d --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --net monitor --publish=8080:8080 --name=cadvisor google/cadvisor -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxdb:8086
effa70d8cd00189b6ea51ae8e187d29df574fcd6194e5deda2ab5cd218430a55

參數(shù)說明:

  • -d:后臺運(yùn)行次容器;

  • --name:啟動容器分配名字Cadvisor;

  • --net:把容器加入到新的網(wǎng)絡(luò)monitor;

  • -p:映射端口8080;

  • --mout:把宿主機(jī)的相文目錄綁定到容器中,這些目錄都是Cadvisor需要采集的目錄文件和監(jiān)控內(nèi)容;

  • -storage_driver:需要指定Cadvisor的存儲驅(qū)動、數(shù)據(jù)主機(jī)、數(shù)據(jù)庫名;

  • google/Cadvisor:通過Cadvisor這個鏡像來運(yùn)行容器,默認(rèn)會在docker官方倉庫把鏡像pull下來;

查看Cadvisor容器;

[root@flag ~]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
effa70d8cd00        google/cadvisor     "/usr/bin/cadvisor -…"   6 minutes ago       Up 6 minutes        0.0.0.0:8080->8080/tcp   cadvisor

通過http://192.168.200.10:8080短褲訪問測試一下,第一次訪問這個頁面有點(diǎn)慢

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

        從上圖可以看到,其實(shí)Cadvisor也有基礎(chǔ)的圖形界面展示功能,我么這里主要由它來做數(shù)據(jù)采集。

創(chuàng)建grafana容器

[root@flag ~]# docker run -d --name grafana --net monitor -p 3000:3000 grafana/grafana
6a4a527897bcf6b009ae8cc00e0ed21f1e330f9cd0aa4e5f004685a55ed38e71

查看運(yùn)行結(jié)果:

[root@flag ~]# docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
6a4a527897bc        grafana/grafana     "/run.sh"           8 seconds ago       Up 6 seconds        0.0.0.0:3000->3000/tcp   grafana

        訪問grafana,通過http://192.168.200.10:3000端口的方式訪問,默認(rèn)賬號密碼(admin/admin),首次陸續(xù)需要更新密碼。

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

添加數(shù)據(jù)源Add data source,如下圖:

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

新建Dashboard,如下圖:

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

Cadvisor+Prometheus+Grafana

2.1、Cadvisor產(chǎn)品簡介

        Cadvisor是Google開源的一款用于展示和分析容器運(yùn)行狀態(tài)的可視化工具。通過在主機(jī)上運(yùn)行Cadvisor用戶可以輕松的獲取到當(dāng)前主機(jī)上容器的運(yùn)行統(tǒng)計(jì)信息,并以圖表的方式向用戶展示。

2.2、部署Cadvisor

被監(jiān)控主機(jī)上部署Cadvisor容器

[root@10 ~]# docker rm -f $(docker ps -aq)
6a4a527897bc
effa70d8cd00
a6f6543140ed
[root@10 ~]# docker run -d \
--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
e7493105e8a02b82f1ec67517a2ee28124d2b6f2659d4c9524361ca0cdc95350

2.3、訪問Cadvisor頁面

訪問http://192.168.200.10 cadvisor頁面看到手機(jī)到的數(shù)據(jù)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

2.4、Prometheus產(chǎn)品簡介

        Prometheus 是一個最初在 SoundCloud 上構(gòu)建的開源系統(tǒng)監(jiān)視和警報(bào)工具包。自 2012年成立以來,很多公司和組織都采用了Prometheus,該項(xiàng)目擁有非常活躍的開發(fā)者和用戶社區(qū)。 它現(xiàn)在是一個獨(dú)立的開源項(xiàng)目,可以獨(dú)立于任何公司進(jìn)行維護(hù)。 為了強(qiáng)調(diào)這一點(diǎn),并闡明項(xiàng)目的治理結(jié)構(gòu),Prometheus于2016年加入Cloud Native Computing Foundation,作為繼 Kubernetes 之后的第二個托管項(xiàng)目。


Prometheus 的主要特征有∶

  • 多維度數(shù)據(jù)模型-由指標(biāo)鍵值對標(biāo)識的時(shí)間序列數(shù)據(jù)組成

  • PromQL,一種靈活的查詢語言

  • 不依賴分布式存儲;單個服務(wù)器節(jié)點(diǎn)是自治的

  • 以 HTTP 方式,通過 pull模型拉取時(shí)間序列數(shù)據(jù)

  • 支持通過中間網(wǎng)關(guān)推送時(shí)間序列數(shù)據(jù)

  • 通過服務(wù)發(fā)現(xiàn)或者靜態(tài)配置,來發(fā)現(xiàn)目標(biāo)服務(wù)對象

  • 支持多種多樣的圖表和界面展示

2.5、部署Prometheus

[root@10 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
prom/prometheus     latest              0bc82119c95b        2 weeks ago         169MB
grafana/grafana     latest              651ff2dc930f        2 weeks ago         187MB
google/cadvisor     latest              eb1210707573        2 years ago         69.6MB

先準(zhǔn)備配置

[root@10 ~]# vi /tmp/prometheus.yml 
# my global config
global:
  scrape_interval:      15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval:  15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']
  - job_name: 'docker'  #定義一個叫docker的組
    static_configs:
      - targets: ['192.168.200.10:8080']        #填寫一個或多個cadvisor的主機(jī)地址用逗號隔開

運(yùn)行容器

[root@10 ~]# docker run -d \
--name=prometheus -p 9090:9090 \
-v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml \
-v /etc/localtime:/etc/localrime \
prom/prometheus

2.6、訪問Prometheus頁面

http://192.168.200.10:9090

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

看到docker組狀態(tài)up為正常

查詢項(xiàng)是可以查到數(shù)據(jù)的

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

2.7、部署Grafana

[root@10 ~]# docker run -d \
--name=grafana \
-p 3000:3000 \
grafana/grafana

2.8、配置Grafana

訪問http://192.168.200.10:3000默認(rèn)賬戶admin密碼admin首次登陸需要修改密碼

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

配置數(shù)據(jù)源

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

導(dǎo)入模板

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

選擇對應(yīng)的數(shù)據(jù)源,點(diǎn)擊導(dǎo)入,就可以看到被監(jiān)控主機(jī)的數(shù)據(jù)

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

準(zhǔn)備測試容器

如何構(gòu)建Docker容器監(jiān)控系統(tǒng)

感謝各位的閱讀,以上就是“如何構(gòu)建Docker容器監(jiān)控系統(tǒng)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何構(gòu)建Docker容器監(jiān)控系統(tǒng)這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

新聞名稱:如何構(gòu)建Docker容器監(jiān)控系統(tǒng)
標(biāo)題路徑:http://www.chinadenli.net/article44/gpdhhe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號服務(wù)器托管品牌網(wǎng)站制作手機(jī)網(wǎng)站建設(shè)自適應(yīng)網(wǎng)站品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)