Prometheus 从第三方系统的API调用中获取数据,并在Promethues中显示

Prometheus 从第三方系统的API调用中获取数据,并在Promethues中显示,prometheus,Prometheus,我是普罗米修斯的新手,正在尝试使用python库编写自定义导出器。为此,我使用普罗米修斯客户机 我的最终目标是监视vault节点。我有许多API可用于收集vault节点的指标。最后,我想让我的promethues dahsboard说: vault_total_conection <some-number> vault_total_secrets <some-number> 现在我对vault的API设置都已经解决了。我有一个函数,可以联系vault并返回一个浮点数 d

我是普罗米修斯的新手,正在尝试使用python库编写自定义导出器。为此,我使用普罗米修斯客户机

我的最终目标是监视vault节点。我有许多API可用于收集vault节点的指标。最后,我想让我的promethues dahsboard说:

vault_total_conection <some-number>
vault_total_secrets <some-number>
现在我对vault的API设置都已经解决了。我有一个函数,可以联系vault并返回一个浮点数

def extract_metric_from_vault():
    // some code
    return float_number
所以这个函数是在上面的代码中定义的。我很难理解的是如何将其与promethue客户端集成。我想使用仪表,因为我知道该值将是高或低

所以我试着做一些事情,比如:

TEST_VALUE   = Gauge('vault_total_conection', 'Description of gauge')
TEST_VALUE.extract_metric_from_vault()
但这显然不起作用

我得到一个错误:

Traceback (most recent call last):
  File "main.yaml", line 8, in <module>
    TEST_VALUE.extract_metric_from_vault()
AttributeError: 'Gauge' object has no attribute 'extract_metric_from_vault'

所以,有人能告诉我,我需要什么来连接这些点吗。我想使用函数从API调用中提取一些值,并在prometheus中显示它

好的,您需要在main中调用您的函数

然后,你需要计算仪表的值

TEST_VALUE.set(<extracted value>)
if __name__ == '__main__':
# Start up the server to expose the metrics.
start_http_server(8000)
# Generate some requests.
while True:
    extract_metric_from_vault()
TEST_VALUE.set(<extracted value>)