Property | Data |
---|---|
Language / IDE | |
Domain Knowledge | |
CI/CD | |
Databases | |
OS | |
DevOps | |
Monitoring Tools / Platforms |
Β | Β |
---|---|
-
π I regularly write articles on Medium
-
π¬ Ask me about Docker, Kubernetes, Prometheus, PromQL, Loki, LogQL, Grafana
Extended HTTP API service for Prometheus
Home Page: https://hayk96.github.io/prometheus-api/
License: MIT License
Property | Data |
---|---|
Language / IDE | |
Domain Knowledge | |
CI/CD | |
Databases | |
OS | |
DevOps | |
Monitoring Tools / Platforms |
Β | Β |
---|---|
π I regularly write articles on Medium
π¬ Ask me about Docker, Kubernetes, Prometheus, PromQL, Loki, LogQL, Grafana
Describe the bug
When calling the /export
API to generate CSV reports, the server creates a file with the static name data.csv
(code). If multiple users call this API at the same time, they will receive incorrect responses from the server
To Reproduce
Expected behavior
The server should generate files with random names. It would be better to generate these files in the /tmp directory.
Screenshots
N/A
Specifications
Additional context
N/A
Is your feature request related to a problem? Please describe.
Add functionality to override (rename) labels/fields in the /export API. This solution will make the reports more flexible and business-oriented.
Describe the solution you'd like
The request body JSON should accept new fields, such as fields_override, with the type map (dictionary). For example:
{
"expr": "users_login_count{status=success}",
"start": "2024-01-30T00:00:00Z",
"end": "2024-01-31T23:59:59Z",
"step": "1h",
"replace_fields": {
"__name__": "Name",
"job": "Group",
"timestamp": "Date"
}
}
Describe alternatives you've considered
N/A
Additional context
N/A
Is your feature request related to a problem? Please describe.
Support the filtering of rules by type (Recording or Alerting) from the UI. This feature will allow users to filter the necessary rule types from the 'Rules Management' page.
Describe the solution you'd like
Addition of a new button on the 'Rules Management' page, which will allow for the selection of a type: Alerting, Recording, or All.
Describe alternatives you've considered
N/A
Additional context
N/A
1γDoes the current project support modifying rules for Thanos Ruler via API calls?
2γIf it does not support currently, are there any plans to do so in the future?
Is your feature request related to a problem? Please describe.
In some cases, the timestamp format used in the timestamp
field is not convenient for data representation.
__name__,instance,job,timestamp,value
up,prometheus-api:5000,prometheus-api,1719131438.585,1
up,localhost:9090,prometheus,1719131438.585,1
Describe the solution you'd like
It would be much better to support several time formats such as ISO8601
, RFC2822
, RFC-3339
, etc.
Describe alternatives you've considered
N/A
Additional context
N/A
Is your feature request related to a problem? Please describe.
We need to add unit tests to ensure the reliability and correctness of all API endpoints. This will help catch bugs early and maintain the quality of our codebase.
Describe the solution you'd like
Use a testing framework like unittest, pytest, or nose.
Describe alternatives you've considered
N/A
Additional context
Is your feature request related to a problem? Please describe.
This proposal aims to solve challenges such as managing Prometheus rules (alerting and recording) via text editors, which require reloading (restarting in the worst cases) Prometheus service after each rule change. Considering the enhanced API functionality that the Prometheus API provides, it is fully possible to build a lightweight user interface on top of this proxy application.
Describe the solution you'd like
Create a simple, yet highly functional, user interface using HTML, CSS, and JS on top of the prometheus-api project. It is suggested that this UI be disabled by default because the primary goal of the prometheus-api project is to provide API functionalities.
Describe alternatives you've considered
N/A
Additional context
This functionality will make the development, debugging, and management of production rules processes faster and more flexible while engineers work on their Prometheus rules.
Is your feature request related to a problem? Please describe.
As the application already has an API for exporting data from Prometheus in multiple formats, this feature needs to be made available on the web.
Describe the solution you'd like
Build a web page, "Reporting Page," where users can type their PromQL, provide necessary attributes like times, field names, etc., and export the required data by accessing everything that the /export API provides.
Describe alternatives you've considered
N/A
Additional context
N/A
Is your feature request related to a problem? Please describe.
Add a new API that allows users to export data as a CSV file based on their Prometheus queries.
Describe the solution you'd like
This API should use the native Prometheus API /api/v1/query
.
Describe alternatives you've considered
N/A
Additional context
N/A
It's an awesome project, seems solved my problem: we cant configure alert rules through HTTP APIs :(
Is your feature request related to a problem? Please describe.
Add a new API that will allow configuring and updating the main Prometheus configuration file (prometheus.yml) through the API.
Describe the solution you'd like
This API should be based on the following API.
Describe alternatives you've considered
N/A
Additional context
Add any other context or screenshots about the feature request here.
In addition to all of this, the feature should be visible on the UI as well where users can easily add or update Prometheus targets, etc.
Is your feature request related to a problem? Please describe.
The proposed endpoint should return "OK" when the dependent application, Prometheus, is ready and running properly.
Describe the solution you'd like
Implement a new FastAPI route, for example, /health
, and include all checks that we use in the main module, such as filesystem checks, Prometheus checks, etc.
Describe alternatives you've considered
N/A
Additional context
N/A
Is your feature request related to a problem? Please describe.
As we already have an /export API that returns the requested data from Prometheus as a CSV file, we need to support additional formats such as YAML, JSON and NDJSON.
Describe the solution you'd like
The API must take HTTP query parameters like ?format=csv|yaml|yml|json
default should be csv
Describe alternatives you've considered
N/A
Additional context
N/A
Is your feature request related to a problem? Please describe.
Currently, the 'Rules Management' page supports only a light theme. The purpose of this feature request is to add support for a dark theme as well, allowing users to choose their preferred color theme.
Describe the solution you'd like
An additional button is needed on the 'Rules Management' page that will allow users to select their preferred theme mode.
Describe alternatives you've considered
N/A
Additional context
N/A
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.