Some Tips for Monitoring inbound HTTP/S Traffic on a Server

If you need to get a better look at what is going on with your server these few tips should help give you a better overview of where traffic is hitting your server.

 

First off I would check out the processes on your server using htop, which is a utility just like Task Manager on Windows. From the server command line type in htop and hit enter.

 

Htop

 

You can order the processes by clicking the green table header. It will give you an overview of any processes that are smashing your CPU/memory, which may lead you down a new path of investigation. You can press control+c on Mac to exit this.

 

Monitoring Inbound HTTP/S Traffic

I have been using the following command to monitor inbound HTTP/S traffic on a domain-by-domain basis in real-time:

sudo tail -f /var/log/nginx/access.log | grep "yourdomain.com"

 

This example is using the Nginx access log but you can easily change it for use with Apache:

sudo tail -f /var/log/apache2/error.log | grep "yourdomain.com"

 

You can also pipe-in grep multiple times to filter down the results it displays if you have eyeballed something that is doing a lot of HTTP requests:

sudo tail -f /var/log/nginx/access.log | grep "yourdomain.com" | grep "GET" | grep "another keyword the request must contain"

 

There you have it, a few ideas to help you monitor HTTP requests on your server. The important point here is they will catch all traffic including HTTPS, unlike some of the other solutions I have seen online.

 

traffic monitor http