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](/media/image/Screenshot 2020-05-21 at 16.54.12-1590077509.png)
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.