Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ArthurMitchell42/nutcase

A NUT and APCd UPS data conversion bridge and graphic UI to link to both Prometheus metrics and JSON format for HomePage/Uptime Kuma etc.
https://github.com/ArthurMitchell42/nutcase

apcups apcupsd grafana monitoring network-ups-tools nut-tools nuttools power prometheus prometheus-exporter ups uptimekuma

Last synced: 4 months ago
JSON representation

A NUT and APCd UPS data conversion bridge and graphic UI to link to both Prometheus metrics and JSON format for HomePage/Uptime Kuma etc.

Awesome Lists containing this project

README

        

NUTCase

[](https://www.paypal.com/donate?hosted_button_id=N6F4E9YCD5VC8)
[![Release](https://img.shields.io/github/release/ArthurMitchell42/nutcase.svg?logo=github&style=for-the-badge)](https://github.com/ArthurMitchell42/nutcase/releases/latest)
[![Docker Image Size](https://img.shields.io/docker/image-size/kronos443/nutcase/latest?logo=docker&style=for-the-badge)](https://hub.docker.com/r/kronos443/nutcase/tags)
[![Docker Pulls](https://img.shields.io/docker/pulls/kronos443/nutcase?label=Pulls&logo=docker&style=for-the-badge)](https://hub.docker.com/r/kronos443/nutcase)
[![Docker Stars](https://img.shields.io/docker/stars/kronos443/nutcase?label=Stars&logo=docker&style=for-the-badge)](https://hub.docker.com/r/kronos443/nutcase)

[![Docker Build](https://github.com/ArthurMitchell42/nutcase/actions/workflows/docker-image.yml/badge.svg)](https://github.com/ArthurMitchell42/nutcase/actions/workflows/docker-image.yml)
[![Docker build and push release tag & latest](https://github.com/ArthurMitchell42/nutcase/actions/workflows/docker-build-release.yml/badge.svg)](https://github.com/ArthurMitchell42/nutcase/actions/workflows/docker-build-release.yml)

> [!TIP]
> ### News: [V0.4.0.0 is released](https://github.com/ArthurMitchell42/nutcase/discussions/59) 28/7/2024

## 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](https://github.com/ArthurMitchell42/nutcase/wiki/The-GUI) showing key data over time with diagnostic information.
* Supports pulling data from NUT and APC servers, formatting the UPS metrics for the [Prometheus](https://prometheus.io/) logging system
* Supports formatting the UPS data as JSON for use with the beautiful [HomePage](https://gethomepage.dev/) app.
* The JSON output can be used with [Uptime Kuma](https://github.com/louislam/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](https://github.com/ArthurMitchell42/nutcase/wiki/Using-the-JSON-returned-by-NUTCase#filtering-the-json-)

![image](https://github.com/ArthurMitchell42/nutcase/assets/82239494/6fbfa4d8-7cbc-4882-9e8e-ac3907e70d9a)

### What it does for you

![Structure](https://github.com/ArthurMitchell42/nutcase/blob/6e7b52aa5cd89663476fa5558ab05a15233967aa/resources/structure_v2.png)

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

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:

Please consider donating

[Contents](#contents)