【metricbeat】通过metricbeat采集prometheus指标

通过metricbeat采集prometheus指标

通过beat采集prometheus内的单个指标。

低版本beat只能全量

环境

低版本metricbeat只能全量采集

软件版本:metricbeat==8.11.1

解压

cmd 复制代码
tar zxvf metricbeat-8.11.1-linux-x86_64.tar.gz -C /usr/local

配置

首先,修改metricbeat.yml,把output指定为接收地址,这里使用了logstash,原定使用kafka,但是本地kafka的版本较低,会出现发送失败问题。

复制代码
output.logstash:
  hosts: ["192.168.113.138:5044"]

其次是修改modules.d/下的prometheus.yml.disabled为prometheus.yml,然后修改配置

cmd 复制代码
cp prometheus.yml.disabled prometheus.yml

第一块是配置prometheus

yml 复制代码
#- module: prometheus
#  period: 10s
#  hosts: ["localhost:9090"]
#  metrics_path: /metrics
  #metrics_filters:
  #  include: []
  #  exclude: []
  #username: "user"
  #password: "secret"

  # This can be used for service account based authorization:
  #bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  #ssl.certificate_authorities:
  #  - /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt

  # Use Elasticsearch histogram type to store histograms (beta, default: false)
  # This will change the default layout and put metric type in the field name
  #use_types: true

  # Store counter rates instead of original cumulative counters (experimental, default: false)
  #rate_counters: true

第二块是配置Prometheus 服务器使用 remote_write 选项发送的指标

yml 复制代码
# Metrics sent by a Prometheus server using remote_write option
#- module: prometheus
#  metricsets: ["remote_write"]
#  host: "localhost"
#  port: "9201"

  # Secure settings for the server using TLS/SSL:
  #ssl.certificate: "/etc/pki/server/cert.pem"
  #ssl.key: "/etc/pki/server/cert.key"

  # Use Elasticsearch histogram type to store histograms (beta, default: false)
  # This will change the default layout and put metric type in the field name
  #use_types: true

  # Store counter rates instead of original cumulative counters (experimental, default: false)
  #rate_counters: true

  # Define patterns for counter and histogram types so as to identify metrics' types according to these patterns
  #types_patterns:
  #  counter_patterns: []
  #  histogram_patterns: []

第三块才是我们用到的,将使用 PromQL 收集指标

复制代码
- module: prometheus
  metricsets: ["query"]
  hosts: ["localhost:9090"]
  period: 10s
  queries:
  - name: "instant_vector"
    path: "/api/v1/query"
    params:
      query: "sum(rate(prometheus_http_requests_total[1m]))"
  - name: "range_vector"
    path: "/api/v1/query_range"
    params:
      query: "up"
      start: "2019-12-20T00:00:00.000Z"
      end:  "2019-12-21T00:00:00.000Z"
      step: 1h
  - name: "scalar"
    path: "/api/v1/query"
    params:
      query: "100"
  - name: "string"
    path: "/api/v1/query"
    params:
      query: "some_value"

效果

日志平台接收到可以看到

点开后发现有很多字段,最主要的是metricset_name,是配置query,采集回来的值字段为prometheus_query_scalar ,以此类推,会有prometheus_query_string 和prometheus_query_instant_vector

相关推荐
爱敲代码的TOM20 分钟前
Prometheus+Grafana构建企业级监控方案
prometheus
大飞pkz35 分钟前
【设计模式】C#反射实现抽象工厂模式
设计模式·c#·抽象工厂模式·c#反射·c#反射实现抽象工厂模式
唐青枫2 小时前
从入门到进阶:C#.NET Stopwatch 计时与性能测量全攻略
c#·.net
未来之窗软件服务12 小时前
幽冥大陆(二)RDIFSDK 接口文档:布草洗涤厂高效运营的技术桥梁C#—东方仙盟
开发语言·c#·rdif·仙盟创梦ide·东方仙盟
1uther12 小时前
Unity核心概念⑨:Screen
开发语言·游戏·unity·c#·游戏引擎
阿幸软件杂货间13 小时前
Office转PDF转换器v1.0.py
开发语言·pdf·c#
sali-tec14 小时前
C# 基于halcon的视觉工作流-章34-环状测量
开发语言·图像处理·算法·计算机视觉·c#
Tiger_shl14 小时前
【层面一】C#语言基础和核心语法-02(反射/委托/事件)
开发语言·c#
Insist75314 小时前
prometheus安装部署与alertmanager邮箱告警
linux·运维·grafana·prometheus
mudtools18 小时前
.NET驾驭Word之力:COM组件二次开发全攻略之连接Word与创建你的第一个自动化文档
后端·c#