Glances — довольно старый консольный инструмент мониторинга на Python
- Нагрузка на CPU, информация и температура
- Загруженность памяти (RAM, swap)
- Средняя загруженность
- Список и количество процессов
- Использование сетевых интерфейсов
- Операции с диском
- Состояние IRQ и RAID
- Большинство доступных датчиков
- Свободное место на диске и распределение по разделам/папкам
- Список контейнеров, их потребление и процессы
- Аптайм, алёрты и другие мелочи
Но пока это лишь консольная утилита, а нам нужно гораздо больше. Вся мощь Glances раскрывается в его огромном количестве интеграций и выходных форматов. Во-первых, из коробки он умеет выводить информацию в веб-версию и XML-RPC/RESTful API. То есть поставив его на все машины и скинув вывод из всех эндпойнтов на один сервер, можно уже добиться желаемого. Но консольный вывод с десятка устройств читать неудобно ни в каком виде, а уж тем более пытаться уместить его на одном экране, поэтому смотрим интеграции:
- Cassandra/Scylla
- CouchDB
- Elasticsearch
- InfluxDB
- Kafka
- MQTT
- OpenTSDB
- Prometheus
- Riemann
- StatsD
- ZeroMQ
Нас, конечно, интересует InfluxDB и последующий вывод из неё в графану. Тем более что у Glances уже есть готовый дашборд, бери да пользуйся.
pip install ‘glances[action,browser,cloud,cpuinfo,docker,export,folders,gpu,graph,ip,raid,snmp,web,wifi]’