metalmetrics is a worker of metalflow written in Python.
- Python >= 3.7
- Local mode
git clone https://github.com/craftslab/metalmetrics.git
cd metalmetrics
pip install -Ur requirements.txt
python metrics.py --config-file="config.yml" --inxi-file="inxi" --output-file="output.json"
- Service mode
git clone https://github.com/craftslab/metalmetrics.git
cd metalmetrics
pip install -Ur requirements.txt
python metrics.py --config-file="config.yml" --inxi-file="inxi" --listen-url="127.0.0.1:9090"
- Local mode
git clone https://github.com/craftslab/metalmetrics.git
cd metalmetrics
docker build --no-cache -f Dockerfile -t craftslab/metalmetrics:latest .
docker run -it -v /tmp:/tmp craftslab/metalmetrics:latest ./metalmetrics --config-file="config.yml" --output-file="/tmp/output.json"
- Service mode
git clone https://github.com/craftslab/metalmetrics.git
cd metalmetrics
docker build --no-cache -f Dockerfile -t craftslab/metalmetrics:latest .
docker run -it -p 9090:9090 craftslab/metalmetrics:latest ./metalmetrics --config-file="config.yml" --listen-url="127.0.0.1:9090"
usage: metrics.py [-h] --config-file CONFIG_FILE [--inxi-file INXI_FILE]
[--listen-url LISTEN_URL | --output-file OUTPUT_FILE] [-v]
Metal Metrics
optional arguments:
-h, --help show this help message and exit
--config-file CONFIG_FILE
config file (.yml)
--inxi-file INXI_FILE
inxi file (/path/to/inxi)
--listen-url LISTEN_URL
listen url (host:port)
--output-file OUTPUT_FILE
output file (.json|.txt|.xlsx)
-v, --version show program's version number and exit
metalmetrics parameters can be set in the directory config.
An example of configuration in config.yml:
apiVersion: v1
kind: worker
metadata:
name: metalmetrics
spec:
metrics:
- cpu
- disk
- io
- ip
- kernel
- mac
- network
- os
- ram
- system
- users
Project License can be found here.