Skip to content
This repository has been archived by the owner on Jan 11, 2022. It is now read-only.

craftslab/metalmetrics

Repository files navigation

metalmetrics

Actions Status Docker License PyPI Tag

Introduction

metalmetrics is a worker of metalflow written in Python.

Prerequisites

  • Python >= 3.7

Run

  • 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"

Docker

  • 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

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

Settings

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

Design

design

License

Project License can be found here.

Reference