Skip to main content

Pandas integration for Prometheus

Project description

Prometheus Pandas

Python library for querying Prometheus and accessing the results as Pandas data structures.

This is mostly intended for use in Jupyter notebooks. See Prometheus.ipynb for an example.

Example

Evaluate an instant query at a single point in time:

>>> from prometheus_pandas import query
>>>
>>> p = query.Prometheus('http://localhost:9090')
>>> p.query('node_cpu_seconds_total{mode="system"}', '2020-05-10T00:00:00Z')
node_cpu_seconds_total{cpu="0",instance="localhost:9100",job="node",mode="system"}    15706.47
node_cpu_seconds_total{cpu="1",instance="localhost:9100",job="node",mode="system"}    15133.25
node_cpu_seconds_total{cpu="2",instance="localhost:9100",job="node",mode="system"}    15095.59
node_cpu_seconds_total{cpu="3",instance="localhost:9100",job="node",mode="system"}    14649.20
dtype: float64

Evaluates an expression query over a time range:

>>> from prometheus_pandas import query
>>>
>>> p = query.Prometheus('http://localhost:9090')
>>> print(p.query_range(
        'sum(rate(node_cpu_seconds_total{mode=~"system|user"}[1m])) by (mode)',
        '2020-10-05T00:00:00Z', '2020-10-05T06:00:00Z', '1h'))
dtype: float64
---
                     {mode="system"}  {mode="user"}
2020-10-05 00:00:00         0.022667       0.038222
2020-10-05 01:00:00         0.015333       0.036667
2020-10-05 02:00:00         0.028000       0.040667
2020-10-05 03:00:00         0.015111       0.034889
2020-10-05 04:00:00         0.015556       0.038000
2020-10-05 05:00:00         0.018444       0.040222
2020-10-05 06:00:00         0.018222       0.035111

Customizing the HTTP request:

>>> import requests
>>> from prometheus_pandas import query
>>>
>>> http = requests.Session()
>>> http.cert = '/path/client.cert'
>>> http.verify = '/path/to/certfile'
>>>
>>> p = query.Prometheus('http://localhost:9090', http)
>>> print(p.query('node_cpu_seconds_total{mode="system"}', '2020-10-05T00:00:00Z'))
node_cpu_seconds_total{cpu="0",instance="localhost:9100",job="node",mode="system"}    3954.92
dtype: float64

Installation

Latest release via pip:

pip install prometheus-pandas [--user]

via Git:

git clone https://github.com/dcoles/prometheus-pandas.git; cd prometheus-pandas
python3 setup.py install [--user]

Licence

Licenced under the MIT License. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prometheus-pandas-0.3.2.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prometheus_pandas-0.3.2-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file prometheus-pandas-0.3.2.tar.gz.

File metadata

  • Download URL: prometheus-pandas-0.3.2.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.5

File hashes

Hashes for prometheus-pandas-0.3.2.tar.gz
Algorithm Hash digest
SHA256 cf2b1d9583e3be17b1b407d6e2fbc637a9923d551b58b57e02f43584658201bc
MD5 6b76acc7dc8482228f1983210dc618ab
BLAKE2b-256 4680c544699e83fa5a3baa793e02f4003ad95af96c4def401a288d55d772cc59

See more details on using hashes here.

File details

Details for the file prometheus_pandas-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for prometheus_pandas-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e347ab3496ec465ed3dab2f7d6f077709d880b820fb68af25db153a807c70a1a
MD5 e357fcb75c69faf79f8d27a213d840b9
BLAKE2b-256 cac7a097384b9d2cb6f90b200f89977d8f5f9dde4ad4caddc42cee8888f7d08c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page