首页 > 其他分享 >Prometheus监控实战系列七:任务与实例

Prometheus监控实战系列七:任务与实例

时间:2023-08-29 15:35:19浏览次数:30  
标签:实战 name Prometheus scrape job 实例 192.168 configs

一. 功能概述

 

任务与实例,是Prometheus监控中经常会提到的词汇。在其术语中,每一个提供样本数据的端点称为一个实例(instance),它可以是各种exporter,如node-exporter、mysql-exporter,也可以是你自己开发的一个服务。只要提供符合prometheus要求的数据格式 ,并允许通过HTTP请求获取信息的端点都可称为实例。而对于实例数据的采集,则是通过一个个任务(job)来进行管理,每个任务会管理一类相同业务的实例。

 

在前面"配置介绍“一文中,我们对Prometheus的配置文件promehteus.yml进行过讲解,其中scrape_configs模块即是管理任务的配置。

 

如下是Prometheus默认配置的Job,用于获取Prometheus自身的状态信息,这是一个格式最精简的Job。

scrape_configs:  - job_name: 'prometheus'    static_configs:    - targets: ['localhost:9090']

 

当Job生效后,我们可以在Prometheus的Targets页面看到相关的任务实例,其中Endpoint项代表该实例的采集地址;State项为实例状态,状态为UP表示可正常采集;Labels为实例所拥有的标签 ,标签会包含在获取到的所有时间序列中。

 

 二. 配置参数

Job_name(任务名称)

Job_name定义了该job的名称,这会生成一个标签{job="xxx"},并插入到该任务所有获取指标的标签列中。如上面的Prometheus任务指标,我们可以在表达式浏览器中查询 {job="prometheus"},即可看到与该job相关的指标。

 

此外,Job也支持自定义标签的方式。如下所示,将在该Job获取的指标中添加{group="dev"}的标签。

scrape_configs:  - job_name: 'prometheus'    static_configs:    - targets: ['localhost:9090']      labels:group: 'dev'

配置完成后,重启Prometheus可看到标签 已生效。

 

注意:修改Job后,只对新获取数据生效,原有数据不会有变化 。

 

static_configs(静态配置)

static_configs为静态配置,需要手动在配置文件填写target的目标信息,格式为域名/IP + 端口号。当有多个目标实例时,书写格式如下 :

scrape_configs:  - job_name: 'myjob'    static_configs:    - targets:       -  '192.168.0.1:9100'      -  '192.168.0.2:9100'      -  '192.168.0.3:9100'

 

Prometheus对于监控实例的加载,除了静态配置,还可以使用文件配置的方式。操作方式很简单,只需要在一个文件中填好相关的实例信息,然后在Job中加载该文件即可,文件的格式必须是yaml或json格式。

如:

$ vi /opt/prom/nodex-info.yml-  targets:      -  '192.168.0.1:9100'      -  '192.168.0.2:9100'      -  '192.168.0.3:9100'

 

配置Job加载该文件

scrape_configs:  - job_name: 'myjob'    file_sd_configs:    - files:      - /opt/prom/nodex-info.yml

另外,Prometheus也支持基于kubernetes、DNS或配置中心的服务自动发现方式,这个会在后面的文档做介绍。

 

scrape_interval和scrape_timeout

scrape_interval代表抓取间隔,scrape_timeout代替抓取的超时时间,它们默认继承来global全局配置的设置。但如果有特殊需求,也可以对单个Job单独定义自己的参数。

示例:

scrape_configs:  - job_name: 'myjob'    scrape_interval:15s    scrape_timeout: 10s    static_configs:    - targets: ['192.168.0.1:9100']

注意:scrape_timeout时间不能大于scrape_interval,否则Prometheus将会报错。

metric_path

指定抓取路径,可以不配置,默认为/metrics。

示例:

scrape_configs:  - job_name: 'myjob'    metric_path:/metrics    static_configs:    - targets: ['192.168.0.1:9100']

scheme

指定采集使用的协议,http或者https,默认为http。

示例:

scrape_configs:  - job_name: 'myjob'    scheme: http    static_configs:    - targets: ['192.168.0.1:9100']

 

params

某些特殊的exporter需要在请求中携带url参数,如Blackbox_exporter ,可以通过params进行相关参数配置。

示例:

scrape_configs:  - job_name: 'myjob'    params:      module: [http_2xx]      static_configs:    - targets: ['192.168.0.1:9100']

basic_auth

默认情况下,exporter不需要账号密码即可获取到相关的监控数据。在某些安全程度较高的场景下,可能验证通过后才可获取exporter信息,此时可通过basic_auth配置Prometheus的获取exporter信息时使用的账密。

scrape_configs:  - job_name: 'myjob'     static_configs:    - targets: ['192.168.0.1:9100']    basic_auth:      username: alex      password: mypassword

标签:实战,name,Prometheus,scrape,job,实例,192.168,configs
From: https://www.cnblogs.com/quqibinggan/p/17664917.html

相关文章

  • Prometheus监控实战系列五:PromQL语法(上篇)
    PromQL是Prometheus内置的数据查询DSL(DomainSpecificLanguage)语言,其提供对时间序列丰富的查询功能,聚合以及逻辑运算能力的支持。当前,PromQL被广泛应用在Prometheus的日常使用中,包括数据查询、可视化、告警处理等,可以说,掌握PromQL是熟练使用prometheus的必备条件。 本文将通......
  • Prometheus监控实战系列六:PromQL语法(下篇)
    一.操作符在PromQL的查询中,还可以通过表达式操作符,进行更加复杂的结果查询,常见的操作有下列几种。数学运算符数据运算符使用的加、减、乘、除等方式,对样本值进行计算,并返回计算后的结果。例如,通过process_virtual_memory_bytes获取到的内存值单位为byte,我们希望转换为GB为单......
  • Prometheus监控实战系列一: 产品介绍
    一.概述 Promehteus是一款近年来非常火热的容器监控系统,它使用go语言开发,设计思路来源于Google的Borgmom(一个监控容器平台的系统)。 产品由前谷歌SRE MattT.Proudd发起开发,并在其加入SoundCloud公司后,与另一位工程师JuliusVolz合伙推出,将其开源发布。 2016年,由Googl......
  • Prometheus监控实战系列二: 安装部署
    Prometheus支持多种操作系统,例如Linux、Windows和MaxOSX等。在产品官网上提供了独立的二进制文件进行下载,可下载对应的tar包并在相应系统的服务器上进行安装部署。 当然,做为与容器有着紧密联系的监控系统,Promethesu也可以很方便的通过docker、kubernetes等容器平台进行部署。......
  • Prometheus监控实战系列三:配置介绍
    Prometheus使用名为prometheus.yml的配置文件进行设置,通过在启动时指定相关的文件,对配置内容进行加载。该配置文件分为四个模块:global(全局配置)、alerting(告警配置)、rule_files(规则配置)、scrape_configs(目标拉取配置),本文将分别对其进行讲解介绍。一.global 用于定义promethe......
  • Prometheus监控实战系列四:数据格式
    在Prometheus监控中,对于采集到服务端的指标,称为metrics数据。metrics指标为时间序列数据,它们按相同的时序,以时间维度来存储连续数据的集合。metrics有自定义的一套数据格式,不管对于日常运维管理或者监控开发来说,了解并对其熟练掌握都是非常必要的,本文将对此进行详细介绍。 一.......
  • [回馈]ASP.NET Core MVC开发实战之商城系统(完:内附源码)
    经过一段时间的准备,【ASP.NETCoreMVC开发实战之商城系统】已经完成,目前代码已开发完成,先将全部内容整理分享,如有不足之处,还请指正。 商城系统主要功能 本系列文章主要讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销......
  • 实用指令_大数据shell_综合实例
    综合实例需求分析每天凌晨2:10分备份数据库agguigDB到/data/backup/db备份开始和备份结束能给出相应的提示信息备份后的文件要求以备份时间为文件名,并打包成.tar.gz的形式。比如2018-03-12_230201.tar.gz在备份的同事,检查是否有10天前备份的数据库文件。如果有就将......
  • Python查询Prometheus API
     #!/bin/python#-*-coding:utf-8-*-importpandasaspdimportrequests,time,redefgetcolumn(status):iffloat(status)<80:return"正常"#eliffloat(status)<2:#return"异常"else:......
  • 如何用大模型解决产业场景实战问题?案例精讲教程来了!
    科技爆炸,大模型赋能千行百业生成式AI正以惊人的势头改变着我们的世界,新的浪潮席卷着全球各个行业,同时,也赋予企业前所未有的创新力量。大模型通过海量数据和复杂算法,刻画出AI世界的精妙法则,让企业能够借助大模型,解决一系列问题。因此,大模型技术对于企业来说至关重要,基于大模型技术......