Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/ArthurMitchell42/nutcase
- Owner: ArthurMitchell42
- License: gpl-3.0
- Created: 2023-12-01T01:11:55.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-11T11:09:30.000Z (4 months ago)
- Last Synced: 2024-08-11T12:23:27.428Z (4 months ago)
- Topics: apcups, apcupsd, grafana, monitoring, network-ups-tools, nut-tools, nuttools, power, prometheus, prometheus-exporter, ups, uptimekuma
- Language: Python
- Homepage: https://arthurmitchell42.github.io/nutcase/
- Size: 5.48 MB
- Stars: 21
- Watchers: 4
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
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/nutcaseSource code:
> https://github.com/ArthurMitchell42/nutcaseThe Wiki for usage information and advice:
> https://github.com/ArthurMitchell42/nutcase/wikiSupported 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
TagAMD64
latest-amd64 For PC and Synology DSMARM64V8 (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
Notes28/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 data19/2/2024
0.3.1
Fix for start crash Re missing config file3/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)