• 【metricbeat】通过metricbeat采集prometheus指标


    通过metricbeat采集prometheus指标

    通过beat采集prometheus内的单个指标。
    低版本beat只能全量

    环境

    # 低版本metricbeat只能全量采集
    软件版本:metricbeat==8.11.1

    解压

    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,然后修改配置

    cp prometheus.yml.disabled prometheus.yml
    

    第一块是配置prometheus

    #- 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 选项发送的指标

    # 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
    在这里插入图片描述

  • 相关阅读:
    Svelte Ui Admin后台管理系统|svelte3+svelteUI中后台前端解决方案
    53. 寻宝(第七期模拟笔试)(最小生成树练习)
    【面试题】JS 中这些继承方式你知道吗?
    最新版CleanMyMac X4.13.4中文版Mac清理软件
    海外短剧开源系统UNIAPP源码(支持多语言/海外支付/快捷登录)
    Java反序列化基础篇-JDK动态代理
    从零开始学习typescript——数据类型
    【历史上的今天】12 月 6 日:微波炉问世;多媒体格式 Mkv 诞生;日立环球存储科技公司成立
    RPC协议详解
    经典论文阅读densenet(Densely Connected Convolutional Networks)
  • 原文地址:https://blog.csdn.net/shen12138/article/details/139409531