ttop — мониторинг системы с историей и уведомлениями

14 Apr, 2026

Знакомая ситуация: сервер внезапно завис, а вы не можете понять, что произошло? Обычные инструменты вроде top или htop показывают только текущее состояние, но не дают исторического контекста. Именно эту проблему решает ttop — инструмент мониторинга с возможностью просмотра истории и гибкой системой уведомлений.

Чем ttop лучше привычных инструментов?

Главное отличие ttop от аналогов — сохранение исторических данных. В то время как htop показывает только текущее состояние системы, ttop:

  • Сохраняет снапшоты через systemd.timer или crontab
  • Позволяет прокручивать историю изменений
  • Строит ASCII-графики для визуализации трендов
  • Поддерживает триггеры для уведомлений

Скриншот ttop

Ключевые возможности

  1. Исторические данные

    • Просмотр состояния системы в любой момент времени
    • ASCII-графики через интеграцию с asciigraph
    • Возможность найти момент скачка нагрузки и детально его изучить
  2. Гибкие триггеры

    • Настройка уведомлений через внешние скрипты
    • Поддержка Telegram, email и других каналов
    • Разные типы триггеров: на критические события и информационные
  3. Богатый TUI-интерфейс

    • Подсветка критических значений
    • Группировка процессов по программам
    • Фильтрация: по пользователям (@user), docker-контейнерам (#container)
    • Дерево потоков выполнения
  4. Простота установки

    • Готовые пакеты для Arch Linux (AUR)
    • Статические бинарники для x86-64
    • Не требует root-прав для работы

Как это работает технически?

ttop написан на Nim — современном статически типизированном языке программирования. Проект использует:

  • systemd.timer/cron для сбора данных
  • asciigraph для визуализации
  • Docker API для мониторинга контейнеров

Триггерная система передает данные во внешние скрипты через stdin с набором переменных окружения:

TTOP_ALERT=true/false  # признак критического события
TTOP_HOST             # имя хоста
TTOP_TYPE             # тип события (alert/info)

Практическое применение

  1. Постфактум анализ проблем Утром обнаружили, что ночью сервер «падал»? С ttop вы можете просмотреть историю и найти точный момент проблемы.

  2. Автоматические уведомления Настройте отправку в Telegram при критической загрузке CPU или нехватке памяти.

  3. Мониторинг Docker-контейнеров Быстро находите «прожорливые» контейнеры с помощью фильтра #container.

  4. Анализ трендов ASCII-графики помогают увидеть периодические всплески нагрузки.

Пример настройки уведомлений в Telegram

[[trigger]]
on_alert = true
cmd = '''
read -d '' TEXT
curl -X POST \
  -H 'Content-Type: application/json' \
  -d "{\"chat_id\": $CHAT_ID, \"text\": \"$TEXT\", \"disable_notification\": $TTOP_INFO}" \
  https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage
'''

Стоит ли пробовать?

ttop особенно полезен:

  • Системным администраторам
  • DevOps-инженерам
  • Разработчикам, работающим с ресурсоемкими приложениями
  • Всем, кому нужен более продвинутый мониторинг, чем top

Проект активно развивается, имеет открытый исходный код (MIT License) и уже собрал более 350 звезд на GitHub. Если вы регулярно сталкиваетесь с необходимостью анализа нагрузки на систему, ttop может стать вашим новым любимым инструментом.

Как установить?

Для Arch Linux:

yay -S ttop

Для других систем (статический бинарник):

curl -LO https://github.com/inv2004/ttop/releases/latest/download/ttop
chmod +x ttop
mv ttop ~/.local/bin/

Попробуйте — и вы по-новому взглянете на мониторинг системы!