北京网站设计精选刻,江苏城乡建设官网,重庆建网站流程,本溪食品 中企动力提供网站建设一、查看可安装的版本
docker search prom/prometheus 二、拉取镜像
docker pull prom/prometheus 三、查看镜像
docker images 四、书写配置文件-以及创建挂载目录
宿主机挂载目录位置#xff1a;
以及准备对应的挂载目录#xff1a;
/usr/local/docker/promethues/se…一、查看可安装的版本
docker search prom/prometheus 二、拉取镜像
docker pull prom/prometheus 三、查看镜像
docker images 四、书写配置文件-以及创建挂载目录
宿主机挂载目录位置
以及准备对应的挂载目录
/usr/local/docker/promethues/server
准备如下
data、config、rules、ClientAll、server 授权相关文件夹权限
chmod -R 777 /usr/local/docker/promethues/data
chmod -R 777 /usr/local/docker/promethues/config
chmod -R 777 /usr/local/docker/promethues/rules
chmod -R 777 /usr/local/docker/promethues/ClientAll
chmod -R 777 /usr/local/docker/promethues/server 目标容器位置
/etc/prometheus/prometheus.yml
使用代码编辑配置文件
vim /usr/local/docker/promethues/server/prometheus.yml
书写如下配置
global:scrape_interval: 15s # 设置抓取间隔为每15秒。evaluation_interval: 15s # 每隔15秒评估规则。rule_files:- /prometheus/rules/*.yml # 这里匹配指定目录下所有的.rules文件scrape_configs:- job_name: 阿丹服务器 #使用配置来发现服务static_configs:- targets: [ip:9090]labels:instance: prometheus- job_name: 服务发现file_sd_configs:- files:- /prometheus/ClientAll/*.json # 用json格式文件方式发现服务下面的是用yaml格式文件方式都可以refresh_interval: 10m- files:- /prometheus/ClientAll/*.yaml # 用yaml格式文件方式发现服务refresh_interval: 10m
解释配置
这个prometheus.yml文件是Prometheus的配置文件。它定义了Prometheus如何收集和存储监控数据以及如何使用这些数据进行规则评估和告警。
让我们逐行解读这个文件
global: scrape_interval: 60s: 这行设置了全局的抓取间隔scrape interval为60秒。这意味着Prometheus会每隔60秒从它所监控的目标targets中抓取数据。默认的抓取间隔是每分钟。evaluation_interval: 60s: 这行设置了全局的规则评估间隔evaluation interval为60秒。这意味着Prometheus会每隔60秒评估evaluate它的规则rules。默认的评估间隔也是每分钟。scrape_configs:: 这个字段表示包含抓取配置scrape configurations的列表。每个抓取配置定义了一个或多个要监控的目标以及如何从这些目标中抓取数据。- job_name: prometheus: 这行开始一个新的抓取配置。这个配置的job_name是prometheus表示它监控的是Prometheus服务器自身的数据。static_configs:: 这个字段表示静态配置它定义了要监控的目标和目标上的标签。- targets: [172.17.0.1:8892]: 这行定义了一个监控目标。在这个例子中目标是一个运行在IP地址172.17.0.1和端口8892上的Prometheus服务器。labels: instance: prometheus: 这行定义了一些标签labels。标签是附加在目标上的元数据可以用于过滤和分组。在这个例子中添加了一个instance标签其值为prometheus。
总的来说这个配置文件设置了Prometheus从自身IP地址为172.17.0.1端口为8892收集数据并且每60秒收集一次数据每60秒评估一次规则。
目前配置只是监控了自己
如果想让Prometheus监控其他的服务器您需要修改targets中的值。替换为要监控的服务的IP地址和端口号。
一个任务配置监控多个
您可以配置多个监控目标只需在同一个static_configs下添加多个targets即可。每个目标都需要使用相应的IP地址和端口号。例如
scrape_configs:- job_name: prometheusstatic_configs:- targets: [target1_ip:port, target2_ip:port]在上述示例中target1_ip:port和target2_ip:port是您要监控的服务的实际IP地址和端口号。您可以根据需要添加更多的目标。
请注意如果需要监控的目标数量较多可能需要使用不同的抓取配置方式如使用动态配置dynamic_configs或配置文件自动加载file_sd_configs。这些方法可以从文件中读取目标配置以便更方便地管理和维护大量的监控目标。
配置出多个任务对应监控配置对应 如果想要监控多个目标需要在scrape_configs中配置多个job_name。 对于每个要监控的目标需要创建一个新的job_name并在static_configs下配置相应的targets和labels。
以下是一个示例配置文件其中配置了两个监控目标
global:scrape_interval: 60sevaluation_interval: 60sscrape_configs:- job_name: prometheus1static_configs:- targets: [ip:9090]labels:instance: prometheus1- job_name: prometheus2static_configs:- targets: [ip2:9090]labels:instance: prometheus2在上述示例中我们创建了两个不同的job_nameprometheus1和prometheus2。对于每个job_name我们配置了相应的目标targets和标签labels。 可以根据需要添加更多的job_name来监控更多的目标。只需按照相同的模式为每个目标创建一个新的job_name并在static_configs下配置相应的目标即可。
五、运行prometheus
使用下面的代码进行运行prometheus注意自定义的
# -d后台运行
# -p将容器内部端口向外映射
# --name命名容器名称
# -v将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录docker run -itd --name prometheus -p 9090:9090 \
-v /usr/local/docker/promethues/server/prometheus.yml:/etc/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 使用ip9090访问 访问成功