Sampler терминальный дашборд для ленивых админов
Репозиторий давно не обновлялся
Последнее обновление было 2 года назад.
Знакомо чувство, когда нужно быстро проверить нагрузку на сервер или отследить изменения в базе данных, а разворачивать полноценную систему мониторинга слишком долго? С проектом Sampler вы получаете мгновенные визуальные дашборды для любых shell-команд — буквально за пару минут.
Что это за волшебная палочка?
Sampler — это утилита на Go, которая:
- Выполняет ваши shell-команды с заданной частотой
- Отображает результаты в виде красивых графиков прямо в терминале
- Поддерживает алерты и уведомления
- Конфигурируется через простой YAML-файл

В отличие от Grafana или Prometheus, Sampler не требует:
- Отдельного сервера
- Базы данных
- Сложной настройки
Кому пригодится?
- DevOps-инженерам для быстрого мониторинга серверов
- Разработчикам при отладке работы с базами данных
- Админам для отслеживания сетевой активности
- Любителям терминальных красоток
5 причин попробовать Sampler прямо сейчас
1. Любая команда — мгновенный график
Достаточно прописать команду в YAML-конфиге, и Sampler превратит её вывод в график. Хотите отслеживать:
- Загрузку CPU?
ps -A -o %cpu | awk '{s+=$1} END {print s}' - Свободную память?
memory_pressure | grep 'Pages free' - Задержку ответа сайта?
curl -o /dev/null -s -w '%{time_total}'
# Пример конфига для мониторинга CPU
sparklines:
- title: CPU usage
rate-ms: 200
scale: 0
sample: ps -A -o %cpu | awk '{s+=$1} END {print s}'
2. Шесть типов визуализаций на выбор
Sampler поддерживает разные форматы отображения данных:
- Runchart — классический график изменений во времени
- Sparkline — компактная «искра» для быстрого взгляда
- Barchart — столбчатая диаграмма
- Gauge — стрелочный индикатор
- Textbox — текстовый вывод
- Asciibox — ASCII-арт для эстетов

3. Умные алерты и триггеры
Можно настроить звуковые и визуальные уведомления при достижении пороговых значений:
triggers:
- title: High CPU alert
condition: '[ $cur -gt 80 ] && echo 1 || echo 0' # Если загрузка > 80%
actions:
sound: true # Звуковое уведомление
visual: true # Всплывающее сообщение
script: say "Warning! CPU is high" # Можно выполнить любой скрипт
4. Работа с базами данных и удалёнными серверами
Sampler умеет подключаться к:
- MySQL, PostgreSQL, MongoDB
- Удалённым серверам по SSH
- JMX для мониторинга Java-приложений
Пример мониторинга MongoDB:
variables:
mongo_connection: mongo --quiet --host=localhost test
sparklines:
- title: MongoDB documents
init: $mongo_connection
sample: db.getCollection('events').count()
5. Полная кастомизация
- Тёмная/светлая тема
- Настройка цветов (поддержка 256-цветной палитры)
- Гибкое позиционирование элементов на экране
theme: light # Или dark (по умолчанию)
color: 43 # Зелёный цвет для ASCII-арта
Как начать использовать?
Установка занимает пару команд. Для macOS:
brew install sampler
Или для Linux:
sudo wget https://github.com/sqshq/sampler/releases/download/v1.1.0/sampler-1.1.0-linux-amd64 -O /usr/local/bin/sampler
sudo chmod +x /usr/local/bin/sampler
Создаём конфиг config.yml и запускаем:
sampler -c config.yml
Вывод: стоит ли пробовать?
Sampler — это не замена полноценным системам мониторинга, а удобный инструмент для:
- Быстрого прототипирования дашбордов
- Локального мониторинга во время разработки
- Ситуаций, когда «тяжелые» решения избыточны
Особенно рекомендую попробовать, если:
- Часто работаете в терминале
- Нужно быстро проверить гипотезу по метрикам
- Хотите красоты в консоли без лишних телодвижений
Простота — главное преимущество Sampler. Как говорил Эйнштейн: «Всё должно быть сделано настолько простым, насколько возможно, но не проще». Этот инструмент идеально вписывается в эту философию.
