Linux Box Admin
Trusted Remote Administration
logo

Tilde
What's new
Articles
Micro HowTos
About
Contact







Index arrow Micro HowTos

index of all micro how-tos
arrow System Administration

monitoring apache connections
(2 votes)
Monday, 29 October 2007
   
    monitoring apache connections    
     
       
 
 If you run a more or less loaded apache web server, you will sooner or later happend to be in a situation that you need to know what ips are currently connected.  
 
Here's when netstat command comes in very handy.
To list all connections just issue:
netstat -a
 
Since apache uses TCP we can limit the output to TCP connection:
netstat -at
 
and we eliminate the dns lookup time overhead by adding another flag:
netstat -ant 

Ok, this will list all the tcp connections. Next we want to only list connections belonging  to apache. Apache's binnary is called httpd and netstat with -p parameter will list socket owner's process number and process name.
 
netstat -anpt|grep httpd
 
Now we have all sockets owned by apache. The problem is, that not all of them belong to currently connected users. We need to filter out only ESTABLISHED connections.
 
netstat -anpt|grep httpd|grep ESTABLISHED
 
Ok, almost there - now we use the cut utility to get only remote ips connected:
 netstat -anpt|grep httpd|grep ESTABLISHED|cut -b45-60|cut -d':' -f1
 
Now we have only remote ips, but it can be a pretty long list and there will be duplicit ips listed. We will use uniq and sort commands to sort it by number of occurences of remote ip address:
 
 netstat -anpt|grep httpd|grep ESTABLISHED|cut -b45-60|cut -d':' -f1|sort -rn|uniq -c|sort -t' ' +1
 
If you wonder why there are 2 sorts - the first one is neccessary for uniq to filter out same lines, the second one orders the whole thing by number of ip occurences given by the output of uniq -c command.
 
Now you have nice sorted list of ips connecting to your web server at the current moment. Using watch command you can monitor the output for a longer time:
 
watch "netstat -anpt|grep httpd|grep ESTABLISHED|cut -b45-60|cut -d':' -f1|sort -rn|uniq -c|sort -t' ' +1" 
 
 
 
 
 
 
 
   
       
         
 



Copyright © 2006,2007 Linux Box Admin.

 
My NHL fan blog