# collectd_exporter **Repository Path**: mirrors_prometheus/collectd_exporter ## Basic Information - **Project Name**: collectd_exporter - **Description**: A server that accepts collectd stats via HTTP POST and exports them via HTTP for Prometheus consumption - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-25 - **Last Updated**: 2026-04-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Collectd Exporter [![Build Status](https://travis-ci.org/prometheus/collectd_exporter.svg)][travis] [![Build Status](https://github.com/prometheus/collectd_exporter/actions/workflows/ci.yml/badge.svg)](https://github.com/prometheus/collectd_exporter/actions/workflows/ci.yml) [![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 network Server "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-exporter docker 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