Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prometheus/collectd_exporter
A server that accepts collectd stats via HTTP POST and exports them via HTTP for Prometheus consumption
https://github.com/prometheus/collectd_exporter
Last synced: 3 months ago
JSON representation
A server that accepts collectd stats via HTTP POST and exports them via HTTP for Prometheus consumption
- Host: GitHub
- URL: https://github.com/prometheus/collectd_exporter
- Owner: prometheus
- License: apache-2.0
- Created: 2015-02-03T23:09:20.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-04-19T13:01:37.000Z (7 months ago)
- Last Synced: 2024-06-18T20:14:43.903Z (5 months ago)
- Language: Go
- Size: 3.34 MB
- Stars: 255
- Watchers: 22
- Forks: 70
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Collectd Exporter [![Build Status](https://travis-ci.org/prometheus/collectd_exporter.svg)][travis]
[![CircleCI](https://circleci.com/gh/prometheus/collectd_exporter/tree/master.svg?style=shield)][circleci]
[![Docker Repository on Quay](https://quay.io/repository/prometheus/collectd-exporter/status)][quay]
[![Docker Pulls](https://img.shields.io/docker/pulls/prom/collectd-exporter.svg?maxAge=604800)][hub]An exporter for [collectd](https://collectd.org/). It accepts collectd's
[binary network protocol](https://collectd.org/wiki/index.php/Binary_protocol)
as sent by collectd's
[network plugin](https://collectd.org/wiki/index.php/Plugin:Network) and
metrics in JSON format via HTTP POST as sent by collectd's
[write_http plugin](https://collectd.org/wiki/index.php/Plugin:Write_HTTP),
and transforms and exposes them for consumption by Prometheus.This exporter is useful for exporting metrics from existing collectd setups, as
well as for metrics which are not covered by the core Prometheus exporters such
as the [Node Exporter](https://github.com/prometheus/node_exporter).## Binary network protocol
collectd's *network plugin* uses a lightweight binary protocol to send metrics
from one instance to another. To consume these packets with
*collectd_exporter*, first configure collectd to send these metrics to the
appropriate address:```
LoadPlugin networkServer "prometheus.example.com" "25826"
```
Then start *collectd_exporter* with `--collectd.listen-address=":25826"` to
start consuming and exporting these metrics.## JSON format
collectd's *write_http plugin* is able to send metrics via HTTP POST requests.
*collectd_exporter* serves an appropriate end-point which accepts, parses and
exports the metrics. First, configure collectd to send these metrics to the
HTTP end-point:```
LoadPlugin write_http
URL "http://localhost:9103/collectd-post"
Format "JSON"
StoreRates false
```
To change the path of the end-point, use the `--web.collectd-push-path` command
line option. To disable this functionality altogether, use
`--web.collectd-push-path=""`.## Using Docker
You can deploy this exporter using the [prom/collectd-exporter][hub] Docker image.
You will need to map the collectd port from the container to the host, remembering
that this is a UDP port.For example:
```bash
docker pull prom/collectd-exporterdocker run -d -p 9103:9103 -p 25826:25826/udp prom/collectd-exporter --collectd.listen-address=":25826"
```## TLS and basic authentication
The *collectd_exporter* supports TLS and basic authentication.
To use TLS and/or basic authentication, you need to pass a configuration file
using the `--web.config.file` parameter. The format of the file is described
[in the exporter-toolkit repository](https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md).[circleci]: https://circleci.com/gh/prometheus/collectd_exporter
[hub]: https://hub.docker.com/r/prom/collectd-exporter/
[travis]: https://travis-ci.org/prometheus/collectd_exporter
[quay]: https://quay.io/repository/prometheus/collectd-exporter