Skip to content

Instantly share code, notes, and snippets.

@denstepa
Forked from raecoo/awk-example.sh
Created April 23, 2016 10:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save denstepa/57ab8c04a51c8af56260b4a911b560dd to your computer and use it in GitHub Desktop.
Save denstepa/57ab8c04a51c8af56260b4a911b560dd to your computer and use it in GitHub Desktop.
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment