Prometheus技术文档--基本安装-docker安装并挂载数据卷-《十分钟搭建》

一、查看可安装的版本

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/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

 目标容器位置:

/etc/prometheus/prometheus.yml

使用代码编辑配置文件:

vim /usr/local/docker/prometheus/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_nameprometheus,表示它监控的是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: 'prometheus'static_configs:- targets: ['target1_ip:port', 'target2_ip:port']

在上述示例中,target1_ip:porttarget2_ip:port是您要监控的服务的实际IP地址和端口号。您可以根据需要添加更多的目标。

请注意,如果需要监控的目标数量较多,可能需要使用不同的抓取配置方式,如使用动态配置(dynamic_configs)或配置文件自动加载(file_sd_configs)。这些方法可以从文件中读取目标配置,以便更方便地管理和维护大量的监控目标。

配置出多个任务对应监控(配置对应):

        如果想要监控多个目标,需要在scrape_configs中配置多个job_name

        对于每个要监控的目标,需要创建一个新的job_name,并在static_configs下配置相应的targetslabels

以下是一个示例配置文件,其中配置了两个监控目标:

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_nameprometheus1prometheus2。对于每个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/prometheus/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

使用ip+9090访问 

访问成功! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/62107.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue 项目中 utils 中 js 文件早于 main.js 文件调用

vue项目中utils中js文件早于main.js文件调用

在Qt中使用LoadLibrary无法加载DLL

Qt系列文章目录 文章目录 Qt系列文章目录前言一、问题分析 前言 最近因项目需要使用qt做开发,之前使用LoadLibrary加载dll成功,很庆幸,当一切都那么顺风顺水的时候,测试同事却发现,在windows平台上个别电脑上加载dll会…

(贪心) 剑指 Offer 14- II. 剪绳子 II ——【Leetcode每日一题】

❓剑指 Offer 14- II. 剪绳子 II 难度:中等 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n 都是整数,n > 1 并且 m>1 ),每段绳子的长度记为 k[0],k[1]...k[m - 1] 。请问 k[0]*k[1]*.…

如何让你的视频在 TikTok上变得火爆?

TikTok凭借巨大的用户量和商业价值,它从来不缺优质内容。如何在众多内容中脱颖而出获得关注,这并不简单。和泛流量账号不同,商业账号的目的更加明确,也就是说,商业账号并不一定要以高流量最为唯一的追求目标&#xff0…

uniapp 扩展组件 uni-forms 的表单验证之 validateFunction 只响应一次

uniapp 扩展组件 uni-forms 的表单验证之 validateFunction 只响应一次 问题代码官方说明参考资料 问题代码 直接从官方示例中复制过来改的。为了演示 <template><view><uni-forms ref"form" :modelValue"formData" :rules"rules&qu…

【TensorFlow】P0 Windows GPU 安装 TensorFlow、CUDA Toolkit、cuDNN

Windows 安装 TensorFlow、CUDA Toolkit、cuDNN 整体流程概述TensorFlow 与 CUDA ToolkitTensorFlow 是一个基于数据流图的深度学习框架CUDA 充分利用 NIVIDIA GPU 的计算能力CUDA Toolkit cuDNN 安装详细流程整理流程一&#xff1a;安装 CUDA Toolkit步骤一&#xff1a;获取CU…

opencv基础53-图像轮廓06-判断像素点与轮廓的关系(轮廓内,轮廓上,轮廓外)cv2.pointPolygonTest()

点到轮廓的距离 在 OpenCV 中&#xff0c;函数 cv2.pointPolygonTest()被用来计算点到多边形&#xff08;轮廓&#xff09;的最短距离&#xff08;也 就是垂线距离&#xff09;&#xff0c;这个计算过程又称点和多边形的关系测试。该函数的语法格式为&#xff1a; retval cv2…

多路复用select实现

select函数 int select(int nfds, fd_set *readfds,fd_set *writefds,fd_set *exceptfds, struct timeval *timeout);nfds:是三个集合中编号最高的文件描述符&#xff0c;加上1readfds/writefds/exceptfds: 可读集合/可写集合/异常集合timeout NULL&#xff1a;永久阻塞0&…

flink kafka消费者如何处理kafka主题的rebalance

背景&#xff1a; 我们日常使用kafka客户端消费kafka主题的消息时&#xff0c;当消费者退出/加入消费者组&#xff0c;kafka主题分区数有变等事件发生时&#xff0c;都会导致rebalance的发生&#xff0c;此时一般情况下&#xff0c;如果我们不自己处理offset&#xff0c;我们不…

Android Studio实现滑动图片验证码

源代码链接 效果&#xff1a; MainActivity package com.example.slidingpattern;import androidx.appcompat.app.AppCompatActivity;import android.annotation.SuppressLint; import android.graphics.BitmapFactory; import android.os.Bundle; import android.view.Moti…

photoshop生成器引入到electron项目(electron与photoshop建立通信)

Photoshop引入了nodejs&#xff0c;在启动的时候&#xff0c;通过pipe调起nodejs运行时核心generator-builtin&#xff0c;通过KLVR机制与ps进行通信和交互&#xff0c;同时会加载用户编写的扩展。 这里记录一下引入时的踩坑过程 generator-core就是它的源码&#xff0c;elect…

栈和队列(二) 队列操作详解及栈与队列的相互实现

文章目录 四、队列1、什么是队列2、队列的基本操作Queue.hQueue.c初始化队列队尾入队列队头出队列获取队列头部元素获取队列队尾元素获取队列中有效元素个数检测队列是否为空&#xff0c;如果为空返回非零结果&#xff0c;如果非空返回0销毁队列 五、设计循环队列六、栈与队列的…