Files
weval-l99/kpi-feeder-ops.sh
2026-04-19 18:05:32 +02:00

39 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Opus WIRE V81 POC - KPI feeder for Operations module
# Produces /opt/weval-l99/kpi-cache/ops.json (read by WTP)
mkdir -p /opt/weval-l99/kpi-cache
DOCKER_RUNNING=$(docker ps -q 2>/dev/null | wc -l)
DOCKER_HEALTHY=$(docker ps --filter health=healthy -q 2>/dev/null | wc -l)
UPTIME_DAYS=$(awk '{print int($1/86400)}' /proc/uptime)
LOAD=$(awk '{print $1}' /proc/loadavg)
DISK_PCT=$(df / | awk 'NR==2 {gsub("%",""); print $5}')
MEM_PCT=$(free | awk '/Mem:/ {printf "%.1f", $3/$2*100}')
FPM=$(pgrep -c php-fpm 2>/dev/null || echo 0)
CRONS=$(crontab -l 2>/dev/null | grep -cv "^#")
GIT_COMMITS_TODAY=$(cd /var/www/html && git log --since="24 hours ago" --oneline 2>/dev/null | wc -l)
NGINX_ALIVE=$(pgrep -c nginx 2>/dev/null || echo 0)
cat <<JSON > /opt/weval-l99/kpi-cache/ops.json
{
"ts": "$(date -Iseconds)",
"module": "Operations & IT",
"source": "V81 POC Opus WIRE",
"kpis": {
"docker_running": $DOCKER_RUNNING,
"docker_healthy": $DOCKER_HEALTHY,
"uptime_days": $UPTIME_DAYS,
"load_1min": $LOAD,
"disk_pct": $DISK_PCT,
"memory_pct": $MEM_PCT,
"fpm_workers": $FPM,
"crons_active": $CRONS,
"git_commits_today": $GIT_COMMITS_TODAY,
"nginx_alive": $NGINX_ALIVE
}
}
JSON
chmod 644 /opt/weval-l99/kpi-cache/ops.json
cat /opt/weval-l99/kpi-cache/ops.json