User Tools

Site Tools


linux:debug_charge

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
linux:debug_charge [2020/05/04 11:41] Philippe Robertlinux:debug_charge [2020/05/05 14:19] (current) Philippe Robert
Line 4: Line 4:
  
 Pour débuter, j'aime toujours (si possible) fermer le serveur web... Si la charge diminue drastiquement après l'arrêt du serveur web, on sait immédiatement que c'est le site d'un utilisateur qui est le problème de notre charge. Pour débuter, j'aime toujours (si possible) fermer le serveur web... Si la charge diminue drastiquement après l'arrêt du serveur web, on sait immédiatement que c'est le site d'un utilisateur qui est le problème de notre charge.
 +
 +Connectez-vous via la [[linux:console_ssh|console (SSH)]] avec votre compte adminsitrateur et passer en [[linux:mode_root|mode root]]. 
  
 Le système devrait vouloir repartir le serveur http par lui-même. Donc idéalement, on ouvre 2 terminal... un pour envoyer notre commande stop au httpd et un pour vérifier la charge...et comme ça, on peut renvoyer la commande stop au besoin tout en vérifiant la charge... Le système devrait vouloir repartir le serveur http par lui-même. Donc idéalement, on ouvre 2 terminal... un pour envoyer notre commande stop au httpd et un pour vérifier la charge...et comme ça, on peut renvoyer la commande stop au besoin tout en vérifiant la charge...
 +
 +
 **Arret du serveur Web** **Arret du serveur Web**
 <code bash> <code bash>
Line 17: Line 21:
  
  
-===== Commandes =====+===== Nombre de connexions =====
  
-==== Nombre de connexions par IPs ====+=== Nombre de connexions par IPs ===
 <code bash> <code bash>
 netstat -tn 2>/dev/null | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head netstat -tn 2>/dev/null | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head
 </code> </code>
  
-==== Nombre de connexions par IPs sur le port 80 ==== +=== Nombre de connexions par IPs sur le port 80 === 
-Changer :80 dans la commande pour :21 pour le FTP par exemple...+Il est possible de savoir le nombre de connexions pour d'autre services... Il suffit de changer //:80// dans la commande pour le port sur lequel vous souhaitez avoir le nombre de connexion. Ex: //:21// pour le FTP par exemple...
  
 <code bash> <code bash>
Line 31: Line 35:
 </code> </code>
  
-==== Trouver toutes les connexions sur le serveur pour une adresse IP ====+ 
 +=== Trouver toutes les connexions sur le serveur pour une adresse IP ===
 Remplacer 185.185.251.27 par l'adresse IP que vous souhaitez chercher. Remplacer 185.185.251.27 par l'adresse IP que vous souhaitez chercher.
  
Line 38: Line 43:
 </code> </code>
  
-==== Nombre de connexion par statut ====+=== Nombre de connexion par statut ===
 <code bash> <code bash>
 netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c
 </code> </code>
  
-==== Trouver une adresse IP dans les logs apache ==== +==== Exemple de résultat ==== 
-Remplacer 185.185.251.27 par l'adresse IP que vous souhaitez chercher.+ 
 + 
 +Le première rangé de chiffres indique le nombre de connexions et la seconde l'adresse IP. 
 + 
 +<code> 
 +69 54.36.38.246 
 +67 91.134.14.17 
 +67 178.32.213.61 
 +63 54.38.25.183 
 +55 69.70.205.10 
 +10 70.55.210.193 
 +8 198.251.83.14 
 +6 135.19.240.224 
 +5 174.94.120.132 
 +5 142.169.78.98 
 +</code> 
 + 
 +On voit ici que les 5 premier résultats sont "louche" et ont un nombre important de connexions au serveur. On va donc vérifier le propriétaire de l'adresse IP via le [[https://bgp.he.net|BGP Toolkit de Hurricane Electric]]. 
 + 
 +Dans cet exemple, tous les IPs "louche" appartiennent à OVH... Solution => Firewall Block. 
 + 
 +===== Trouver une adresse IP dans les logs ====
 + 
 +Vous pouvez savoir quel site/service est la cible des adresses IP avec la commande suivante 
 + 
 +Remplacer 54.36.38.246 par l'adresse IP que vous souhaitez chercher. 
 + 
 +**Serveur Web:**
 <code bash> <code bash>
-grep -rnw '/var/log/httpd' -e '185.185.251.27'+grep -rnw '/var/log/httpd' -e '54.36.38.246'
 </code> </code>
  
 +  * [[linux:debug_charge:exemple_grep_ip_serveur_web|Examples de résultats et solutions]]
 +
 +**Serveur Mail (exim):**
 +<code bash>
 +grep -rnw '/var/log/exim' -e '54.36.38.246'
 +</code>
 +
 +**FTP:**
 +<code bash>
 +grep -rnw '/var/log/pureftpd.log' -e '54.36.38.246'
 +</code>
 +
 +**DirectAdmin:**
 +<code bash>
 +grep -rnw '/var/log/directadmin' -e '54.36.38.246'
 +</code>
 +
 +**SSH:**
 +<code bash>
 +grep -rnw '/var/log/secure' -e '54.36.38.246'
 +</code>
linux/debug_charge.1588592517.txt.gz · Last modified: 2020/05/04 11:41 by Philippe Robert