ttop — мониторинг системы с историей и уведомлениями
Знакомая ситуация: сервер внезапно завис, а вы не можете понять, что произошло? Обычные инструменты вроде top или htop показывают только текущее состояние, но не дают исторического контекста. Именно эту проблему решает ttop — инструмент мониторинга с возможностью просмотра истории и гибкой системой уведомлений.
Чем ttop лучше привычных инструментов?
Главное отличие ttop от аналогов — сохранение исторических данных. В то время как htop показывает только текущее состояние системы, ttop:
- Сохраняет снапшоты через systemd.timer или crontab
- Позволяет прокручивать историю изменений
- Строит ASCII-графики для визуализации трендов
- Поддерживает триггеры для уведомлений

Ключевые возможности
-
Исторические данные
- Просмотр состояния системы в любой момент времени
- ASCII-графики через интеграцию с asciigraph
- Возможность найти момент скачка нагрузки и детально его изучить
-
Гибкие триггеры
- Настройка уведомлений через внешние скрипты
- Поддержка Telegram, email и других каналов
- Разные типы триггеров: на критические события и информационные
-
Богатый TUI-интерфейс
- Подсветка критических значений
- Группировка процессов по программам
- Фильтрация: по пользователям (
@user), docker-контейнерам (#container) - Дерево потоков выполнения
-
Простота установки
- Готовые пакеты для 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)
Практическое применение
-
Постфактум анализ проблем Утром обнаружили, что ночью сервер «падал»? С
ttopвы можете просмотреть историю и найти точный момент проблемы. -
Автоматические уведомления Настройте отправку в Telegram при критической загрузке CPU или нехватке памяти.
-
Мониторинг Docker-контейнеров Быстро находите «прожорливые» контейнеры с помощью фильтра
#container. -
Анализ трендов 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/
Попробуйте — и вы по-новому взглянете на мониторинг системы!