#!/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 "-----------------------------------------"