NUTCase
[!TIP]
A Network UPS Tools (NUT) and APC daemon exporter working with Prometheus and any JSON compatible application and GUI
Key features
- Acts as a drop in replacement for other NUT scrapers such as HON95 prometheus nut exporter
- A graphic interface showing key data over time with diagnostic information.
- Supports pulling data from NUT and APC servers, formatting the UPS metrics for the Prometheus logging system
- Supports formatting the UPS data as JSON for use with the beautiful HomePage app.
- The JSON output can be used with Uptime Kuma and other reporting, alerting and monitoring apps.
- Provides diagnostic and usage information.
- Supports APC apcupsd servers for graphic display and metric scraping - Use one Prometheus and Grafana dashboard for all servers.
- Supports filtering of JSON elements to support simple monitoring apps. See Filtering the JSON
What it does for you
NUTCase sits between any nuber of UPS servers, either NUT or APC, and converts the UPS parameters in to either text metrics suitable for use with data caputre systems like Prometheus or JSON.
The JSON is ideal for monitoring or display on dashboard systems such as HomePage.
Links & References
The docker container:
https://hub.docker.com/repository/docker/kronos443/nutcase
Source code:
https://github.com/ArthurMitchell42/nutcase
The Wiki for usage information and advice:
https://github.com/ArthurMitchell42/nutcase/wiki
Supported Architectures
Currently supports 'AMD64', 'ARM64 (ARM64V8)' (suitable for running on docker under Raspberry PI with a 64-bit OS such as Raspberry PI OS 64-bit and Ubuntu 64-bit)'
Architecture |
Tag |
AMD64 |
latest-amd64 For PC and Synology DSM |
ARM64V8 (ARM64) |
arm64v8-latest. For Raspberry PI with a 64-bit OS (RaspberryPI OS 64-bit or Ubuntu 64-bit |
[Contents](#contents)
History & Versions
Date |
Version |
Notes |
12/10/2024 |
0.4.0.2 |
Bug fix: provent crash when a device does not supply a battery.runtime value |
28/7/2024 |
0.4.0.0 |
Added logging and various fixes. |
7/3/2024 |
0.3.3 |
Add a check for release updates on the GUI, prep-work for next major release. |
22/2/2024 |
0.3.2 |
Correct re-work of cl-count miss reading data |
19/2/2024 |
0.3.1 |
Fix for start crash Re missing config file |
3/2/2024 |
0.3.0 |
New GUI and many more features. |
12/1/2024 |
0.2.2 |
Corrected potential crash re rework->ratio. |
22/12/2023 |
0.2.1 |
Corrected error relating to the query port command. |
16/12/2023 |
0.2.0 |
APC Support with other features, See GitHub notes. |
01/12/2023 |
0.1.0 |
Initial release. |
Contents
Getting started
* [Instalation](https://github.com/ArthurMitchell42/nutcase/wiki/Running-the-NUTCase-container)
* [Accessing Nutcase](https://github.com/ArthurMitchell42/nutcase/wiki/Accessing-and-Using-NUTCase)
* [Configuring NUTCase](https://github.com/ArthurMitchell42/nutcase/wiki/The-Configuration-File)
Using NUTCase
* [Working with the GUI](https://github.com/ArthurMitchell42/nutcase/wiki/The-GUI)
* [Working with HomePage](https://github.com/ArthurMitchell42/nutcase/wiki/Customising-the-data-displayed-on-the-HomePage-app)
* [Working with other JSON consumers](https://github.com/ArthurMitchell42/nutcase/wiki/Using-the-JSON-returned-by-NUTCase)
* [Interfacing to Prometheus & Grafana](https://github.com/ArthurMitchell42/nutcase/wiki/Using-with-Prometheus-and-Grafana)
Advanced useage
* [Customising data for HomePage and UptimeKuma](https://github.com/ArthurMitchell42/nutcase/wiki/Customising-the-Data-Displayed-on-the-HomePage-App)
* [With APC devices](https://github.com/ArthurMitchell42/nutcase/wiki/NUTCase-and-APC's-apcupsd)
* [Custom variables](https://github.com/ArthurMitchell42/nutcase/wiki/Reworking-variables-using-the-configuration-file)
* [WebHooks](https://github.com/ArthurMitchell42/nutcase/wiki/WebHooks)
[Contents](#contents)
Credits
Credit goes to the HON95 container which gave inspiration to the metrics function.
[Contents](#contents)
Support
If you find this container useful then please consider buying me a coffee by following this link or scanning the QR below. :smiley: :coffee:
[Contents](#contents)