TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #303 1.34K
Автоматическая генерация графиков из логов

Хочешь строить графики без excel и браузеров? Bash + gnuplot дают способ визуализировать логи прямо из терминала.

Рассмотрим: у нас есть csv лог доступности хостов, созданный скриптом мониторинга:


timestamp,host,status,latency_ms
2025-08-09 12:30:01,8.8.8.8,UP,24.1
2025-08-09 12:31:01,8.8.8.8,UP,25.4
2025-08-09 12:32:01,8.8.8.8,DOWN,0
...


Наша цель: Построить график пинга по времени; сохранить его в png; все сделать из одного bash-скрипта

🛠 Скрипт генерации графика


#!/bin/bash
INPUT="ping_log.csv"
OUTPUT="latency_plot.png"
HOST="8.8.8.8"

# Отфильтровать строки для нужного хоста и подготовить данные
awk -F',' -v host="$HOST" '
$2 == host && $3 == "UP" {
print $1, $4
}
' "$INPUT" > temp_data.dat

# Сгенерировать график
gnuplot <<EOF
set terminal png size 900,300
set output "$OUTPUT"
set title "Latency for $HOST"
set xdata time
set timefmt "%Y-%m-%d %H:%M:%S"
set format x "%H:%M"
set xlabel "Time"
set ylabel "Latency (ms)"
set grid
plot "temp_data.dat" using 1:2 with linespoints title "Ping latency"
EOF

echo "График сохранен в $OUTPUT"


Если добавить реальный cron - будет наглядная история

🌟 Советы

Можно использовать gnuplot с другими логами: нагрузка CPU, объемы логов, системные метрики;
Можно строить сразу несколько графиков: plot ... title "A", ... title "B";
Поддерживается SVG, PDF, терминал


BashTex 📱 #bash #utils
  • 👍 6
  • 👨‍💻 1
More from @bash_tex
  1. Oct 9, 2026BashTex 📱 #мем
  2. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  3. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  4. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  5. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
  6. Oct 2, 2026madvise() - как процесс подсказывает ядру, как он собирается использовать память Когда про…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →