Does Prometheus allow you to scrape JSON information from an endpoint?

Joshua Alger picture Joshua Alger · Jul 13, 2017 · Viewed 19.3k times · Source

I am using Prometheus to instrument a Node.js application for monitoring. I am currently using the following Node.js client for instrumentation:

prom-client

I have everything configured to gather and collect default metrics from my Node.js application and the monitoring is working as expected. I want to know if it is possible for Prometheus to scrape JSON from an endpoint that my application exposes.

For example, the Node.js application has a health check endpoint (/health), that returns simple JSON data (boolean values or 0/1) about the overall health of the application as well as it's dependencies. Can I configure Prometheus and/or the prom-client to scrape the JSON from the health endpoint and then record metrics based on that information?

Answer

ConorB picture ConorB · Jul 13, 2017

I believe you can.

The blogposts I have linked below detail how this is done using the Prometheus Python client to ingest metrics in JSON format into Prometheus.

https://www.robustperception.io/writing-a-jenkins-exporter-in-python/ https://www.robustperception.io/writing-json-exporters-in-python/