You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Simon Pasquier ce323be281
Build ARM container images (#80)
1 month ago
.circleci Build ARM container images (#80) 1 month ago
vendor Synchronize Makefile.common from prometheus/prometheus (#73) 1 month ago
.dockerignore Build ARM container images (#80) 1 month ago
.gitignore New release process using docker, circleci and a centralized building tool 3 years ago
.golangci.yml Add .golangci.yml 3 months ago
.promu.yml *: bump Go version to 1.12 3 months ago
CHANGELOG.md Update build 4 months ago
CONTRIBUTING.md Remove AUTHORS.md reference from CONTRIBUTING.md 2 years ago
Dockerfile Build ARM container images (#80) 1 month ago
LICENSE Add README and license 4 years ago
MAINTAINERS.md Replace AUTHORS.md by an updated MAINTAINERS.md 2 years ago
Makefile Build ARM container images (#80) 1 month ago
Makefile.common Synchronize Makefile.common from prometheus/prometheus (#73) 1 month ago
NOTICE Add README and license 4 years ago
README.md Switch to kingpin (#47) 2 years ago
VERSION version 0.4 1 year ago
go.mod Synchronize Makefile.common from prometheus/prometheus (#73) 1 month ago
go.sum Synchronize Makefile.common from prometheus/prometheus (#73) 1 month ago
main.go Replace deprecated prometheus.Handler function 2 months ago
main_test.go Protect against invalid metric names 1 year ago

README.md

Collectd Exporter Build Status

CircleCI Docker Repository on Quay Docker Pulls

An exporter for collectd. It accepts collectd’s binary network protocol as sent by collectd’s network plugin and metrics in JSON format via HTTP POST as sent by collectd’s write_http plugin, 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.

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 network
<Plugin network>
  Server "prometheus.example.com" "25826"
</Plugin>

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
<Plugin write_http>
  <Node "collectd_exporter">
    URL "http://localhost:9103/collectd-post"
    Format "JSON"
    StoreRates false
  </Node>
</Plugin>

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 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:

docker pull prom/collectd-exporter

docker run -d -p 9103:9103 -p 25826:25826/udp prom/collectd-exporter --collectd.listen-address=":25826"