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、常见安全厂商 五、常见安全产…

使用罗技鼠标后 弹出当前页面的脚本发生错误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”池,该池将向所有用户开放,并允许用户自由的进行质押、交…

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…

Android Studio 屏幕适配

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

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

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

学会RabbitMQ的延迟队列,提高消息处理效率

系列文章目录 手把手教你,本地RabbitMQ服务搭建(windows) 消息队列选型——为什么选择RabbitMQ RabbitMQ灵活运用,怎么理解五种消息模型 RabbitMQ 能保证消息可靠性吗 推或拉? RabbitMQ 消费模式该如何选择 死信是什么…

C++初阶——函数重载

前言:C中除了可以在不同的命名空间中使用同名函数,还有一种支持在同一个作用域中同名函数的方式——函数重载。 函数重载 一.什么是函数重载?二.函数重载的3种规则三.特殊情况 一.什么是函数重载? C允许同样同一作用域中声明几个功…

Ubuntu 20.04 安装 Stable Diffusionn

步骤 1:安装 wget、git、Python3 和 Python3虚拟环境(如果已安装可忽略这步骤) sudo apt install wget git python3 python3-venv步骤 2:克隆 SD 项目到本地 git clone https://github.com/AUTOMATIC1111/stable-diffusion-webu…

【网络编程】实现一个简单多线程版本TCP服务器(附源码)

TCP多线程 🌵预备知识🎄 Accept函数🌲字节序转换函数🌳listen函数 🌴代码🌱Log.hpp🌿Makefile☘️TCPClient.cc🍀TCPServer.cc🎍 util.hpp 🌵预备知识 &…

RabbitMQ - 简单案例

目录 0.引用 1.Hello world 2.轮训分发消息 2.1 抽取工具类 2.2 启动两个工作线程接受消息 2.4 结果展示 3.消息应答 3.1 自动应答 3.2 手动消息应答的方法 3.3 消息自动重新入队 3.4 消息手动应答代码 4.RabbitMQ 持久化 4.1 队列如何实现持久化 4.2 消息实现持久化 5.不…

7.1 动手实现AlexNet

AlexNet引入了dropput层 代码 import torch from torch import nn from d2l import torch as d2lnet nn.Sequential(# 样本数为1,通道数为96,11x11的卷积核,步幅为4,减少输出的高度和深度。 LeNet的通道数才6,此处96,为什么要增加这么多通…

MIT 6.830数据库系统 -- lab six

MIT 6.830数据库系统 -- lab six 项目拉取引言steal/no-force策略redo log与undo log日志格式和检查点 开始回滚练习1:LogFile.rollback() 恢复练习2:LogFile.recover() 测试结果疑问点分析 项目拉取 原项目使用ant进行项目构建,我已经更改为…