系列文章

Grafana Prometheus 数据源

Grafana 提供了对 Prometheus 的内置支持。本文会介绍 Grafana Prometheus(也包括 Prometheus 的兼容实现,如 Thanos, Mimir 等) 数据源的部分选项、变量 (Variable)、查询 (Query) 和其他针对 Prometheus 数据源的功能。

配置 Prometheus 数据源

这里选择几项重要的部分进行说明:

  • URL: Prometheus Server 的 URL, 示例为:http://prometheus.example.org:9090 (不需要 path 等信息)
  • Manage alerts via Alerting UI: 启用后可以集成 AlertManager, Grafana 可以显示、管理 AlertManager。启用后,可以选择对应的 Prometheus AlertManager 数据源
    • Alertmanager data source: 下拉框,选择对应的 Prometheus AlertManager 数据源
  • Type: Prometheus Server 的类型;包括 Prometheus, Cortex, Thanos, Mimir。当选择时,版本字段会尝试使用 Prometheus buildinfo API 自动填充。一些普罗米修斯类型,如 Cortex,不支持这个 API,必须手动填入。
  • Disable metrics lookup: 勾选该选项将禁用查询字段自动完成中的度量选择器和度量/标签支持。如果你在较大的 Prometheus 实例中遇到性能问题,这将有所帮助。
  • Custom query parameters: 在 Prometheus 查询 URL 中添加自定义参数。例如,timeoutpartial_responsededup、或max_source_resolution。多个参数应该用&连接起来。
    • 如:max_source_resolution=5m&timeout=10

配置 Exemplars

Note:

在 Prometheus v2.26 及以上版本与 Grafana v7.4 及以上版本中可用。

前文 所述,Exemplars 用途是用于在 Metric -> Traces 无缝跳转。

Grafana 7.4 及更高版本可以在 "Explore" 和 "Dashboards" 中显示 Exemplars 数据与指标。Exemplars 数据将来自特定事件的 higher-cardinality metadata 与传统的时间序列数据联系起来。

  • Internal link: 如果你有一个内部链接,启用这个选项。启用后,这将显示数据源选择器。为你的示例数据选择后端 tracing 数据存储。如 Grafana 内部的 Tempo 数据源或 Jaeger 数据源。
  • Data source: (只有当你启用 "Internal link"时才可见) 为你的示范数据选择后端追踪数据存储。
  • URL: (只有当你禁用 "Internal link"时才可见) 定义了外部链接的完整 URL。你可以通过使用${__value.raw} 从该字段中插值。
  • Label name: 为 exemplars 的 traceID 属性添加一个名称。

Prometheus YAML 配置示例

典型示例如下:(基于 Grafana 9)

apiVersion: 1

datasources:
- name: Prometheus
type: prometheus
# Access mode - proxy (server in the UI) or direct (browser in the UI).
access: proxy
url: http://localhost:9090
jsonData:
httpMethod: POST
manageAlerts: true
prometheusType: Prometheus
prometheusVersion: 2.37.0
cacheLevel: 'High'
exemplarTraceIdDestinations:
# Field with internal link pointing to data source in Grafana.
# datasourceUid value can be anything, but it should be unique across all defined data source uids.
- datasourceUid: my_jaeger_uid
name: traceID # Field with external link.
- name: traceID
url: 'http://localhost:3000/explore?orgId=1&left=%5B%22now-1h%22,%22now%22,%22Jaeger%22,%7B%22query%22:%22$${__value.raw}%22%7D%5D'

EOF

三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.

Grafana 系列-统一展示-2-Prometheus 数据源的更多相关文章

  1. kong插件Prometheus+grafana图形化展示

    目录 1. 准备工作 3. 为kong添加 prometheus插件 4. 打开kong的metrics支持 4. 配置prometheus.yml添加kong提供的数据信息 5. 在 Grafana ...

  2. Grafana 系列文章(十二):如何使用Loki创建一个用于搜索日志的Grafana仪表板

    概述 创建一个简单的 Grafana 仪表板, 以实现对日志的快速搜索. 有经验的直接用 Grafana 的 Explore 功能就可以了. 但是对于没有经验的人, 他们如何能有一个已经预设了简单的标 ...

  3. 【转载四】Grafana系列教程–Grafana基本概念

    在上面几篇文章中,我们介绍了Grafana的安装配置以及运行的方法,本篇文章我们就来介绍下Grafana的基本概念. 有问题欢迎加群讨论,InfluxDB&Grafana技术交流群:58048 ...

  4. Grafana 系列文章(一):基于 Grafana 的全栈可观察性 Demo

    ️Reference: https://github.com/grafana/intro-to-mlt 这是关于 Grafana 中可观察性的三个支柱的一系列演讲的配套资源库. 它以一个自我封闭的 D ...

  5. Grafana 系列文章(四):Grafana Explore

    ️URL: https://grafana.com/docs/grafana/latest/explore/ Description: Explore Grafana 的仪表盘 UI 是关于构建可视化 ...

  6. Grafana 系列文章(五):Grafana Explore 查询管理

    ️URL: https://grafana.com/docs/grafana/latest/explore/query-management/ Description: Explore 中的查询管理 ...

  7. Grafana 系列文章(六):Grafana Explore 中的日志

    ️URL: https://grafana.com/docs/grafana/latest/explore/logs-integration/#labels-and-detected-fields D ...

  8. Grafana 系列文章(九):开源云原生日志解决方案 Loki 简介

    简介 Grafana Labs 简介 Grafana 是用于时序数据的事实上的仪表盘解决方案.它支持近百个数据源. Grafana Labs 想从一个仪表盘解决方案转变成一个可观察性 (observa ...

  9. Grafana 系列文章(十四):Helm 安装Loki

    前言 写或者翻译这么多篇 Loki 相关的文章了, 发现还没写怎么安装 现在开始介绍如何使用 Helm 安装 Loki. 前提 有 Helm, 并且添加 Grafana 的官方源: helm repo ...

  10. Grafana 系列文章(十五):Exemplars

    Exemplars 简介 Exemplar 是用一个特定的 trace,代表在给定时间间隔内的度量.Metrics 擅长给你一个系统的综合视图,而 traces 给你一个单一请求的细粒度视图:Exem ...

随机推荐

  1. js屏蔽开发者工具

    一.屏蔽浏览器右键菜单审查元素 document.oncontextmenu = function () { return false; }; 二.屏蔽F12以及ctrl+shift+i 打开调试工具 ...

  2. loadrunner添加/清除 cookies

    web_add_cookie("reloadCount=1;domain={Host}"); 清除 cookies web_cleanup_cookies():

  3. python使用zipfile压缩文件,包括空目录

    zipfile压缩文件.包括空目录 # !/usr/bin/python import os import zipfile def zipdir(dirPath=None, zipFilePath=N ...

  4. classload加载机制

    BootstrapClassLoader.ExtClassLoader.AppClassLoader实际是查阅相应的环境属性sun.boot.class.path.java.ext.dirs和java ...

  5. jetbrains账户的注册

    注册步骤 1.进入官网界面 官网地址在这里啦:https://www.jetbrains.com/ 官网本来显示的是这个界面: 点击右上角的Learning Tools,然后选择该页面内的这里: 2. ...

  6. Javaweb基础复习------Cookie+Session案例的实现(登录注册案例)

    Cookie对象的创建--Cookie cookie=new Cookie("key","value"); 发送Cookie:resp.addCookie(); ...

  7. Linux & 标准C语言学习 <DAY11>

    一.指针     1.什么是指针         指针是一种特殊的数据类型,使用指针可以定义指针变量,指针变量存储的是整形数据,该数据代表了内存的编号(地址),可以通过这个编号访问到对应的内存     ...

  8. MySQL8.0 的新特性

    一.优化器索引 [1] 隐藏索引(invisible index):在 MySQL 8.0 中,索引可以被"隐藏"和"显示".当对索引进行隐藏时,它不会被查询优 ...

  9. C#中的命名空间和程序集

    前言 今天这篇文章和大家一起学习下C#语言下的命名空间和程序集. 在日常的编码工作中,我们对命名空间和程序集都不会很陌生.在创建项目文件时,IDE自动会为我们创建好一个大的命名空间和程序集.大多数业务 ...

  10. 怎么用ChatGPT写代码,ChatGPT怎么改代码修BUG

    ChatGPT 是一个自然语言处理模型,可以模拟人类语言生成文本,可以用于写代码和修复bug.在本文中,我们将介绍如何使用 ChatGPT 写代码和修bug. 怎么用ChatGPT写代码? 虽然 Ch ...