Skip to main content

A Prometheus exporter for the Azure billing API

Project description

[![Build Status](https://travis-ci.org/blue-yonder/azure-cost-mon.svg?branch=master)](https://travis-ci.org/blue-yonder/azure-cost-mon)
[![Coverage Status](https://coveralls.io/repos/github/blue-yonder/azure-cost-mon/badge.svg?branch=master)](https://coveralls.io/github/blue-yonder/azure-cost-mon?branch=master)
[![PyPI version](https://badge.fury.io/py/azure-costs-exporter.svg)](https://badge.fury.io/py/azure-costs-exporter)

ACE azure-costs-exporter
========================

Prometheus exporter for the Microsoft Azure billing API. Check out
[this blog post](https://tech.blue-yonder.com/public-cloud-cost-control/) for
more background about the idea and some nice screenshots.

Description
-----------

**azure-costs-exporter** is a web app, that is intended to be called by [Prometheus](https://prometheus.io) to export billing information from Azure. It will then return the available metrics in Prometheus compatible format.

The billing API in use is part of the "Enterprise Agreement (EA)" Portal. Hence, it is not available for pay-as-you-go
subscriptions. The configuration requires an active EA with Microsoft.

Configuration
-------------

You need to create an `application.cfg` file with the following content:

ENROLLMENT_NUMBER="123456"
BILLING_API_ACCESS_KEY="XXX"
PROMETHEUS_METRIC_NAME="my_metric_name"

- `ENROLLMENT_NUMBER` is the unique ID that identifies a particular EA.
- The `BILLING_API_ACCESS_KEY` can be created in the [EA portal](https://ea.azure.com/) to gain
access to the billing API. Navigate to "Reports > Download Usage" and generate an API Access Key.
- `PROMETHEUS_METRIC_NAME` is the name of the time series that will be generated in Prometheus.

Deployment
----------

E.g. via `gunicorn`. In an activated `virtualenv`, you can do:

pip install azure-costs-exporter gunicorn
cp /path/to/application.cfg .
gunicorn azure_costs_exporter:app

Tests
-----

The used python testing tool is [pytest](https://docs.pytest.org/en/latest/).
To run the tests:

```bash
mkvirtualenv billing
pip install -r requirements_dev.txt
pip install -e .
py.test
```

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

azure_costs_exporter-0.4.0.tar.gz (9.2 kB view details)

Uploaded Source

Built Distributions

azure_costs_exporter-0.4.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

azure_costs_exporter-0.4.0-py2-none-any.whl (5.3 kB view details)

Uploaded Python 2

File details

Details for the file azure_costs_exporter-0.4.0.tar.gz.

File metadata

File hashes

Hashes for azure_costs_exporter-0.4.0.tar.gz
Algorithm Hash digest
SHA256 f5b1dd7d8b535c272941dc8ba9da39b0d61b79aa2c2578649e1c2d558266b80e
MD5 1438f6e25bd848f87ff632e199b54b26
BLAKE2b-256 ecd863c9e82b008af11c11ff1c19ee4edf53b669ae747c9bfcc8583a1c33d2a4

See more details on using hashes here.

File details

Details for the file azure_costs_exporter-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for azure_costs_exporter-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f1ef536fbbecf7ee6d6b67772f35cb0322de477f6dd5b10980fde3c1cb5fe30d
MD5 949723857519b1561a7ce24e7acb1d0d
BLAKE2b-256 8851f70fd867aa7616db1a6efc98fa953dc7810adbac66b1668eebdad23e6fd1

See more details on using hashes here.

File details

Details for the file azure_costs_exporter-0.4.0-py2-none-any.whl.

File metadata

File hashes

Hashes for azure_costs_exporter-0.4.0-py2-none-any.whl
Algorithm Hash digest
SHA256 05cc7b0836d73013ba9fd1c9d7b9ef8c08074f7174e0b2172d5f4d0536e557ca
MD5 3e175f197b89b3347e701ee2b2e50dc4
BLAKE2b-256 10d98bf018a36dd86b9bc8e7f49680d46a9faa5658cdd0477c7fcb3c4181765e

See more details on using hashes here.

Supported by

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