繁体   English   中英

创建一个 API 来连接 ArangoDB 和 Prometheus 以获取 ArangoDB 内部数据的指标并在 Prometheus 中公开

[英]Creating an API to connect between ArangoDB and Prometheus to get the metrics of the data inside ArangoDB and expose it in Prometheus

我正在尝试创建一个 API 来连接 ArangoDB 和 Prometheus。 我对 ArangoDB 中的数据进行了统计,例如,我想在 Prometheus 中看到多少次启动模拟。 因此,如果我理解的正确,我想确认以下问题:

  1. 我查看了 Prometheus 的入门指南( https://prometheus.io/docs/prometheus/latest/getting_started/ ),我们在 Prometheus 中使用了 node_exporter 指标。 我们需要启动这个 node_exporter 并将其暴露在特定的 IP 地址和端口(侦听地址)上,然后我们需要在 Prometheus 配置中配置目标以定位运行 node_exporter 的这些端口。 Therefore, for my API, I need to create an API and app in Golang and this API/App need to be exposed in the specific HTTP port (for example 8001), then in Prometheus, I need to add the target for 8001 port in为了让普罗米修斯能够刮到我的 API。 那是对的吗?
  2. 我需要找出 Prometheus 理解的数据格式。 我需要在我的 API(来自 API)和 Prometheus(进入 Prometheus)之间定义数据格式。 我从这个文档( https://prometheus.io/docs/instrumenting/exposition_formats/ )中发现它是这种形式的文本格式:
metric_name [ "{" label_name "=" `"` label_value `"` { "," label_name "=" `"` label_value `"` } [ "," ] "}" ] value [ timestamp ]

这个对吗? 你能确认我的理解吗?

最后,如果你能向我推荐一个已经有人做过这种 API 来连接 ArangoDB 和 Prometheus 的来源,那就太好了。 这真的会帮助我开始这个项目。 非常感谢你。

您可能只需要找到一个允许您绘制数据的系统。 Prometheus 有一项名为Grafana的兄弟技术。

Prometheus 是一种工具,被配置为定期从系统的端点(==目标)刮取(读取)测量值。 这些测量描述了系统在刮擦时的 state。 Prometheus 将这些测量记录在时间序列数据库中,并提供一种富有表现力的查询语言,可以在数据中找到洞察力。 Prometheus 也包括此时间序列数据的基本图表。 Prometheus 经常与 Grafana 结合使用。

您的问题表明您不是要监视数据库的 state,而是要绘制数据库表中包含的(统计)数据。 如果是这样,Prometheus 可能不是您所需要的。

为了回答您的问题,Prometheus 要求系统以一种称为 Exposition Format 的简单文本格式发布指标集。 任何以这种格式生成数据并可以在 HTTP 端点上提供指标的系统都可以被 Prometheus 抓取。

Node Exporter 就是这种系统的一个例子,它发布了可以被 Prometheus 抓取的指标。 它发布节点(==主机)指标。

ArangoDB 是另一个可以以 Prometheus 的 Exposition 格式发布指标(关于它的 state;数据库系统的 state)的系统,参见:

https://www.arangodb.com/2020/03/monitoring-arangodb-prometheus-grafana/

我怀疑,您需要一个解决方案来绘制您已经存储在 ArangoDB 表中的一组数据。 为此,您可以将 Grafana 之类的系统连接到您的数据库,然后使用 SQL 查询以可以图形化的形式显示数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM