abonec
7/12/2016 - 8:22 AM

awk/grep commands for Rails log analysis

awk/grep commands for Rails log analysis

# Access number
cat production.log | grep "^Processing" | wc | awk '{print $1}'

# Each IP access number
cat production.log | grep “^Processing” | awk ‘{print $4}’ | uniq -c 

# Independent IP number
cat production.log | grep "^Processing" | awk '{print $4}' | uniq | wc | awk '{print $1}'
cat production.log | grep “^Processing” | awk ‘{print $4}’ | uniq | wc -l 

# Account number for each pages
cat production.log |grep “200 OK” | awk ‘{print $17}’ | sort | uniq -c 

# Exception info
cat production.log | grep "Error" -6 -n > error.log

# Send exception info to specify email
cat production.log | grep "Error" -6 -n | mail -s "Error Logs" recipient@domain.com

# Time-consuming actions
cat production.log | grep "200 OK" | awk '{print $17}'| sort | uniq -c | sort -r -n | head -n 500 > stat.log

# Top 200 IPs
grep Processing production.log | awk '{print $4}' | sort | uniq -c | sort -r -n | head -n 200 > top-200-ip.log