首页 > 其他分享 >prometheus基本使用

prometheus基本使用

时间:2024-01-25 11:01:56浏览次数:26  
标签:基本 job scrape Prometheus prometheus 监控 使用 configs

参考链接:
https://www.prometheus.wang/
作者总结的很好,大家都可以跟着学习看看

prometheus的由来

受启发与google的brogmon监控系统,从2012年开始由前Google工程师在Soundcloud以开源软件的形式进行研发,并且于2015年早期对外发布早期版本。2016年5月继Kubernetes之后成为第二个正式加入CNCF基金会的项目,同年6月正式发布1.0版本。2017年底发布了基于全新存储层的2.0版本,能更好地与容器平台、云平台配合。

监控的目标

监控系统需要能够有效的支持白盒监控和黑盒监控。

白盒监控

通过白盒能够了解其内部的实际运行状态,通过对监控指标的观察能够预判可能出现的问题,

黑盒监控

创建的如HTTP探针,TCP探针等,可以在系统或者服务在发生故障时能够快速通过相关的人员进行处理。通过建立完善的监控体系,从而达到以下目的

  • 长期趋势分析
  • 对照分析
  • 告警
  • 故障分析与定位
  • 数据可视化

与常见监控系统比较

优势:易于管理,监控服务的内部运行状态,强大的数据模型,强大的查询语言 PromQL,高效,可扩展,易于集成,可视化,开放性

安装Prometheus Server

软件下载地址

https://prometheus.io/download/

docker安装

docker run -p 9090:9090 -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

默认的配置文件

promethes.yml:

# my global config 全局配置
global:
  # 拉取时间间隔 设置为每15秒一次。默认是每1分钟一次。
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  # 每15秒评估一次规则。默认为每1分钟一次
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # 拉取超时时间 设置为全局默认值(10秒)。
  # scrape_timeout is set to the global default (10s).

# 告警管理组件配置
# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# 加载一次规则,并根据全局'evaluation_interval'定期对它们进行评估
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# 一个只包含一个端点的拉取配置:
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
# 拉取配置
scrape_configs:
  # 作业名称作为标签' job=<job_name> '添加到从该配置中抓取的任何时间序列中。
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']

安装Node Exporter

node exporter简介

在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的CPU使用率,我们需要使用到Exporter。Prometheus周期性的从Exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。

从上面的描述中可以看出Exporter可以是一个相对开放的概念,其可以是一个独立运行的程序独立于监控目标以外,也可以是直接内置在监控目标中。只要能够向Prometheus提供标准格式的监控样本数据即可。

这里为了能够采集到主机的运行指标如CPU, 内存,磁盘等信息。我们可以使用Node Exporter。

下载参考上面的prometheus二进制下载链接

解压完成后,直接启动即可
./node_exporter

配置prometheus从node exporter拉取监控数据

编辑prometheus.yml并在scrape_configs节点下添加以下内容:

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  # 采集node exporter监控数据
  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']

重新启动Prometheus Server

访问http://localhost:9090,进入到Prometheus Server。如果输入“up”并且点击执行按钮以后,可以看到如下结果:

up{instance="localhost:9090",job="prometheus"}    1
up{instance="localhost:9100",job="node"}    1

其中“1”表示正常,反之“0”则为异常。

监控数据可视化

使用grafana创建可视化Dashboard

docker run -d -p 3000:3000 grafana/grafana

选择数据源可就可以看到prometheus的数据了。

标签:基本,job,scrape,Prometheus,prometheus,监控,使用,configs
From: https://www.cnblogs.com/jasmine456/p/17986494

相关文章

  • prometheus组件
    prometheusserverPrometheusServer是Prometheus组件中的核心部分,负责实现对监控数据的获取,存储以及查询。PrometheusServer可以通过静态配置管理监控目标,也可以配合使用ServiceDiscovery的方式动态管理监控目标,并从这些监控目标中获取数据。其次PrometheusServer需要对采......
  • GPTs创建及action使用
    一、新建GPTsNewGPT:https://chat.openai.com/gpts/editor二、创建GPT的选项1、Create进入创建GPT页面,在CreateTab下,点击左下角曲别针符号,可以向GPT上传知识库文档。GPT可以根据这些文档进行回答。2、Configure2.1、Action创建Action官方文档Actions与Plugins类似,不......
  • Django 初步使用
    Django框架系列目录Django框架系列一.安装启用1.1主流web框架概述1.2安装版本1.3启动的两种方式1)命令行创建2)pycharm创建3)两种方式的区别1.4配置文件介绍1.5创建应用二.Django初步使用2.1HttpResponse,render,redirect2.2配置静态文件1)添加路由对应关系views2)写后端......
  • bigNumber.js使用介绍
    为什么要使用bigNumber.js为了解决精度丢失的问题,前端面试常见的一个问题就是‘0.1+0.2!=0.3’是为什么,0.1+0.2=0.30000000000000004,这在对数字精度要求比较高的项目中常常会出现bug,所以要使用bigNumber.js官网的解释:AJavaScriptlibraryforarbitrary-precisionarithmetic.(......
  • 转载——Linux/Macos环境下使用 steamcommunity 302 教程
    原博:https://www.dogfight360.com/blog/2319/steamcommunity302后端使用caddy,在生成所有配置文件后可直接迁移到Linux/Macos环境下使用1.首先要在Windows环境/Wine下运行steamcommunity302并在设置里打勾需要开启的功能,然后正常启动服务 2.前往caddy/release页下载......
  • Centos+jenkins+Docker+.Net6 简单使用CI/CD
    jenkins安装1:安装sudodockerpulljenkins/jenkins2:路劲/home/fengge/jenkins_home3:运行:/var/jenkins_home运行数据多了这个错误的东东路径jenkins_homesudodockerrun-d--restart=always--namejenkins-p8081:8080-v/home/fengge/jenkins_home:/var/je......
  • 静态路由基本配置
    拓扑:配置:查看代码[R1]discurrent-configuration[V200R003C00]#sysnameR1#boardadd0/12SA#snmp-agentlocal-engineid800007DB03000000000000snmp-agent#clocktimezoneChina-Standard-Timeminus08:00:00#portallocal-serverloadportalpage.......
  • Linux 下安装 Jenkins 和使用 配置
    安装:要在Linux上安装Jenkins并进行配置,您可以按照以下步骤进行操作:步骤1:安装JavaJenkins依赖于Java环境,因此首先需要在您的Linux系统上安装Java。可以使用以下命令检查是否已安装Java:java-version如果您看到Java的版本信息,则已经安装了Java。否则,您可以按照以下步骤安装Java:sudo......
  • 使用CPU运行大语言模型(LLM),以清华开源大模型ChatGLM3为例:无需显卡!用CPU搞定大模型运行
    教程视频地址:无需显卡!用CPU搞定大模型运行部署!【详细手把手演示】按照上面视频进行安装配置之前需要注意,python编程环境需要大于等于python3.10,否则会运行报错。下载好GitHub上的项目代码后需要运行pipinstall-rrequirements.txt配置好后运行效果:相关资料:【ChatGL......
  • 8 种基本类型的包装类和常量池
    Java基本类型的包装类的大部分都实现了常量池技术,即Byte,Short,Integer,Long,Character,Boolean;这5种包装类默认创建了数值[-128,127]的相应类型的缓存数据,但是超出此范围仍然会去创建新的对象。两种浮点数类型的包装类Float,Double并没有实现常量池技术。valueOf()方......