TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #241 1.41K
Интеграция Bash и JSON: системная информация как API

Если ты мониторишь серверы или хочешь получать данные с хоста в внешнюю систему (через Prometheus, телеграмм-бота, Grafana или просто cron), удобно возвращать информацию в формате JSON.

❓ Что можно собрать?

- Загрузка CPU и RAM
- Место на диске
- Аптайм
- IP-адрес
- Имя хоста
- Статус сетевого соединения
- Наличие процессов и сервисов


▪️ Пример скрипта с JSON-выводом:


#!/bin/bash

cpu_load=$(awk '{print $1}' /proc/loadavg)
mem_total=$(grep MemTotal /proc/meminfo | awk '{print $2}')
mem_free=$(grep MemAvailable /proc/meminfo | awk '{print $2}')
disk_root=$(df -h / | awk 'NR==2 {print $5}')
uptime=$(uptime -p | sed 's/up //')
ip_addr=$(hostname -I | awk '{print $1}')
hostname=$(hostname)

cat <<EOF
{
"hostname": "$hostname",
"ip": "$ip_addr",
"cpu_load": "$cpu_load",
"memory_total_kb": "$mem_total",
"memory_available_kb": "$mem_free",
"disk_root_usage": "$disk_root",
"uptime": "$uptime"
}
EOF


▪️ Пример вывода:


{
"hostname": "server01",
"ip": "192.168.1.10",
"cpu_load": "0.42",
"memory_total_kb": "8192000",
"memory_available_kb": "6123400",
"disk_root_usage": "45%",
"uptime": "2 days, 4 hours"
}


❓ Что дальше?

- Отправляй этот JSON в API внешнего сервиса.
- Подключи к Zabbix, Netdata, Grafana Agent или тг-боту.
- Храни историю в базе (InfluxDB, SQLite, etc.)


⭐️ Упрощённый curl-запрос:


curl -X POST -H "Content-Type: application/json" \
-d "$(bash system_info.sh)" http://your.monitoring.local/endpoint


BashTex 📱 #bash #monitoring
  • 👍 4
More from @bash_tex
  1. Oct 12, 2026xargs против while read: где быстрее и безопаснее Обе конструкции позволяют обработать спи…
  2. Oct 9, 2026BashTex 📱 #мем
  3. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  4. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  5. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  6. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
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 →