一、查看可安裝的版本
docker search prom/prometheus
?二、拉取鏡像
docker pull prom/prometheus
?三、查看鏡像
docker images
?四、書寫配置文件-以及創(chuàng)建掛載目錄
宿主機(jī)掛載目錄位置:
以及準(zhǔn)備對應(yīng)的掛載目錄:
/usr/local/docker/promethues/server
準(zhǔn)備如下:
data、config、rules、ClientAll、server
??授權(quán)相關(guān)文件夾權(quán)限
chmod -R 777 /usr/local/docker/prometheus/data
chmod -R 777 /usr/local/docker/prometheus/config
chmod -R 777 /usr/local/docker/prometheus/rules
chmod -R 777 /usr/local/docker/prometheus/ClientAll
chmod -R 777 /usr/local/docker/prometheus/server
?目標(biāo)容器位置:
/etc/prometheus/prometheus.yml
使用代碼編輯配置文件:
vim /usr/local/docker/prometheus/server/prometheus.yml
書寫如下配置:?
global:
scrape_interval: 15s # 設(shè)置抓取間隔為每15秒。
evaluation_interval: 15s # 每隔15秒評估規(guī)則。
rule_files:
- /prometheus/rules/*.yml # 這里匹配指定目錄下所有的.rules文件
scrape_configs:
- job_name: "阿丹服務(wù)器" #使用配置來發(fā)現(xiàn)服務(wù)
static_configs:
- targets: ['ip:9090']
labels:
instance: prometheus
- job_name: "服務(wù)發(fā)現(xiàn)"
file_sd_configs:
- files:
- /prometheus/ClientAll/*.json # 用json格式文件方式發(fā)現(xiàn)服務(wù),下面的是用yaml格式文件方式,都可以
refresh_interval: 10m
- files:
- /prometheus/ClientAll/*.yaml # 用yaml格式文件方式發(fā)現(xiàn)服務(wù)
refresh_interval: 10m
解釋配置:
這個prometheus.yml
文件是Prometheus的配置文件。它定義了Prometheus如何收集和存儲監(jiān)控數(shù)據(jù),以及如何使用這些數(shù)據(jù)進(jìn)行規(guī)則評估和告警。
讓我們逐行解讀這個文件:
-
global: scrape_interval: 60s
: 這行設(shè)置了全局的抓取間隔(scrape interval)為60秒。這意味著Prometheus會每隔60秒從它所監(jiān)控的目標(biāo)(targets)中抓取數(shù)據(jù)。默認(rèn)的抓取間隔是每分鐘。 -
evaluation_interval: 60s
: 這行設(shè)置了全局的規(guī)則評估間隔(evaluation interval)為60秒。這意味著Prometheus會每隔60秒評估(evaluate)它的規(guī)則(rules)。默認(rèn)的評估間隔也是每分鐘。 -
scrape_configs:
: 這個字段表示包含抓取配置(scrape configurations)的列表。每個抓取配置定義了一個或多個要監(jiān)控的目標(biāo)以及如何從這些目標(biāo)中抓取數(shù)據(jù)。 -
- job_name: prometheus
: 這行開始一個新的抓取配置。這個配置的job_name
是prometheus
,表示它監(jiān)控的是Prometheus服務(wù)器自身的數(shù)據(jù)。 -
static_configs:
: 這個字段表示靜態(tài)配置,它定義了要監(jiān)控的目標(biāo)和目標(biāo)上的標(biāo)簽。 -
- targets: ['172.17.0.1:8892']
: 這行定義了一個監(jiān)控目標(biāo)。在這個例子中,目標(biāo)是一個運行在IP地址172.17.0.1
和端口8892
上的Prometheus服務(wù)器。 -
labels: instance: prometheus
: 這行定義了一些標(biāo)簽(labels)。標(biāo)簽是附加在目標(biāo)上的元數(shù)據(jù),可以用于過濾和分組。在這個例子中,添加了一個instance
標(biāo)簽,其值為prometheus
。
總的來說,這個配置文件設(shè)置了Prometheus從自身(IP地址為172.17.0.1
,端口為8892
)收集數(shù)據(jù),并且每60秒收集一次數(shù)據(jù),每60秒評估一次規(guī)則。
目前配置只是監(jiān)控了自己:
如果想讓Prometheus監(jiān)控其他的服務(wù)器,您需要修改targets
中的值。替換為要監(jiān)控的服務(wù)的IP地址和端口號。
一個任務(wù)配置監(jiān)控多個:
您可以配置多個監(jiān)控目標(biāo),只需在同一個static_configs
下添加多個targets
即可。每個目標(biāo)都需要使用相應(yīng)的IP地址和端口號。例如:
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['target1_ip:port', 'target2_ip:port']
在上述示例中,target1_ip:port
和target2_ip:port
是您要監(jiān)控的服務(wù)的實際IP地址和端口號。您可以根據(jù)需要添加更多的目標(biāo)。
請注意,如果需要監(jiān)控的目標(biāo)數(shù)量較多,可能需要使用不同的抓取配置方式,如使用動態(tài)配置(dynamic_configs)或配置文件自動加載(file_sd_configs)。這些方法可以從文件中讀取目標(biāo)配置,以便更方便地管理和維護(hù)大量的監(jiān)控目標(biāo)。
配置出多個任務(wù)對應(yīng)監(jiān)控(配置對應(yīng)):
????????如果想要監(jiān)控多個目標(biāo),需要在scrape_configs
中配置多個job_name
。
????????對于每個要監(jiān)控的目標(biāo),需要創(chuàng)建一個新的job_name
,并在static_configs
下配置相應(yīng)的targets
和labels
。
以下是一個示例配置文件,其中配置了兩個監(jiān)控目標(biāo):
global:
scrape_interval: 60s
evaluation_interval: 60s
scrape_configs:
- job_name: prometheus1
static_configs:
- targets: ['ip:9090']
labels:
instance: prometheus1
- job_name: prometheus2
static_configs:
- targets: ['ip2:9090']
labels:
instance: prometheus2
????????在上述示例中,我們創(chuàng)建了兩個不同的job_name
:prometheus1
和prometheus2
。對于每個job_name
,我們配置了相應(yīng)的目標(biāo)(targets
)和標(biāo)簽(labels
)。
????????可以根據(jù)需要添加更多的job_name
來監(jiān)控更多的目標(biāo)。只需按照相同的模式為每個目標(biāo)創(chuàng)建一個新的job_name
并在static_configs
下配置相應(yīng)的目標(biāo)即可。
五、運行prometheus
使用下面的代碼,進(jìn)行運行prometheus,注意自定義的
# -d:后臺運行
# -p:將容器內(nèi)部端口向外映射
# --name:命名容器名稱
# -v:將容器內(nèi)數(shù)據(jù)文件夾或者日志、配置等文件夾掛載到宿主機(jī)指定目錄
docker run -d --name prometheus --restart=always -p 9090:9090 \
-v /usr/local/docker/prometheus/server/prometheus.yml:/prometheus/prometheus.yml \
-v /etc/localtime:/etc/localtime:ro \
-v /usr/local/docker/prometheus/data:/prometheus/data \
-v /usr/local/docker/prometheus/config:/prometheus/config \
-v /usr/local/docker/prometheus/rules:/prometheus/rules \
-v /usr/local/docker/prometheus/ClientAll:/prometheus/ClientAll \
prom/prometheus --web.enable-lifecycle
使用ip+9090訪問?
文章來源:http://www.zghlxwxcb.cn/news/detail-634182.html
訪問成功!?文章來源地址http://www.zghlxwxcb.cn/news/detail-634182.html
到了這里,關(guān)于Prometheus技術(shù)文檔--基本安裝-docker安裝并掛載數(shù)據(jù)卷-《十分鐘搭建》的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!