Building Project Files
هذا الالتزام موجود في:
32
log_monitor.sh
Executable file
32
log_monitor.sh
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/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 "-----------------------------------------"
|
||||
المرجع في مشكلة جديدة
حظر مستخدم