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

使用ip+9090访问 

访问成功! 

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

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

相关文章

字节C++后端面试总结

字节的面经,技术栈是 C++ 后端。 计算机网络 UDP和TCP区别 先说了概念一个是面向连接的基于字节流的可靠连接,一个是不需要连接的基于数据报的不可靠传输 然后说了几个小点,比如首部长度、应用场景、服务对象什么的。 补充: 还有一个很重要的点:UDP 的实时性比 TCP 好…

Kotlin基础(十一):反射和注解

前言 本文主要讲解kotlin反射和注解。 Kotlin文章列表 Kotlin文章列表: 点击此处跳转查看 目录 1.1 kotlin反射 1.1.1 kotlin反射概念和常见使用场景 在Kotlin中,反射是一种能够在运行时动态地获取、检查和操作类、属性、方法等结构的能力。Kotlin为反射提供了一…

【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现)

【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现) 💥💥💞💞欢迎来到本博客❤️❤️…

uniapp 微信小程序 echarts地图 点击显示类目

效果如图: 在tooltip内axisPointer内添加 label:{show:true} 即可显示“请求离婚”的标题

护网专题简单介绍

护网专题简单介绍 一、护网红蓝队介绍1.1、网络安全大事件1.2、护网行动由来1.3、护网行动中的角色二、红队介绍2.1、红队所需技能2.2、红队攻击流程 三、蓝队介绍3.1、蓝队所需技能3.2、蓝队防守四阶段3.3、蓝队前期准备 四、常见安全厂商介绍4.1、常见安全厂商 五、常见安全产…

什么是Java中的装饰器模式?

Java中的装饰器模式是一种结构型设计模式,它允许你通过添加额外的功能来扩展对象的行为。这种模式有点类似于给对象穿上衣服,你可以添加不同的装饰器来改变对象的外观和行为。 在Java中,装饰器模式通常通过创建一个接口来实现,该…

剑指Offer55-I.二叉树的深度 C++

1、题目描述 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / 9 20 …

Go和Java实现原型模式

Go和Java实现原型模式 下面将通过一个克隆的示例来说明原型模式的使用。 1、原型模式 原型模式是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对 象的最佳方式之一。 这种模式是实现了一个原型接口&am…

使用罗技鼠标后 弹出当前页面的脚本发生错误AppData/Local/Temp/LogiUI/Pak/js/jquery-1.3.2.min.js解决

使用的台式机,没有蓝牙驱动,在用logi无线鼠标时,把鼠标连接插入台式机后弹出的如上图所示这个提示,无论是点是/否,还是X掉上图提示,电脑右下角的图依然存在。不习惯这丫的存在。 我重启还是有,然…

Linux shell yes命令(不停输出换行的y)(不停输出换行的指定字符串)(脚本自动确认y)

文章目录 yes命令功能doc文档英文中文翻译完整文档 示例应用案例自动为脚本多次确认y yes命令功能 yes命令可以不断地输出换行的指定字符串,不加参数时,不断输出换行的“y”,有时我们需要执行一些需要用户键入“y”确认的脚本,但…

PoseiSwap 开启“Poseidon”池,治理体系或将全面开启

PoseiSwap曾在前不久分别以IDO、IEO的方式推出了POSE通证,但PoseiSwap DEX中并未向除Zepoch节点外的角色开放POSE资产的交易。而在前不久,PoseiSwap推出了全新的“Poseidon”池,该池将向所有用户开放,并允许用户自由的进行质押、交…

oracle基础语法和备份恢复

Oracle总结 sql命令分类 1.DDL,数据定义语言,create创建/drop销毁 2.DCL,数据库控制语言,grant授权/revoke撤销 3.DML,数据操纵语言,insert/update/delete等sql语句 4.DQL,数据查询语言&am…

HTML5 中新增了哪些表单元素?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ HTML5 中新增了的表单元素⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚…

笔记:Android 9系统启动流程

启动流程 1.按下电源,系统启动 当电源键按下时,引导芯片代码(汇编指令)会从预定的地方(固化在ROM)开始执行,将引导程序 BootLoader 加载到 RAM中,然后执行 2.引导程序 BootLoader …

微服务架构基础--第3章Spring Boot核心功能讲解

第3章Spring Boot核心功能讲解 一.预习笔记 1.使用maven创建SpringBoot项目 1-1:创建一个maven项目 1-2:在pom文件中导入依赖 1-3:编写启动类(注意启动类的位置) 1-4:编写测试类 1-5:运行SpringBoot启动类 2.了解p…

C语言案例 完全平方数-07

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 步骤一:定义程序目标 编写C程序,计算一个整数,它加上100后是一个完全平方数&#xff0c…

android:clipToPadding=“false“的使用

当Recyclerview设置padding了&#xff0c;希望列表滚动时&#xff0c;内容可以渲染到顶部和底部的padding区域&#xff0c;可以使用设置 android:clipToPadding"false" <androidx.recyclerview.widget.RecyclerViewandroid:id"id/recycler_view"andro…

Android Studio 屏幕适配

Android开发屏幕适配流程 首先studio中没有ScreenMatch这个插件的&#xff0c;下去现在这个插件 点击File->settings->Plugins->(搜索ScreenMatch插件)&#xff0c;点击下载&#xff0c;应用重启Studio即可&#xff0c;如下图 在values下 创建dimens.xml&#xff0c…

自动优化图片

1.压缩jpeg&#xff1a; 接到这个任务&#xff0c;我首先找到了jpegoptim&#xff08;https://github.com/tjko/jpegoptim&#xff09;,然后编译&#xff0c;实验了一下&#xff1a; jpegoptim.exe -o input.jpg -S 90% -d dest_path 或 jpegoptim.exe -o input.jpg -m 90 -d…

升级node版本后vue2的项目node-sass、sass-loader安装报错(14.x升级到16.x)

node升级到16.x版本后&#xff0c;对应的node-sass需要升级到^6.0.0&#xff0c;此时sass-loader的版本需要升级到10.2.0以上 &#xff0c;具体对应版本规则可参考链接: https://github.com/webpack-contrib/sass-loader/releases?page3 vue2通过vue/cli创建的项目&#xff0…