Skip to main content

A Python package to send data using Prometheus remote write protocol.

Project description

Prometheus Remote Writer

Python package License

Introduction

prometheus-remote-writer is a Python library designed to simplify the process of writing data to a database using the Prometheus Remote Write protocol. This library is platform-independent and aims to provide developers with an intuitive way to send time-series data to Prometheus-compatible storage.

Key Features

  • Easily write data to Prometheus-compatible storage backends.
  • Supports custom HTTP headers and authentication methods.
  • Provides a simple and easy-to-use API.
  • Supports batch data sending to improve transmission efficiency.

Installation

Before using prometheus-remote-writer, ensure that Python 3.8 or higher is installed on your system.

pip install prometheus-remote-writer

Quick Start

Here's a simple example of how to use prometheus-remote-writer in your project:

from prometheus_remote_writer import RemoteWriter

# Create a RemoteWriter instance
writer = RemoteWriter(
    url='https://your-prometheus-server/api/v1/write',
    headers={'Authorization': 'Bearer YOUR_ACCESS_TOKEN'}
)

# Prepare the data to send
data = [
    {
        'metric': {'__name__': 'cpu_usage', 'host': 'server1'},
        'values': [23.5, 24.1, 22.8],
        'timestamps': [1609459200000, 1609459260000, 1609459320000]
    }
]

# Send the data
writer.send(data)

Configuration

RemoteWriter supports the following configuration parameters: url (required): The URL of the Prometheus remote write endpoint. headers (optional): Custom HTTP headers for authentication or other purposes. timeout (optional): Request timeout in seconds, default is 10 seconds.

Unit Testing

This project uses pytest for unit testing. To run the tests, execute the following command:

pytest

Contribution Guide

We welcome contributions from the community! To contribute to prometheus-remote-writer, please follow these steps: Fork the repository. Create your feature branch (git checkout -b feature/YourFeature). Commit your changes (git commit -m 'Add some feature'). Push to the branch (git push origin feature/YourFeature). Open a pull request.

FAQ

Why can't I connect to the Prometheus server?

Ensure your network connection is active and the url is correct. You may also need to configure firewall rules to allow traffic.

How do I report a bug?

Please file a bug report on the GitHub issues page with detailed information and steps to reproduce the issue.

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Contact

If you have any questions or suggestions, feel free to contact us at xy.kong@gmail.com.

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_remote_writer-0.0.2.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

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

prometheus_remote_writer-0.0.2-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file prometheus_remote_writer-0.0.2.tar.gz.

File metadata

  • Download URL: prometheus_remote_writer-0.0.2.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for prometheus_remote_writer-0.0.2.tar.gz
Algorithm Hash digest
SHA256 c7459319ad19403a021694b9425277eb16324a9921495171d16b9ad2cd901400
MD5 1f5e15be9b11c9e1dcba69dd975be5d4
BLAKE2b-256 b1f909fb3badaf61557bb455ae9ebc7e92429f6e2a3ffc6df62c0c4faf25dee5

See more details on using hashes here.

Provenance

The following attestation bundles were made for prometheus_remote_writer-0.0.2.tar.gz:

Publisher: python-publish.yml on xykong/prometheus-remote-writer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file prometheus_remote_writer-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for prometheus_remote_writer-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 48af2324525ab0f8bcc2abf17c30bc078e07800dd720a90a721da7747e7dc024
MD5 045859fb3bedfcdd27aac37182ee9ab2
BLAKE2b-256 a1490c4948c9e897bdec242913653ba1b8e4a08a3508e98b808264793a20e1ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for prometheus_remote_writer-0.0.2-py3-none-any.whl:

Publisher: python-publish.yml on xykong/prometheus-remote-writer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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