Advertisement
Jailout2000

Nginx Web Request Monitoring Script

Sep 27th, 2012
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.87 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. LOG_DEFAULT_PATH="/var/log/nginx/access.log"
  4. LOG_PATH="$1"
  5.  
  6. if [ "$LOG_PATH" = "" ] && test -f "$LOG_DEFAULT_PATH"; then
  7.  
  8.   echo -e "\033[35mAuto-detected Log File: \033[32m$LOG_DEFAULT_PATH\033[0m"
  9.   LOG_PATH="$LOG_DEFAULT_PATH"
  10.  
  11. fi
  12.  
  13. if [ "$LOG_PATH" = "" ]; then
  14.  
  15.   echo -e "\033[32mUsage: $0 /path/to/nginx/access_log\033[0m"
  16.  
  17. else
  18.  
  19.   # Without vhost:
  20.   #(tail -n 500 -F $LOG_PATH | perl -n -e'/^(\S+) (\S+) (\S+) \[([^:]+):(\d+:\d+:\d+) ([^\]]+)\]  \"(\S+) (.*?) (\S+)\" (\S+) (\S+) "([^"]*)" "([^"]*)"$/ && print "\033[40;1;35m[$4 $5]\033[0;37m$10 $7 \033[31m$8 \033[36m$1\033[0m\n"')
  21.   # With vhost:
  22.   (tail -n 500 -F $LOG_PATH | perl -n -e'/^(\S+) (\S+) (\S+) (\S+) \[([^:]+):(\d+:\d+:\d+) ([^\]]+)\]  \"(\S+) (.*?) (\S+)\" (\S+) (\S+) "([^"]*)" "([^"]*)"$/ && print "\033[40;1;35m[$5 $6]\033[0;32m $1 \033[37m$11 $8 \033[31m$9 \033[36m$2\033[0m\n"')
  23.  
  24. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement