docker 搭建基于prometheus的監(jiān)控體系步驟實(shí)現(xiàn)
Prometheus是一個(gè)時(shí)間序列數(shù)據(jù)庫(kù)。但是,它不僅僅是一個(gè)時(shí)間序列數(shù)據(jù)庫(kù)。
它涵蓋了可以綁定的整個(gè)生態(tài)系統(tǒng)工具集及其功能。
Prometheus主要用于對(duì)基礎(chǔ)設(shè)施的監(jiān)控。包括服務(wù)器,數(shù)據(jù)庫(kù),VPS,幾乎所有東西都可以通過(guò)Prometheus進(jìn)行監(jiān)控。Prometheus希望通過(guò)對(duì)Prometheus配置中定義的某些端點(diǎn)執(zhí)行的HTTP調(diào)用來(lái)檢索度量標(biāo)準(zhǔn)。
普羅米修斯的主要特點(diǎn)是:
1. 一個(gè)多維數(shù)據(jù)模型,其中包含通過(guò)度量標(biāo)準(zhǔn)名稱和鍵/值對(duì)標(biāo)識(shí)的時(shí)間序列數(shù)據(jù)
2.PromQL,一種靈活的查詢語(yǔ)言 ,可利用此維度
3.不依賴分布式存儲(chǔ);單服務(wù)器節(jié)點(diǎn)是自治的
4.時(shí)間序列收集通過(guò)HTTP上的拉模型進(jìn)行
5.通過(guò)中間網(wǎng)關(guān)支持推送時(shí)間序列
6.通過(guò)服務(wù)發(fā)現(xiàn)或靜態(tài)配置發(fā)現(xiàn)目標(biāo)
7.多種圖形和儀表板支持模式
需要下載鏡像:
- prom/mysqld-exporter(監(jiān)控mysql)
- prom/prometheus
- prom/node-exporter(監(jiān)控node節(jié)點(diǎn)整機(jī)狀態(tài))
prometheus原理

1.啟動(dòng)prometheus容器服務(wù)
啟動(dòng)前需要先手動(dòng)在當(dāng)前目錄下創(chuàng)建prometheus.yml文件:touch prometheus.yml,不然會(huì)報(bào)掛在文件創(chuàng)建失敗的錯(cuò)誤,因?yàn)閐ocker run時(shí)默認(rèn)創(chuàng)建的掛載點(diǎn)是目錄,不是文件。
docker run -d --name prometheus -p 9090:9090 -v ${PWD}/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
2.啟動(dòng)成功后,公網(wǎng)訪問(wèn)該9090端口進(jìn)入普羅米修斯主頁(yè)

3.部署mysqld-exporer監(jiān)控mysql數(shù)據(jù)庫(kù)(想監(jiān)控什么就部署對(duì)應(yīng)的exporter即可)
a.先部署mysql服務(wù)(有監(jiān)控對(duì)象)
docker run -d --name my-mysql -v /home/gaofei/test/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1qaz9ol. -p 8888:3306 mysql:5.5
b.進(jìn)入prometheus.io/download下載對(duì)應(yīng)的exporter

docker run -d --name mysql-exporter -p 9104:9104 -e DATA_SOURCE_NAME="root:1qaz9ol.@(mysql主機(jī)ip:888)/mysql" prom/mysqld-exporter

配置prometheus.yml文件
global:
scrape_interval: 15s
evaluation_interval: 15s
rule_files:
- rules/*.rules
scrape_configs:
- job_name: 'prometheus'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
- job_name: 'node_exporter'
scrape_interval: 10s
static_configs:
- targets: ['ip:9100']
- job_name: 'mysql'
scrape_interval: 10s
static_configs:
- targets: ['ip:9104']4.重啟prometheus服務(wù)
docker restart prometheus
5.訪問(wèn)prometheus主頁(yè)查看mysql的監(jiān)控


點(diǎn)擊mysql---show more

由上可見(jiàn),是通過(guò)一個(gè)metrics的接口來(lái)傳輸數(shù)據(jù)的,此時(shí)mysql和node都處于可監(jiān)控的狀態(tài)了。
6.將監(jiān)控?cái)?shù)據(jù)通過(guò)grafana面板展示
a.啟動(dòng)grafana服務(wù)
docker run -d --name=grafana -p 3000:3000 grafana/grafana
b.訪問(wèn)grafana首頁(yè)(默認(rèn)用戶和密碼:admin/admin)

c.選擇數(shù)據(jù)源



只需要配置URL即可

d.制作對(duì)應(yīng)服務(wù)的儀表盤(pán)


將id粘貼后點(diǎn)擊load


點(diǎn)擊import

同理配置node-exporter監(jiān)控
grafana中搜索


配置好grafana面板后發(fā)現(xiàn)沒(méi)有數(shù)據(jù)

是因?yàn)樵诜?wù)端沒(méi)有啟動(dòng)node-exporter 服務(wù),直接下載二進(jìn)制文件然后啟動(dòng)(方便,因?yàn)閚ode_exporter設(shè)計(jì)用于監(jiān)控主機(jī)系統(tǒng)。不建議將其部署為Docker容器,因?yàn)樗枰L問(wèn)主機(jī)系統(tǒng))

將該文件上傳至宿主機(jī)后,執(zhí)行以下1,2,3步,可使用nohup./node_exporter--web.listen-address=":9100"&命令后臺(tái)啟動(dòng)

啟動(dòng)后公網(wǎng)訪問(wèn)9100端口即可驗(yàn)證是否可用

然后再訪問(wèn)grafana中node-exporter就有node宿主機(jī)的系統(tǒng)監(jiān)控?cái)?shù)據(jù)了

OK,
大功告成
后期可結(jié)合jmeter使用,可以邊壓測(cè),邊觀察服務(wù)資源利用率等數(shù)據(jù)~~~~~
到此這篇關(guān)于docker 搭建基于prometheus的監(jiān)控體系步驟實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)docker搭建prometheus內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 基于docker 搭建Prometheus+Grafana的過(guò)程詳解
- Docker 部署 Prometheus的安裝詳細(xì)教程
- 使用docker部署grafana+prometheus配置
- docker安裝prometheus和grafana的詳細(xì)過(guò)程
- docker-compose搭建prometheus+grafana+釘釘告警
- docker部署Prometheus+Cadvisor+Grafana實(shí)現(xiàn)服務(wù)器監(jiān)控
- Docker搭建prometheus(普羅米修斯)的方法步驟
- docker 部署prometheus+grafana的過(guò)程詳解
- Docker部署Prometheus的實(shí)現(xiàn)示例
相關(guān)文章
VSCode連接遠(yuǎn)程docker環(huán)境操作步驟
這篇文章主要介紹了如何在容器內(nèi)部署和配置,包括查看Docker版本、管理容器和鏡像、構(gòu)建容器、配置容器內(nèi)部環(huán)境、安裝和配置VSCode以及遠(yuǎn)程連接和配置遠(yuǎn)程Docker容器環(huán)境,需要的朋友可以參考下2025-03-03
Docker容器部署Java項(xiàng)目的自動(dòng)化腳本
這篇文章主要為大家詳細(xì)介紹了Docker容器中部署Java項(xiàng)目的自動(dòng)化腳本編寫(xiě),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-04-04
使用Docker部署Spring Boot的實(shí)現(xiàn)方法
這篇文章主要介紹了使用Docker部署Spring Boot的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Docker部署Mysql數(shù)據(jù)庫(kù)步驟詳解
Docker是一種流行的容器化平臺(tái),可以簡(jiǎn)化應(yīng)用程序的部署和管理,在本博客中,我們將探討如何使用Docker部署兩個(gè)廣泛使用的數(shù)據(jù)庫(kù):MySQL,我們將提供詳細(xì)的步驟和相應(yīng)的命令,以幫助您輕松地在Docker容器中設(shè)置和運(yùn)行這個(gè)數(shù)據(jù)庫(kù)2023-07-07
docker實(shí)現(xiàn)本地seata分布式環(huán)境搭建詳解
這篇文章主要為大家詳細(xì)介紹了docker實(shí)現(xiàn)本地seata分布式環(huán)境搭建的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考下2024-03-03
Docker創(chuàng)建本地鏡像實(shí)現(xiàn)方法解析
這篇文章主要介紹了Docker創(chuàng)建本地鏡像實(shí)現(xiàn)方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10

