当前位置: 首页 > 知识库问答 >
问题:

如何使用Prometheus存储Grafana可视化的数据

巢海
2023-03-14

在Pythonrequest.getjson.loads函数的帮助下,我能够从URL中获取数据。数据包含一个实例列表,其中每个实例都有instance_id、状态等指标。

我的问题是,我有没有办法将这些指标上传到普罗米修斯?我查看了pushgateway功能,但不确定这是否是进行数据推送和存储的正确方法。

我目前向普罗米修斯推送数据的工作如下:

from prometheus_client import CollectorRegistry, Gauge, push_to_gateway
from prometheus_client import Summary

registry1 = CollectorRegistry()
registry2 = CollectorRegistry()

s = Summary('request_latency_seconds', 'Description of summary', registry=registry1)
s.observe(4.7)

g = Gauge('job_last_success_unixtime', 'Last time a batch job successfully finished', registry=registry2)
g.set_to_current_time()

push_to_gateway('localhost:9091', job='batch_summary', registry=registry1)
push_to_gateway('localhost:9091', job='batch_gauge', registry=registry2)

但是,我不确定我应该推动什么公制类型(仪表,摘要或其他东西?)

下面是我希望推送的实例数据示例:

{'url': 'https://example.com', 
'created': '2017-09-17-time', 
'status_code': 200, 
'instance_start': '2018-09-17-time', }

我之所以把这些数据推给普罗米修斯,是因为我想用格拉法纳来获取这些数据并将其可视化。

Grafana图形的一个示例是:时间作为x轴,状态代码为200的实例数作为y轴。

任何想法或帮助都将不胜感激。非常感谢。

共有1个答案

端木志诚
2023-03-14

既然我做了类似的事情,我可以给你一些建议。正如github页面上所说,您可以使用pushgateway进行“临时和批处理作业,以向Prometheus公开其度量”。

我认为您需要汇总指标,但为了确保这一点,请阅读普罗米修斯文档页面上关于指标类型的文档。

您完成了第一部分,通过pushgateway公开了您想要的指标,您可以始终通过web浏览器或使用curl检查它是否正常工作:

你的IP:9091

如果您能在该端口上看到一些数据,您必须在prometheus服务器上设置您的配置。

您需要告诉prometheus服务器,该服务器应该获取网关的指标。您要查找的文件是“prometheus.yml”,其位置取决于您安装prometheus服务器的位置。

当你打开它时,你应该这样写:

  - job_name: 'SomeJob-Name'
    static_configs:
      - targets: ['YourIPADDRESS:9091']
        labels:
          environment: 'prod'

然后重新启动prometheus服务器,节点中的数据应该在PrometheusIP:9090/targets路径上可见。

 类似资料:
  • 我有一个简单的spring引导应用程序(使用Maven),我使用Prometheus对其进行了检测,以收集特定于应用程序的度量。默认情况下,检测的Prometheus度量在上公开,但我不确定如何在Grafana上可视化这些度量。当我尝试在Grafana中设置datasource时,我得到一个错误: 找不到HTTP错误 下面是我的工作代码,它公开了上的度量 java:只公开几个endpoint。以便

  • 主要内容:1.Prometheus简介,2.Prometheus优势,Prometheus架构,3.安装,4.启动,5.PromSQL,6.Prometheus和grafana1.Prometheus简介 Prometheus受启发于Google的Brogmon监控系统(相似的Kubernetes是从Google的Brog系统演变而来),从2012年开始由前Google工程师在Soundcloud以开源软件的形式进行研发,并且于2015年早期对外发布早期版本。2016年5月继Kubernetes

  • 我有一个关于格拉法纳的问题。我如何在GKE上为格拉法纳使用现有的普罗米修斯执事。我不想为格拉法纳再增加一次普罗米修斯部署。在旋转GKE星团之后,我提出了这个问题。我检查了kube系统的名称空间,结果发现已经部署了普罗米修斯执事。 我想用这个普罗米修斯 我有带helm的Grafana部署stable/Grafana 目前,我正在使用stable/prometheus

  • 描述 作为grafana和prometheus世界的新手,我正在努力将laravel php cli应用程序中的自定义指标添加到grafana云,最好是通过grafana代理。 情况 我在一个linux服务器上使用grafana云和他们的grafana代理,该服务器运行一个laravel php工作者,没有Web服务器。grafana代理运行node_exporter集成。我已经尝试找到一些关于如

  • 我已经使用和Jetty在服务器(在8091)中部署了一个Java应用程序。 我需要用普罗米修斯和格拉法纳监控那个应用程序。 config.yaml 我在通常的部署中使用的部署命令:(在这个目录中,存在Jetty) 它很好用..

  • 这个任务展示了如何设置和使用Istio Dashboard对Service Mesh中的流量进行监控。作为这个任务的一部分,需要安装Grafana的Istio插件,然后使用Web界面来查看Service Mesh的流量数据。 开始之前 在集群上安装Istio并部署一个应用。 安装Prometheus插件。 kubectl apply -f install/kubernetes/addons/p