/unifi_exporter

Prometheus exporter that exposes metrics from a Ubiquiti UniFi Controller and UniFi devices. MIT Licensed.

Primary LanguageGoMIT LicenseMIT

unifi_exporter GoDoc Build Status Coverage Status

Command unifi_exporter provides a Prometheus exporter for a Ubiquiti UniFi Controller API and UniFi devices.

Package unifiexporter provides the Exporter type used in the unifi_exporter Prometheus exporter.

MIT Licensed.

Seeking additional maintainers

Due to the wide variety of UniFi devices available, and because the UniFi APIs are unstable, Matt Layher is unable to dedicate the time and energy needed to maintain this exporter on his own.

At this time, there are no official releases or Docker images available. Building the exporter from master is the expected method to deploy it.

If you are interested in maintaining this exporter and have demonstrated a history of submitting solid improvements to the project, I am happy to grant push access to remove myself as a roadblock for progress.

Usage

$ ./unifi_exporter -h
Usage of ./unifi_exporter:
  -config.file string
       Relative path to config file yaml

To run the exporter, edit the included config.yml.example, rename it to config.yml, then run the exporter like so:

$ ./unifi_exporter -config.file config.yml
2017/11/15 17:06:32 [INFO] successfully authenticated to UniFi controller
2017/11/15 17:06:32 Starting UniFi exporter on ":9130" for site(s): Default

The minimum you'll need to modify is the unifi address, username and password. The port defaults to 8443 as specified in the config file, and the defaults in 'listen' are sufficient for most users.

Sample

Here is a screenshot of a sample dashboard created using grafana with metrics from exported from unifi_exporter.

sample

Thanks

Special thanks to Vaibhav Bhembre for his work on ceph_exporter. ceph_exporter was used frequently as a reference Prometheus exporter while implementing unifi_exporter.