您好,登錄后才能下訂單哦!
如何快速部署Prometheus監控系統,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
這里演示如何快速搭建 Prometheus 監控系統。
環境說明
我們將通過 Prometheus 監控兩臺 Docker Host:192.168.56.102 和 192.168.56.103,監控 host 和容器兩個層次的數據。
按照架構圖,我們需要運行如下組件:
Prometheus Server
Prometheus Server 本身也將以容器的方式運行在 host 192.168.56.103 上。
Exporter
Prometheus 有很多現成的 Exporter,完整列表請參考 https://prometheus.io/docs/instrumenting/exporters/
我們將使用:
Node Exporter,負責收集 host 硬件和操作系統數據。它將以容器方式運行在所有 host 上。
cAdvisor,負責收集容器數據。它將以容器方式運行在所有 host 上。
Grafana
顯示多維數據,Grafana 本身也將以容器方式運行在 host 192.168.56.103 上。
運行 Node Exporter
在兩個 host 上執行如下命令:
docker run -d -p 9100:9100 \
-v "/proc:/host/proc" \
-v "/sys:/host/sys" \
-v "/:/rootfs" \
--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 通信。
Node Exporter 啟動后,將通過 9100 提供 host 的監控數據。在瀏覽器中通過 http://192.168.56.102:9100/metrics 測試一下。
運行 cAdvisor
在兩個 host 上執行如下命令:
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 \
google/cadvisor:latest
注意,這里我們使用了 --net=host
,這樣 Prometheus Server 可以直接與 cAdvisor 通信。
cAdvisor 啟動后,將通過 8080 提供 host 的監控數據。在瀏覽器中通過 http://192.168.56.102:8080/metrics 測試一下。
最重要的配置是:
static_configs:
- targets: ['localhost:9090','localhost:8080','localhost:9100','192.168.56.102:8080','192.168.56.102:9100']
指定從哪些 exporter 抓取數據。這里指定了兩臺 host 上的 Node Exporter 和 cAdvisor。
另外 localhost:9090
就是 Prometheus Server 自己,可見 Prometheus 本身也會收集自己的監控數據。同樣地,我們也可以通過 http://192.168.56.103:9090/metrics 測試一下。
如下圖所示:
登錄后,Grafana 將引導我們配置 Data Source。
Url
輸入 Prometheus Server 的地址 http://192.168.56.103:9090
其他保持默認值,點擊 Add
。
如果一切順利,Grafana 應該已經能夠訪問 Prometheus 中存放的監控數據了,那么如何展示呢?
Grafana 是通過 Dashboard 展示數據的,在 Dashboard 中需要定義:
展示 Prometheus 的哪些多維數據?需要給出具體的查詢語言表達式。
用什么形式展示,比如二維線性圖,儀表圖,各種坐標的含義等。
可見,要做出一個 Dashboard 也不是件容易的事情。幸運的是,我們可以借助開源社區的力量,直接使用現成的 Dashboard。
訪問 https://grafana.com/dashboards?dataSource=prometheus&search=docker,將會看到很多用于監控 Docker 的 Dashboard。
我們可以下載這些現成的 Dashboard,然后 import 到我們的 Grafana 中就可以直接使用了。
比如下載 Docker and system monitoring
,得到一個 json 文件,然后點擊 Grafana 左上角菜單 Dashboards -> Import
。
導入我們下載的 json 文件。
Dashboard 將立刻展示出漂亮的圖表。
在這個 Dashboard 中,上部分是 host 的數據,我們可以通過 Node
切換不同的 host。
Dashboard 的下半部分展示的是所有的容器監控數據。Grafana 的 Dashboard 是可交互的,我們可以在圖表上只顯示指定的容器、選取指定的時間區間、重新組織和排列圖表、調整刷新頻率,功能非常強大。
關于如何快速部署Prometheus監控系統問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。