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.1.tar.gz (5.0 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.1-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: prometheus-pandas-0.3.1.tar.gz
  • Upload date:
  • Size: 5.0 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.1.tar.gz
Algorithm Hash digest
SHA256 3a71769f4c74472e8a81b52b509f82344ce1ddb7d9724a83e9a4981d3a98df4f
MD5 27517778e1f12d70461c3adacdedab48
BLAKE2b-256 19af139bb9985f740cfb04426d7cf6a9938820f390c99d939f5f8e74ed5ceeaf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for prometheus_pandas-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 45eb59e5658682e562ee1875379a347df40d959e5cf632ffe42f372a8667ece3
MD5 8f0638ea4923100d9a3228bce7edb210
BLAKE2b-256 9b4eaea67a16d8db582536f16def4843f22e53bdbdde109cc176918445f5d0cb

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