Cadvisor產(chǎn)品簡介
Cadvisor是Google開源的一款用于展示和分析容器運行狀態(tài)的可視化工具。通過在主機上運行Cadvisor用戶可以輕松的獲取到當前主機上容器的運行統(tǒng)計信息,并以圖表的形式向用戶展示。
接著上一篇來繼續(xù)
部署Cadvisor
被監(jiān)控主機上部署Cadvisor容器
清空原來的
[root@agent ~]# docker rm -f $(docker ps -aq)
c78b7f80fd41
a76c56a3155b
14c0398f35a2
a0010d5c535f
[root@agent ~]# ?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
fbd537636358169b4bcbce652b94211b06c4c7aee41362ceeb456004510b7e82
訪問cAdvisor頁面
訪問http://192.168.50.50:8080?cAdvisor頁面可以看到收集到的數(shù)據(jù)
?
?
Prometheus產(chǎn)品簡介
Prometheus是一個最初在SoundCloud上構建的開源系統(tǒng)監(jiān)視和警報工具包。自2012年成立以來,很多公司和組織都采用了Prometheus,該項目擁有非?;钴S的開發(fā)者和用戶社區(qū)。 它現(xiàn)在是一個獨立的開源項目,可以獨立于任何公司進行維護。 為了強調(diào)這一點,并闡明項目的治理結構,Prometheus于2016年加入Cloud Native Computing Foundation(云原生基金會),作為繼Kubernetes之后的第二個托管項目。
Prometheus的主要特征有:
- 多維度數(shù)據(jù)模型-由指標鍵值對標識的時間序列數(shù)據(jù)組成
- PromQL,一種靈活的查詢語言
- 不依賴分布式存儲; 單個服務器節(jié)點是自治的
- 以HTTP方式,通過pull模型拉取時間序列數(shù)據(jù)
- 支持通過中間網(wǎng)關推送時間序列數(shù)據(jù)
- 通過服務發(fā)現(xiàn)或者靜態(tài)配置,來發(fā)現(xiàn)目標服務對象
- 支持多種多樣的圖表和界面展示
部署Prometheus?
[root@agent ~]# docker pull prom/prometheus
Using default tag: latest
*latest: Pulling from prom/prometheus
3cb635b06aa2: Pull complete
34f699df6fe0: Pull complete
33d6c9635e0f: Pull complete
f2af7323bed8: Pull complete
c16675a6a294: Pull complete
827843f6afe6: Pull complete
3d272942eeaf: Pull complete
7e785cfa34da: Pull complete
05e324559e3b: Pull complete
170620261a59: Pull complete
ec35f5996032: Pull complete
5509173eb708: Pull complete
Digest: sha256:cb9817249c346d6cfadebe383ed3b3cd4c540f623db40c4ca00da2ada45259bb
Status: Downloaded newer image for prom/prometheus:latest
docker.io/prom/prometheus:latest
?配置prometheus.yml
一定注意格式很容易出錯
[root@agent ~]# vim /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.50.50:8080'] ##填寫一個或多個cadvisor的主機地址用逗號隔開
運行容器
[root@agent ~]# docker run -d \
> --name=prometheus ?-p 9090:9090 ?\
> -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml \
> ?-v /etc/localtime:/etc/localtime \
> prom/prometheus
a8d8416ff184232a062a71fa4ee458c904b74f6f7b86313539708fe435bd4dd1
查看有沒有啟動
[root@agent ~]# docker ps -a
CONTAINER ID ??IMAGE ???????????????????COMMAND ??????????????????CREATED ????????STATUS ????????PORTS ??????????????????????????????????????NAMES
a8d8416ff184 ??prom/prometheus ?????????"/bin/prometheus --c…" ??2 minutes ago ??Up 2 seconds ??0.0.0.0:9090->9090/tcp, :::9090->9090/tcp ??prometheus
7c5c6cae02da ??google/cadvisor:latest ??"/usr/bin/cadvisor -…" ??3 minutes ago ??Up 3 minutes ??0.0.0.0:8080->8080/tcp, :::8080->8080/tcp ??cadvisor
?訪問prometheus頁面
http://192.168.50.50:9090
?看到docker組狀態(tài)up為正常
?
?查詢都可以查
?
?部署Granfana
[root@agent ~]# docker run -d \
> --name=grafana \
>? -p 3000:3000 \
> grafana/grafana
91f8dea9a3970f374e521eeb9203fab24e9ef766b8f95bb0672ea1706daa2e7d
[root@agent ~]# docker run --name=nginx -d -p 80:80 nginx
accb1ec5c8c9f711ba8d023474746beb32c041929b934029d41248c7c81c64d8
訪問http://192.168.50.50:3000默認賬戶admin 密碼 admin首次登陸需要修改密碼
?
?配置數(shù)據(jù)源
?
?
?
導入模板
?
?選擇對應的數(shù)據(jù)源,點擊導入,就可以看到被監(jiān)控主機的數(shù)據(jù)
?準備測試容器
[root@agent ~]# docker run --name=nginx -d -p 80:80 nginx
accb1ec5c8c9f711ba8d023474746beb32c041929b934029d41248c7c81c64d8
可以看到成功了
右上角保存
?文章來源:http://www.zghlxwxcb.cn/news/detail-634109.html
到此Cadvisor +Prometheus+Grafana基本架構部署完畢文章來源地址http://www.zghlxwxcb.cn/news/detail-634109.html
到了這里,關于構建Docker容器監(jiān)控系統(tǒng)(2)(Cadvisor +Prometheus+Grafana)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!