Вопрос или проблема
Я ищу открытое и простое решение. Это может быть и скрипт. Я хочу получить обзор команды, если мне нужно обновить оборудование.
Честно говоря, я пытался гуглить, но не нашел ничего полезного. Если я смогу получить несколько полезных ключевых слов для поиска, я буду рад.
Я также был бы рад скрипту (коду), который подключается к каждому компьютеру и ведет лог каждые 2 часа.
Также из-за запроса на скрипты. Так что я сделал кросс-пост здесь.
Ответ или решение
Есть ли программное обеспечение для нескольких компьютеров Ubuntu для логирования использования ЦП, памяти и ГПУ?
Если вы ищете простое и открытое решение для мониторинга использования системных ресурсов на нескольких компьютерах с ОС Ubuntu, вы на правильном пути. В этой статье мы рассмотрим несколько доступных вариантов, включая как готовые решения, так и возможность написания собственного скрипта для сбора необходимых данных.
Готовые решения для мониторинга
-
Netdata
- Описание: Netdata – это мощный инструмент для мониторинга, который позволяет в реальном времени отслеживать использование ресурсов. Он предоставляет детализированную информацию о CPU, памяти и GПU, а также красиво визуализирует данные.
- Установка: Установить Netdata просто, достаточно выполнить следующую команду:
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
- Особенности: Вы можете устанавливать Netdata на каждом компьютере, а затем использовать его веб-интерфейс для централизованного мониторинга. Простой интерфейс позволяет быстро оценить текущее состояние системы.
-
Prometheus и Grafana
- Описание: Это комбинация двух мощных инструментов, где Prometheus собирает и хранит метрики, а Grafana визуализирует эти данные. Это решение более сложное в настройке, но и более гибкое.
- Установка: Prometheus и Grafana устанавливаются несколько сложнее, и потребуется немного времени для настройки и конфигурации.
- Преимущества: Гибкость, возможность масштабирования и интеграция с различными источниками данных.
Скрипт для логирования метрик
Если вы предпочитаете более простой подход, можно разработать скрипт на Bash, который будет собирать необходимые данные и отправлять их на основной сервер.
Пример скрипта
#!/bin/bash
# Директория для хранения логов
LOG_DIR="/var/log/sys-monitor"
mkdir -p "$LOG_DIR"
# Логирование
while true; do
# Получаем текущие данные о CPU, памяти и GPU
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\%\) id.*/\1/" | awk '{print 100 - $1}')
MEM_USAGE=$(free | grep Mem | awk '{print $3/$2 * 100.0}')
GPU_USAGE=$(nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits)
# Записываем данные в лог файл
echo "$(date), $CPU_USAGE, $MEM_USAGE, $GPU_USAGE" >> "$LOG_DIR/resource_usage.log"
# Ждем 2 часа
sleep 7200
done
Инструкция по запуску скрипта
- Скопируйте скрипт в текстовый файл, например
monitor.sh
. - Сделайте его исполняемым:
chmod +x monitor.sh
- Запустите скрипт:
./monitor.sh &
Примечание: Убедитесь, что на всех компьютерах установлены необходимые утилиты (
top
,free
, иnvidia-smi
для GPU) и что у вас есть доступ к файловой системе для записи.
Заключение
Выбор решения зависит от ваших потребностей. Если вам нужен мощный инструмент с возможностями визуализации и расширенной аналитики — обратите внимание на Netdata или комбинацию Prometheus и Grafana. Если же вам нужно что-то простое и быстрое, скрипт на Bash будет отличным выбором. Не забывайте проверять и обновлять свои ресурсы, чтобы обеспечить стабильную работу вашей команды.
Ключевые слова для поиска
- Мониторинг ресурсов Ubuntu
- Логирование CPU и памяти на Ubuntu
- Скрипт мониторинга системных показателей
- Netdata для Ubuntu
- Prometheus и Grafana установка на Ubuntu
Эти ключевые слова помогут вам найти дополнительные ресурсы и информацию по данному вопросу.