الملفات
Building-API-and-Monitoring…/log_monitor.sh
2025-09-27 23:34:33 +03:00

33 أسطر
973 B
Bash
ملف تنفيذي

#!/usr/bin/env bash
LOG_FILE="fruit_api.log"
if [[ ! -f "$LOG_FILE" ]]; then
echo "❌ Log file $LOG_FILE not found!"
exit 1
fi
echo "📊 Fruit API Log Report - $(date)"
echo "-----------------------------------------"
# Time format for the last hour
last_hour=$(date --date='1 hour ago' +"%Y-%m-%d %H")
echo "🔹 Logs from last hour ($last_hour:*):"
echo ""
# Status codes
echo "✅ Status codes count:"
grep "$last_hour" "$LOG_FILE" | grep "RESPONSE" | awk '{print $6}' | cut -d'=' -f2 | sort | uniq -c | sort -nr
echo ""
# Top IPs
echo "🌍 Top Client IPs:"
grep "$last_hour" "$LOG_FILE" | grep "REQUEST" | awk '{for(i=1;i<=NF;i++){if($i ~ /^ip=/){print $i}}}' | cut -d'=' -f2 | sort | uniq -c | sort -nr
echo ""
# Endpoints
echo "📂 Endpoints accessed:"
grep "$last_hour" "$LOG_FILE" | grep "REQUEST" | awk '{for(i=1;i<=NF;i++){if($i ~ /^path=/){print $i}}}' | cut -d'=' -f2 | sort | uniq -c | sort -nr
echo "-----------------------------------------"