普罗米修斯监控docker 服务
環(huán)境
192.168.254.127 (監(jiān)控服務(wù)器)
192.168.254.128 (被監(jiān)控機(jī)器)
首先在監(jiān)控服務(wù)器安裝:
1.安裝Node Exporter 來收集硬件信息
所有節(jié)點(diǎn)運(yùn)行以下命令安裝Node Exporter 容器
docker run -d -p 9100:9100 \
-v "/proc:/host/proc" \
-v "/sys:/host/sys" \
-v "/:/rootfs" \
-v "/etc/localtime:/etc/localtime" \
--net=host \
prom/node-exporter \
--path.procfs /host/proc \
--path.sysfs /host/sys \
--collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"
注意,這里我們使用了 --net=host,這樣 Prometheus Server 可以直接與 Node Exporter 通信
2.安裝cAdvisor 來收集容器信息 所有節(jié)點(diǎn)運(yùn)行以下命令來安裝cAdvisor
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
--net=host \
-v "/etc/localtime:/etc/localtime" \
google/cadvisor:latest
注意,這里我們使用了 --net=host,這樣 Prometheus Server 可以直接與 cAdvisor 通信。
在Dockermachine服務(wù)器上安裝普羅米修斯服務(wù)
安裝之前需要將普羅米修斯的啟動(dòng)文件創(chuàng)建好, 在/root目錄下創(chuàng)建prometheus.yml文件文件內(nèi)容如下:主要修改highlight部分
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.
- targets:
- job_name: 'prometheus'
metrics_path defaults to '/metrics'
scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090','localhost:8080','localhost:9100','192.168.254.128:8080','192.168.254.128:9100']
指定從哪些 exporter 抓取數(shù)據(jù)。這里指定了兩臺 host 上的 Node Exporter 和 cAdviso
另外 localhost:9090 就是 Prometheus Server 自己,可見 Prometheus 本身也會(huì)收集自己的監(jiān)控?cái)?shù)據(jù)。同樣地,我們也可以通
- targets: ['localhost:9090','localhost:8080','localhost:9100','192.168.254.128:8080','192.168.254.128:9100']
3.運(yùn)行以下命令安裝普羅米修斯服務(wù)
docker run -d -p 9090:9090 \
-v /root/prometheus.yml:/etc/prometheus/prometheus.yml \
-v "/etc/localtime:/etc/localtime" \
--name prometheus \
--net=host \
prom/prometheus
prometheus.yml 是 Prometheus Server 的配置文件
安裝完畢后瀏覽器中打開http://192.168.254.127:9090 點(diǎn)擊菜單 status ----> target,狀態(tài)顯示為up,說明普羅米修斯服務(wù)能夠正常獲取監(jiān)控?cái)?shù)據(jù),點(diǎn)擊endpoint可以查看收集的詳細(xì)信息由于沒有安裝UI 服務(wù)器Granfana
4.在DockerMachine上運(yùn)行Grafana
docker run -d -i -p 3000:3000 \
-v "/etc/localtime:/etc/localtime" \
-e "GF_SERVER_ROOT_URL=http://grafana.server.name" \
-e "GF_SECURITY_ADMIN_PASSWORD=admin8888" \
--net=host \
grafana/grafana
5.現(xiàn)在查看各個(gè)Host上都運(yùn)行了那些容器 Dockermachine: 共4個(gè) Grafana,Prometheus, cadvisor, node-exporter
Grafana啟動(dòng)后,在瀏覽器中打開http://192.168.254.127:3000 登錄界面,登錄用admin 密碼為剛創(chuàng)建Grafana時(shí)的admin8888
6.添加DataSource
添加普羅米修斯服務(wù)器,重點(diǎn)看框部分,其它默認(rèn)即可
點(diǎn)擊Save & Test 如果一切順利該DataSource可以正常工作了,也就是說Grafana可以正常跟Prometheus正常通信了,name怎么展示數(shù)據(jù)呢,答案是通過dashboard.
7.自己手工創(chuàng)建dashboard有點(diǎn)困難,可以借助開元的力量訪問https://grafana.com/dashboards?dataSource=prometheus&search=docker 將會(huì)看到很多用于監(jiān)控 Docker 的 Dashboard。監(jiān)控模板地址(多種監(jiān)控模板根據(jù)自己需求下載不同的模板)
有些dashboard可以下載后直接導(dǎo)入,而有些需要修改后再導(dǎo)入,需要看dashboard的overview
例如導(dǎo)入Docker and system monitoring dashboard
8.最后監(jiān)控頁面展示
最后說明:
監(jiān)控服務(wù)器 需要安裝4個(gè)服務(wù)
Prometheus Server(普羅米修斯監(jiān)控主服務(wù)器 )
Node Exporter (收集Host硬件和操作系統(tǒng)信息)
cAdvisor (負(fù)責(zé)收集Host上運(yùn)行的容器信息)
Grafana (展示普羅米修斯監(jiān)控界面)
被監(jiān)控的只有安裝2個(gè)
Node Exporter (收集Host硬件和操作系統(tǒng)信息)
cAdvisor (負(fù)責(zé)收集Host上運(yùn)行的容器信息)
轉(zhuǎn)載于:https://blog.51cto.com/10158955/2165301
總結(jié)
以上是生活随笔為你收集整理的普罗米修斯监控docker 服务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在这求1到5的阶乘和
- 下一篇: python决策树 多分类_Python