chartli: графики в терминале за одну команду

Ноутбук с яркими неоновыми графиками в терминале на тёмном фоне — инструмент chartli для визуализации данных в CLI

chartli: графики в терминале за одну команду

chartli — CLI-утилита с открытым кодом, которая превращает числа в графики прямо в терминале. 8 типов диаграмм, установка одной командой, работа через pipe. Разбираем, когда это полезнее дашбордов и как применять в DevOps-задачах.

Ноутбук с яркими неоновыми графиками в терминале на тёмном фоне — инструмент chartli для визуализации данных в CLI

chartli закрывает нишу между raw-числами и полноценными дашбордами. Когда данные уже есть в логах или выводе команд, а Grafana — перебор, одна команда в терминале даёт наглядную картину за секунды.

Содержание

О чём речь

chartli — открытая CLI-утилита, которая превращает числа в графики прямо в терминале. Подаёшь текстовый файл с данными, указываешь тип диаграммы — и получаешь визуализацию. Без браузера, без Excel, без лишних зависимостей.

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

  • ASCII-линии — классические текстовые графики с осями
  • Sparklines — компактные мини-графики в одну строку
  • Bars — горизонтальные полосы
  • Columns — вертикальные столбцы
  • Heatmap — тепловые карты
  • Unicode — многорядные столбики символами Unicode
  • Braille — точечные диаграммы символами Брайля
  • SVG — полноценные векторные графики для экспорта
Терминал с командой chartli — ASCII-график загрузки CPU за 8 часов и sparkline в одну строку

Когда дашборды — перебор

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

chartli закрывает именно эту нишу: взял числа, получил картину. Прямо в SSH-сессии, за одну команду.

Терминал с командой grep + awk + chartli — ASCII-график распределения ошибок по часам за сутки

Установка

Три варианта:

Запуск без установки через npx:

npx chartli --help

Глобальная установка через npm:

npm i -g chartli

Или через pnpm:

pnpm add -g chartli

Требуется Node.js 18 или новее.

Как пользоваться

Базовый синтаксис:

chartli [файл] [опции]

Или через pipe из другой команды:

cat метрики.txt | chartli -t ascii -w 30 -h 10

Формат входных данных

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

Пример файла load.txt:

hour cpun1 12n2 15n3 22n4 45n5 78n6 92n7 85n8 67

ASCII-график

chartli load.txt -t ascii -w 28 -h 8 --first-column-x --data-labels

Результат — текстовый график с осями, подписями и значениями точек. Пик нагрузки в 6 утра — видно сразу.

Sparkline

chartli load.txt -t spark --first-column-x

Результат: cpu ▁▁▂▄▇█▇▆ — одна строка, и тренд как на ладони.

Столбцы

chartli load.txt -t columns -h 8 --first-column-x --data-labels

Вертикальные столбцы с подписями значений — хорошо подходят для сравнения точек.

SVG для отчётов

chartli load.txt -t svg -m lines -w 320 -h 120 --first-column-x > report.svg

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

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

Мониторинг серверов

Собрал метрики через sar, vmstat или API Prometheus — передал в chartli. Вместо потока цифр — наглядная картина нагрузки за сутки:

sar -u 1 60 | awk '/^[0-9]/{print NR, $3}' | chartli -t ascii -w 40 -h 10

Метрики CI/CD

Время сборки по коммитам, количество падений тестов по дням, размер артефактов — любые числовые данные из пайплайна превращаются в график одной командой.

Анализ логов

grep + awk + chartli — цепочка, которая покажет распределение ошибок по часам:

grep "ERROR" /var/log/app.log | awk '{print $2}' | cut -d: -f1 | sort | uniq -c | awk '{print $2, $1}' | chartli -t bars -w 30

Быстрая проверка гипотез

Скачал CSV с метриками приложения или API — посмотрел тренд, не открывая тяжёлые инструменты.

Ключевые параметры

  • -t — тип графика: ascii, spark, bars, columns, heatmap, unicode, braille, svg
  • -w, -h — ширина и высота графика в символах
  • --first-column-x — первый столбец как подписи оси X
  • --data-labels — показать значения на графике
  • --x-axis-label, --y-axis-label — подписи осей
  • --series-labels — названия серий данных
  • -m — режим SVG: circles или lines

Ограничения

chartli — не замена полноценному мониторингу. Не подходит для:

  • Постоянных дашбордов с автообновлением
  • Интерактивной работы с данными
  • Подключения к базам данных

Это инструмент для одного действия: достал данные, посмотрел тренд, принял решение.

621 звезда на GitHub, 8 типов визуализации, установка одной командой. chartli — утилита для тех, кто проводит рабочий день в терминале и не хочет тратить время на переключение контекста.

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

Что запомнить

Часто задаваемые вопросы

Ответы на часто задаваемые вопросы по теме статьи.

Да. Команда npx chartli запускает утилиту без глобальной установки. Нужен только Node.js 18+.
Текстовые файлы с числами — по одному значению на строку или несколько столбцов для множественных серий. Первая строка может содержать заголовки. Также работает через pipe из любой команды.
Нет. chartli — инструмент для разовой визуализации в терминале. Для постоянного мониторинга, интерактивных дашбордов и алертов нужны Grafana, Kibana или Datadog.

Нужна настройка мониторинга или анализ инфраструктуры? Бесплатная консультация — расскажем, как решить вашу задачу.