docker 搭建基于prometheus的監(jiān)控體系步驟實現(xiàn)
Prometheus是一個時間序列數(shù)據庫。但是,它不僅僅是一個時間序列數(shù)據庫。
它涵蓋了可以綁定的整個生態(tài)系統(tǒng)工具集及其功能。
Prometheus主要用于對基礎設施的監(jiān)控。包括服務器,數(shù)據庫,VPS,幾乎所有東西都可以通過Prometheus進行監(jiān)控。Prometheus希望通過對Prometheus配置中定義的某些端點執(zhí)行的HTTP調用來檢索度量標準。
普羅米修斯的主要特點是:
1. 一個多維數(shù)據模型,其中包含通過度量標準名稱和鍵/值對標識的時間序列數(shù)據
2.PromQL,一種靈活的查詢語言 ,可利用此維度
3.不依賴分布式存儲;單服務器節(jié)點是自治的
4.時間序列收集通過HTTP上的拉模型進行
5.通過中間網關支持推送時間序列
6.通過服務發(fā)現(xiàn)或靜態(tài)配置發(fā)現(xiàn)目標
7.多種圖形和儀表板支持模式
需要下載鏡像:
- prom/mysqld-exporter(監(jiān)控mysql)
- prom/prometheus
- prom/node-exporter(監(jiān)控node節(jié)點整機狀態(tài))
prometheus原理
1.啟動prometheus容器服務
啟動前需要先手動在當前目錄下創(chuàng)建prometheus.yml文件:touch prometheus.yml,不然會報掛在文件創(chuàng)建失敗的錯誤,因為docker run時默認創(chuàng)建的掛載點是目錄,不是文件。
docker run -d --name prometheus -p 9090:9090 -v ${PWD}/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
2.啟動成功后,公網訪問該9090端口進入普羅米修斯主頁
3.部署mysqld-exporer監(jiān)控mysql數(shù)據庫(想監(jiān)控什么就部署對應的exporter即可)
a.先部署mysql服務(有監(jiān)控對象)
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.進入prometheus.io/download下載對應的exporter
docker run -d --name mysql-exporter -p 9104:9104 -e DATA_SOURCE_NAME="root:1qaz9ol.@(mysql主機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服務
docker restart prometheus
5.訪問prometheus主頁查看mysql的監(jiān)控
點擊mysql---show more
由上可見,是通過一個metrics的接口來傳輸數(shù)據的,此時mysql和node都處于可監(jiān)控的狀態(tài)了。
6.將監(jiān)控數(shù)據通過grafana面板展示
a.啟動grafana服務
docker run -d --name=grafana -p 3000:3000 grafana/grafana
b.訪問grafana首頁(默認用戶和密碼:admin/admin)
c.選擇數(shù)據源
只需要配置URL即可
d.制作對應服務的儀表盤
將id粘貼后點擊load
點擊import
同理配置node-exporter監(jiān)控
grafana中搜索
配置好grafana面板后發(fā)現(xiàn)沒有數(shù)據
是因為在服務端沒有啟動node-exporter 服務,直接下載二進制文件然后啟動(方便,因為node_exporter設計用于監(jiān)控主機系統(tǒng)。不建議將其部署為Docker容器,因為它需要訪問主機系統(tǒng))
將該文件上傳至宿主機后,執(zhí)行以下1,2,3步,可使用nohup./node_exporter--web.listen-address=":9100"&命令后臺啟動
啟動后公網訪問9100端口即可驗證是否可用
然后再訪問grafana中node-exporter就有node宿主機的系統(tǒng)監(jiān)控數(shù)據了
OK,
大功告成
后期可結合jmeter使用,可以邊壓測,邊觀察服務資源利用率等數(shù)據~~~~~
到此這篇關于docker 搭建基于prometheus的監(jiān)控體系步驟實現(xiàn)的文章就介紹到這了,更多相關docker搭建prometheus內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- 基于docker 搭建Prometheus+Grafana的過程詳解
- Docker 部署 Prometheus的安裝詳細教程
- 使用docker部署grafana+prometheus配置
- docker安裝prometheus和grafana的詳細過程
- docker-compose搭建prometheus+grafana+釘釘告警
- docker部署Prometheus+Cadvisor+Grafana實現(xiàn)服務器監(jiān)控
- Docker搭建prometheus(普羅米修斯)的方法步驟
- docker 部署prometheus+grafana的過程詳解
- Docker部署Prometheus的實現(xiàn)示例
相關文章
使用docker的python基礎鏡像時要指定patch版本原理
這篇文章主要為大家介紹了使用docker的python基礎鏡像時要指定patch版本原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10Docker Compose快速部署多容器服務實戰(zhàn)的實例詳解
使用 Docker Compose 可以輕松、高效的管理容器,它是一個用于定義和運行多容器 Docker 的應用程序工具,本文給大家介紹Docker Compose快速部署多容器服務實戰(zhàn),感興趣的朋友一起看看吧2022-02-02