Найти в Дзене

Как строить графики в терминале за одну команду

Работа с серверами — это постоянный поток чисел. Загрузка CPU, количество запросов, время ответа, объём логов. Числа есть, но увидеть тренд глазами проще, чем вычислять в уме. chartli — открытая CLI-утилита, которая превращает эти числа в графики прямо в терминале. Grafana, Kibana, Datadog — мощные системы мониторинга. Но иногда задача проще: посмотреть загрузку процессора за последние сутки или оценить рост ошибок по часам. Данные уже лежат в логах или в выводе команд. Открывать браузер и настраивать дашборд ради этого — лишние действия. chartli закрывает именно эту нишу. Подал текстовый файл с числами, указал тип диаграммы — получил визуализацию. Прямо в SSH-сессии. Утилита рисует 8 типов графиков: Входные данные — обычный текстовый файл. Каждая строка — точка данных. Несколько столбцов — несколько серий. Первая строка может содержать заголовки для автоматических подписей. Три варианта. Запуск без установки: npx chartli --help. Глобальная установка: npm i -g chartli. Или через pnpm
Оглавление

Работа с серверами — это постоянный поток чисел. Загрузка CPU, количество запросов, время ответа, объём логов. Числа есть, но увидеть тренд глазами проще, чем вычислять в уме. chartli — открытая CLI-утилита, которая превращает эти числа в графики прямо в терминале.

Зачем это нужно

Grafana, Kibana, Datadog — мощные системы мониторинга. Но иногда задача проще: посмотреть загрузку процессора за последние сутки или оценить рост ошибок по часам. Данные уже лежат в логах или в выводе команд. Открывать браузер и настраивать дашборд ради этого — лишние действия.

chartli закрывает именно эту нишу. Подал текстовый файл с числами, указал тип диаграммы — получил визуализацию. Прямо в SSH-сессии.

Что умеет chartli

Утилита рисует 8 типов графиков:

  • ASCII-линии — текстовые графики с осями и подписями
  • Sparklines — компактные мини-графики в одну строку
  • Столбцы — вертикальные диаграммы для сравнения значений
  • Горизонтальные полосы — наглядные пропорции между показателями
  • Тепловые карты — цветовая карта значений по строкам и столбцам
  • Unicode-графики — многорядные столбики повышенной детализации
  • Braille — точечные диаграммы символами Брайля
  • SVG — векторные графики для экспорта в документацию

Входные данные — обычный текстовый файл. Каждая строка — точка данных. Несколько столбцов — несколько серий. Первая строка может содержать заголовки для автоматических подписей.

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

Три варианта. Запуск без установки: npx chartli --help. Глобальная установка: npm i -g chartli. Или через pnpm: pnpm add -g chartli. Нужен Node.js версии 18 или новее.

Примеры из практики

Допустим, есть файл с загрузкой процессора по часам: час и процент. Одна команда — и в терминале появляется текстовый график с осями, подписями и значениями в каждой точке. Пик нагрузки виден сразу, без анализа столбцов цифр.

Sparkline — ещё компактнее. Вся динамика за 8 часов умещается в одну строку из символов. Мгновенная оценка тренда.

Для документации и отчётов есть SVG-экспорт. Команда создаёт векторный файл, который открывается в браузере и масштабируется без потерь. Удобно вставлять в тикеты, письма или wiki-страницы.

Три сценария для сисадминов

Мониторинг серверов. Утилиты sar и vmstat отдают числа. Передаёшь их в chartli — вместо потока цифр видишь наглядную картину нагрузки за сутки. Не нужно поднимать Grafana для разовой проверки.

Метрики CI/CD. Время сборки по коммитам, количество упавших тестов по дням, размер артефактов — любые числа из пайплайна превращаются в график. Одна команда вместо переключения контекста в браузер.

Анализ логов. Цепочка grep + awk + chartli покажет распределение ошибок по часам или рост запросов за неделю. Без дашбордов, без настройки.

Когда chartli не подойдёт

Утилита не заменит полноценный мониторинг. Не подходит для постоянных дашбордов с автообновлением, интерактивной работы с данными и подключения к базам. Это инструмент для одного действия: достал числа, посмотрел тренд, принял решение.

Кому пригодится

Тем, кто проводит рабочий день в терминале: администраторам серверов, DevOps-инженерам, разработчикам, которые работают через SSH. 621 звезда на GitHub, установка одной командой, никаких зависимостей кроме Node.js.

В IT For Prof мы применяем подобные инструменты при настройке мониторинга и анализе инфраструктуры клиентов. Быстрая визуализация прямо на сервере — часть рабочего процесса.