Skip to content

Instantly share code, notes, and snippets.

@suplo
Forked from raecoo/awk-example.sh
Created December 6, 2017 03:45
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 suplo/430146729fd49b79ccf87d27afac001d to your computer and use it in GitHub Desktop.
Save suplo/430146729fd49b79ccf87d27afac001d 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