如何将客户端应用程序事件导入普罗米修斯

how to get client app events into prometheus

我们在 ios 和 android 手机上有客户端应用程序 运行。 我们正在生成当前发送到对讲机的事件。 我们希望在普罗米修斯中有这些事件。

是否有一个快速的解决方案可以将它们放在 prometheus 中,并提供在线示例? 如果没有在线解决方案,添加一个端点客户端调用事件并且服务器将其暴露给 prom scraper 是不是一个坏主意?

为了让 prometheus 从您的应用中提取数据,您必须使用 prometheus 的客户端库。有一个按您可以使用的编程语言组织的列表 https://prometheus.io/docs/instrumenting/clientlibs/ .

但是,如果您不想或不能让您的应用程序使用这些库公开事件,您可以将事件推送到 Pushgateway 并让 Prometheus 从中提取数据。 “Pushgateway 是一种中介服务,它允许您从无法抓取的作业中推送指标。有关详细信息,请参阅推送指标。”来自 https://prometheus.io/docs/practices/pushing/

您可以在 prometheus.yml 配置文件中配置它

scrape_configs:
  - job_name: 'pushgateway'
    scrape_interval: 10s
    honor_labels: true
    static_configs:
      - targets: ['127.0.0.1:9091']

并使用 curl 或其他 api 推送指标。然后您将在您的普罗米修斯仪表板上看到示例 some_metric 3.14 中的指标。

echo "some_metric 3.14" | curl --data-binary @- http://127.0.0.1:9091/metrics/job/some_job