0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Prometheus实战篇:Exporter知识概述

马哥Linux运维 来源:稀土掘金 2023-12-25 09:57 次阅读

概述

所有可以向Prometheus提供监控样本数据的程序都可以被称为一个Exporter.而Exporter的一个实例称为target,如图下所示,

Prometheus通过轮询的方式定期从这些target中获取样本数据:

9b6c7ed4-a0be-11ee-8b88-92fbcf53809c.jpg

这里Prometheus是通过pull(拉取的方式)从Target中获取样本数据

安装好Exporter后会暴露一个/metrics的HTTP服务,通过Prometheus添加配置Prometheus就可以采集到这个/metrics里面的所有监控样本数据


 - targets: ['node_exporter:9100'] 会自动带上/metrics

Exporter的来源

从exporter的来源上来讲,一共分俩类:

社区提供的

社区提供 (prometheus.io/docs/instru…)

9b806746-a0be-11ee-8b88-92fbcf53809c.jpg

Prometheus社区提供了丰富的Exporter实现,涵盖了从基础设施,中间件一级网络等各个方面的监控功能.这些Exporter可以实现大部分通用的监控需求.下表列举一些社区中常用的Exporter:

使用范围 常用的Exporter
数据库 MySQL Exporter,RedisExporter,MongDB Exporter,MSSQL Exporter等
硬件 Apcupsd Exporter,IoT Edison Exporter,IPMI Exporter等
消息队列 Kafka Exporter,RabbitMQ Exporter,NSQ Exporter等
存储 Ceph Exporter,Gluster Exporter,HDFS Exporter,等
HTTP服务 Apache Exporter,HAProxy Exporter,Nginx Exporter等
API服务 AWS Exporter,Docker Cloud Exporter,Docker Hub Exporter,GitHub Exporter等
日志 Flue Exporter,Grok Exporter等
监控系统 Collectd Exporter,Graphite Exporter,InfluxDB Exporter,Nagios Exporter等
其他 Blockbox Exporter,JIRA Exporter,Jenkins Exporter,Confluence Exporter等

用户自定义

除了直接使用社区提供的Exporter程序意外,用户还可以基于Prometheus提供的Client Library创建自己的Exporter程序,目前Prometheus社区官方提供了对以下编程语言的支持:Go,java,Python,Ruby.同事还有第三方实现的如:Bash,C++,Common Lisp,Erlang,Haskeel,Lua,Node.js,PHP,Rust等.

Exporter类型

通常来说可以将Exporter分为俩类

直接采集型 这类Exporter直接内置了相应的应用程序,用于向Prometheus直接提供Target数据支持.这样设计的好处是,可以更好的监控各自系统的内部运行状态,同时也适合更多自定义监控指标的项目实施.例如k8s 等.他们均内置了用于Prometheus提供监控数据的端点.

间接采集型 原始监控目标并不直接支持Prometheus,需要我们使用Prometheus提供的Client Library编写该监控目标的监控采集程序,用户可以将该程序独立运行,去获取指定的各类监控数据值.例如,由于Linux操作系统自身并不能直接支持Prometheus.用户无法从操作系统层面上直接提供对Prometheus的支持,因此单独安装Node Exporter,还有数据库或网站HTTP应用类等Exporter.

Exporter规范

所有的Exporter程序都需要按照Prometheus的规范,返回监控的样本数据.以Node Exporter为例,当访问/metrics结尾地址时会返回一下内容:


go_gc_duration_seconds{quantile="0"} 4.029e-05
go_gc_duration_seconds{quantile="0.25"} 5.2092e-05
go_gc_duration_seconds{quantile="0.5"} 6.3091e-05
go_gc_duration_seconds{quantile="0.75"} 8.9905e-05
go_gc_duration_seconds{quantile="1"} 0.000300032
go_gc_duration_seconds_sum 2.6172319120000003
go_gc_duration_seconds_count 36170




go_goroutines 9




go_info{version="go1.19.3"} 1




go_memstats_alloc_bytes 2.19788e+06

以#开头的行通常都是注释内容,这些样本数据集合说明如下:

以#HELP开始的行,表示metric的帮助与说明注释,可以包含当前监控指标名称和对应的说明信息.

以#TYPE开始的行,表示定义metric类型,可以包含当前监控指标名称和类型,类型有Counter,Gauge....

非#开头的行,就是监控样本数据

样本数据如何存储Prometheus的库中


go_memstats_alloc_bytes 2.19788e+06


go_memstats_alloc_bytes{instance="localhost:9090", job="prometheus"} timestamp(时间戳) value(样本值)

链接:https://juejin.cn/post/7315240062651023401







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2904

    浏览量

    102998
  • HTTP
    +关注

    关注

    0

    文章

    467

    浏览量

    30317
  • 数据存储
    +关注

    关注

    5

    文章

    896

    浏览量

    50586
  • C++语言
    +关注

    关注

    0

    文章

    146

    浏览量

    6878

原文标题:Prometheus实战篇:什么是Exporter

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    力天手把手教你学单片机视频全集下载

    .rarhttp://115.com/file/e7fv6828#17.第九讲.输出型外设与51的IO口上--力天手把手教你学单片机之实战篇.rarhttp://115.com/file
    发表于 02-14 17:06

    小七免杀论坛vip 2013源码免杀培训课程

    实战篇----瑞星还能再低调么?第十三课:源码免杀实战篇----江民这是肿么了.第十四课:源码免杀实战篇----诺顿(百度说你是世界三大杀毒哇)第十五课:源码免杀实战篇----AVG(
    发表于 10-05 17:35

    【连载贴】【NetRotuer之像学单片机一样学linux笔记】一、目录

    1.8.2写一个页面配置系统 1.8.3页面数据与服务器交互 1.8.4php以及lighttpd安装1.9. 实战篇之串口转wifi2.0. 实战篇之wifi读卡器 2.1.实战篇之点阵广告系统 2.2
    发表于 02-16 17:38

    《HELLO+FPGA》-+项目实战篇

    《HELLO+FPGA》-+项目实战篇
    发表于 09-27 10:08

    prometheus做监控服务的整个流程介绍

    Exporter,用户也可以自定义Exporter,当然需要基于Prometheus提供的Client Library创建自己的Exporter程序,提供了对多种语言的支持包括:Go、
    发表于 12-23 17:34

    【电子书】《HELLO FPGA》- 项目实战篇

    `项目实战篇以例举三人表决器、数字时钟、多终端点歌系统、数字示波器这四个实际的工程项目,手把手带领大家从分析工程、分解工程到最终实现工程。`
    发表于 04-06 14:20

    如何开发符合AUTOSAR规范的电机控制器软件

    软件开发的基本知识,CAN通信基础,UDS诊断协议基础,CCP/XCP数据标定基础,永磁同步电机矢量控制基础,基于模型建模的软件开发基础;实战篇内介绍如何基于TC277芯片完成电机控制器Bootlader
    发表于 08-30 08:59

    触摸按键控制LED学习笔记

    实战篇_流水灯第17节:实战篇_按键控制LED第18节:实战篇_按键控制蜂鸣器(按键消抖)第19节:实战篇_触摸按键控制LED第20节:实战篇
    发表于 02-24 06:24

    《HarmonyOS原子化服务卡片原理与实战》清华大学出版社李洋著

    ,常用组件布局开发,业务功能与数据管理开发三章。第三案例实战篇为本书的第7章到第9章,分别是设计与UX相关、案例实战开发练习、编译测试与上架申请。本书创作主要使用了JS、Java、 eTS三类开发语言
    发表于 12-29 12:14

    笔记本无线上网之实战篇

    笔记本无线上网之实战篇 无线上网实战篇   考虑到CDMA1X方式速率方面以及技术上、功能上比GPRS更先进,
    发表于 01-18 11:14 326次阅读

    项目实战篇

    项目实战篇,VHDL资料,又需要的下来看看
    发表于 08-08 17:03 92次下载

    刘润5分钟商学院之实战篇电子版下载

    刘润5分钟商学院之实战篇电子版下载
    发表于 09-03 16:31 0次下载

    关于Prometheus监控系统相关的知识体系

    今天浩道跟大家分享关于Prometheus监控系统相关的知识体系,让你通过本文可以大体掌握其相关知识体系!
    的头像 发表于 10-20 09:06 882次阅读

    prometheus下载安装教程

    Server 并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的CPU使用率,我们需要使用到ExporterPrometheus
    的头像 发表于 01-13 16:07 6724次阅读
    <b class='flag-5'>prometheus</b>下载安装教程

    基于Prometheus开源的完整监控解决方案

    使用 Prometheus 官方提供的各种常用组件和中间件的 Exporter(比如常用的 MySQL,Consul 等等)。
    发表于 10-18 09:15 180次阅读
    基于<b class='flag-5'>Prometheus</b>开源的完整监控解决方案