mirror of
https://github.com/yavook/kiwi-simple-metrics.git
synced 2025-12-06 14:43:01 +00:00
(mirror) A lightweight monitoring solution for kiwi-scp
|
|
||
|---|---|---|
| .devcontainer | ||
| .vscode | ||
| example | ||
| kiwi_simple_metrics | ||
| .drone.yml | ||
| .gitignore | ||
| Dockerfile | ||
| LICENSE | ||
| poetry.lock | ||
| pyproject.toml | ||
| README.md | ||
kiwi-simple-metrics
kiwi- simple, consistent, powerful
A lightweight monitoring solution for kiwi-scp, created with uptime-kuma in mind. Also on Docker Hub.
Quick start
The minimal config to add to one of your docker-compose.yml is this:
metrics:
image: yavook/kiwi-simple-metrics:0.1
- admittedly not useful, but it does run monitoring
- every 600 seconds (10 minutes), metrics are evaluated
- measures cpu, memory and swap, and disk usage at "/"
- does not log to stdout
- does not trigger any webhooks
Every aspect of kiwi-simple-metrics can be tweaked by environment variables, so this is a more reasonable configuration example:
metrics:
image: yavook/kiwi-simple-metrics:0.1
environment:
METRICS__LOG__ENABLED: "True"
METRICS__WEBHOOK__URL: "https://my.webhook.host/success?report={result}"
METRICS__WEBHOOK__FAIL: "https://my.webhook.host/failure?report={result}"
- same metrics as above
- logs reports to stdout
- triggers webhooks (
{result}is the placeholder for the result string)
Configuration
These are the environment variables you most likely need:
METRICS__INTERVAL: Time in seconds between metrics evaluation (default:600, i.e. 10 minutes)METRICS__LOG__ENABLED: If truthy, logs reports to stdout (default:False)METRICS__[M]__ENABLED,METRICS__[M]__THRESHOLD(with[M]fromCPU,MEMORY,DISK): Enable or disable each metric, and set its failure thresholdMETRICS__MEMORY__SWAP: How swap space is handled in the "memory" report (default:include)METRICS__DISK__PATHS: At which paths the disk usage is measured (default:["/"])METRICS__EXTERNAL__ENABLED,METRICS__EXTERNAL__EXECUTABLES: Setup forexternal values, as further defined inmetrics/external.py(default:False,[])METRICS__WEBHOOK__URL,METRICS__WEBHOOK__FAIL: Which webhooks to push the reports to (default:None,None)
All settings can be found in the SETTINGS variable defined by module kiwi_simple_metrics.settings in settings/__init__.py. For default values, refer to the respective python files.
Example: The above METRICS__LOG__ENABLED refers to SETTINGS.log.enabled, defined by model LogSettings in settings/misc.py.