The suggestion in the other answer may be a good step forward. Thank you @vinodk.

Asking many developers on this subject, I finally found a good solution.

The solution is:

  • Use Prometheus as a data source of the availability measurements. Prometheus is needed anyway for regular monitoring.
  • To prevent that the monitoring data gets lost when a Docker image or node crashes, map the data volume to an external file storage, e.g. S3.
  • Use a data visualisation tool that performs a SINGLE but very powerful Prometheus API call.

As an example, this Prometheus API call gives the daily up (or availability) time over a period of a number of days. Take care of using Z/GMT times.

http://prometheus-server/prometheus/api/v1/query_range?query=avg_over_time(up[1h])*100&start=2019-12-15T06:00:00.000Z&end=2019-12-17T16:59:59.000Z&step=1d

What about alternatives?

1) Store the results of Prometheus in a remote database and query it seperately. It's a bit of overkill for just retrieving the availability percentages for a month.

2) You could use the tool 'Telegraph' which has a smaller memory footprint. It can store the data in InfluxDb. I like the Prometheus solution / architecture / standard for monitoring, so this option is not the right one in my case.

3) We use Spring Boot for our applications. Spring Boot Admin is not applicable because it only looks to the current situation and is not persisting the results.

Answer from tm1701 on Stack Overflow
🌐
Robust Perception
robustperception.io › monthly-reporting-with-prometheus-and-python
Monthly reporting with Prometheus and Python – Robust Perception | Prometheus Monitoring Experts
February 25, 2019 - Which is to say that as different months have different numbers of days, it's not possible to do monthly reporting directly in PromQL. However this is easy with a small bit of Python scripting: import datetime import time import requests # Install this if you don't have it already. PROMETHEUS = ':9090/' # Midnight at the end of the previous month.
🌐
Prometheus Group
prometheusgroup.com › learning-center › what-is-reporting-and-analytics-in-asset-management
Reporting and Analytics in Asset Management | Prometheus Group
September 23, 2025 - Developing key metrics or key performance indicators (KPIs) to track improvements allows all teams and departments to measure weekly, monthly, and yearly progress and make adjustments to reach desired outcomes. With Prometheus Reporting & Analytics, organizations have access to several ...
Discussions

docker swarm - Daily & monthly availability percentages via Prometheus? (or monthly uptime perc) - Stack Overflow
Needed are availability figures for one or more Docker services We use Prometheus to collect metrics in a Docker Swarm environment. Works fine! How can we get daily and/or monthly metrics? More on stackoverflow.com
🌐 stackoverflow.com
What reporting Tools are you using for Prometheus Data

I actually use Grafana to present reports to clients. I give them Viewer accounts and I can aggregate data from both Elasticsearch and Prometheus in the same dashboard/report.

But I've never used those more advanced tools that you mentioned so I have no idea how it compares.

More on reddit.com
🌐 r/PrometheusMonitoring
10
4
December 17, 2019
Monthly reporting with Prometheus and Python

Is there already a project automating this and storing it in some way? I was thinking about doing this for recording SLIs in a more long-term way.

More on reddit.com
🌐 r/PrometheusMonitoring
1
6
March 1, 2019
Generate reports from grafana/prometheus
https://github.com/IzakMarais/reporter More on reddit.com
🌐 r/devops
4
2
August 19, 2019
🌐
Prometheusgroup
info.prometheusgroup.com › hubfs › Updated Datasheets › Reporting and Analytics › Prometheus Group_Reporting and Analytics_DataSheet.pdf pdf
www.prometheusgroup.com Data Sheet 1 Prometheus Reporting and Analytics
Prometheus Reporting and Analytics · • Integration with all solutions on the Prometheus Platform. • Holistic view of individual, team, and department progress. • Data-driven decision-making helps improve maintenance · or operations work outcomes. • Easily prioritize work orders, tasks, or repairs based on · historical data. • Measure weekly, monthly, and yearly progress and ·
Top answer
1 of 2
1

The suggestion in the other answer may be a good step forward. Thank you @vinodk.

Asking many developers on this subject, I finally found a good solution.

The solution is:

  • Use Prometheus as a data source of the availability measurements. Prometheus is needed anyway for regular monitoring.
  • To prevent that the monitoring data gets lost when a Docker image or node crashes, map the data volume to an external file storage, e.g. S3.
  • Use a data visualisation tool that performs a SINGLE but very powerful Prometheus API call.

As an example, this Prometheus API call gives the daily up (or availability) time over a period of a number of days. Take care of using Z/GMT times.

http://prometheus-server/prometheus/api/v1/query_range?query=avg_over_time(up[1h])*100&start=2019-12-15T06:00:00.000Z&end=2019-12-17T16:59:59.000Z&step=1d

What about alternatives?

1) Store the results of Prometheus in a remote database and query it seperately. It's a bit of overkill for just retrieving the availability percentages for a month.

2) You could use the tool 'Telegraph' which has a smaller memory footprint. It can store the data in InfluxDb. I like the Prometheus solution / architecture / standard for monitoring, so this option is not the right one in my case.

3) We use Spring Boot for our applications. Spring Boot Admin is not applicable because it only looks to the current situation and is not persisting the results.

2 of 2
1

Recording Rules will help you to aggregate and group your ingested metrics on regular basis and their results are ingested into prometheus.

🌐
Reddit
reddit.com › r/prometheusmonitoring › what reporting tools are you using for prometheus data
r/PrometheusMonitoring on Reddit: What reporting Tools are you using for Prometheus Data
December 17, 2019 -

I'm using Grafana for Dashboarding and it works great.
But i'm looking for a Reporting Tool like Tableau, MS Power BI or IBM Cognos Analytics that is easy to use with Prometheus or InfluxDB Data.

Do you have any recommendations?

Build in Datasource Connector for Prometheus would be great, or at least an easy way to get the data into the reporting tool.

Use case: Create monthly (or any other timeframe) pdf reports with Prometheus data, enriched with some other data from SQL sources.

🌐
Prometheus Group
prometheusgroup.com › resources › prometheus-reporting-and-analytics
Prometheus Reporting & Analytics Datasheet | Prometheus Group
Gain deeper data understanding with custom maintenance reports & calculations. With them, learn to source required information from your maintenance system. We support many reports out-of-the-box.
🌐
Sysrant
sysrant.com › posts › monthly-reports-with-grafana-and-prometheus
Monthly reports with Grafana and Prometheus | Sysrant
July 16, 2021 - We can't really use the the interval for our monthly reports. One could try to set the interval to 30d, the time to 30d and you'll end up with weird things that do not really do what you want. The interval / resolution tells us more about 'granularity' of our data.
Find elsewhere
🌐
O11y
o11y.eu › blog › oy-periodic-queries
How To Query Prometheus within calendar boundaries
February 22, 2023 - We created a tool to generate monthly usage reports with Prometheus metrics.
🌐
Reddit
reddit.com › r › PrometheusMonitoring › comments › aujrlr › monthly_reporting_with_prometheus_and_python
r/PrometheusMonitoring - Monthly reporting with Prometheus and Python
March 1, 2019 - robustperception.io/monthl... 1 comment · share · save · hide · report · 87% Upvoted · Log in or sign up to leave a comment · Log InSign Up · Sort by: best · level 1 · · 3 yr. ago · Is there already a project automating this and storing it in some way? I was thinking about doing this for recording SLIs in a more long-term way. 1 · Reply · ShareReportSaveFollow · r/PrometheusMonitoring ·
🌐
Prometheus
prometheus.io
Prometheus - Monitoring system & time series database
An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.
🌐
Alhardy
alhardy.github.io › app-metrics-docs › reporting › prometheus.html
Prometheus Reporter
Prometheus promotes a Pull based approach rather than Push, therefore App Metrics does not include a reporter to push metrics, but rather supports formatting metric data in Prometheus format.
Author: prometheus
🌐
Prometheus Group
prometheusgroup.com › solutions › reporting-and-analytics
EAM Analytics and Reporting Software Solution | Prometheus Group
Reporting & Analytics Software - Leverage data-driven insights with our web-based RCM software for reporting and analytics. Make informed decisions, improve performance, and drive results. If we didn’t have this software, we would have to compute everything feeding into us. Performance Analytics calculates the benefits for me instantly. The key for us is, instead of just going out to search for leaks indiscriminately, we want to be able to see which specific areas need the leak detection. Gain access to tailored reports to see where you can improve efficiency in your maintenance and operations with Prometheus Group's Reportin
Rating: 5 ​
🌐
CostBench
costbench.com › home › observability › prometheus pricing › calculator
Prometheus Cost Calculator: Free–$90/month + Usage
July 8, 2026 - Chronosphere Custom pricing Contact ... Pingdom $10–$250/month Est: $50/mo ... This calculator uses official Prometheus pricing data verified as of 2026-07-08. Hidden cost estimates are based on 8 verified cost categories from real user reports....
🌐
AWS
docs.aws.amazon.com › amazon managed service for prometheus › user guide › understand and optimize costs in amazon managed service for prometheus
Understand and optimize costs in Amazon Managed Service for Prometheus - Amazon Managed Service for Prometheus
4 weeks ago - For more information, see What are AWS Cost and Usage Reports? in the AWS Cost and Usage Reports User Guide · Metric samples you ingest are the primary cost driver for Amazon Managed Service for Prometheus. The number of samples ingested directly determines your monthly charges, making it ...
🌐
Prometheus-macro
prometheus-macro.com › prometheus research › prometheus research
Prometheus Research - Prometheus Research
November 13, 2024 - This is our flagship in-depth monthly research report. The content is the most rigorous evaluation of macroeconomic conditions and their implications for major asset classes. The flagship report will inform the foundation and share our research ...
🌐
Medium
medium.com › @b.stoilov › everything-you-need-to-know-about-monitoring-with-prometheus-0a24b74764c6
Everything You Need To Know About Monitoring with Prometheus | by Borislav Stoilov | Medium
April 2, 2026 - As Prometheus is designed to only poll for metrics the way to achieve this is by utilizing a metric collector between the system and Prometheus that can accept metrics and then expose them by becoming a scrape target. This is useful when you are dealing with short-lived processes like tasks that won’t stay alive to report their metrics.
🌐
Tigera
tigera.io › home › prometheus monitoring › prometheus metrics
Prometheus Metrics: A Practical Guide | Tigera – Creator of Calico
July 30, 2021 - Applications expose data at a /metrics endpoint in a key-value format using labels, which the Prometheus server regularly scrapes and stores for real-time querying, dashboarding (for example, via Grafana), and alerting.
🌐
Tigera
tigera.io › home › prometheus monitoring
Prometheus Monitoring: The Complete Guide
July 30, 2021 - To get metrics, Prometheus requires an exposed HTTP endpoint. Once an endpoint is available, Prometheus can start scraping numerical data, capture it as a time series, and store it in a local database suited to time-series data.