[Bash] : lister et calculer les fréquences des erreurs apache depuis les logs… et un peu de SEO

Print Friendly, PDF & Email

Comment visualiser la santé d’un serveur web ? ou comment suivre son seo par les logs apache ?

Statistiques des logs apache

Dans le premier cas, une partie de la solution  pourrait être de commencer par lister les erreurs apache et de faire quelques statistiques avec. La plupart d’entre vous le savent, les logs apache ce situent dans /var/log/apache2/error.log.

Il peut exister des petites variantes en fonction de la configuration des vhost. Pour vérifier, je vous invite donc à vous rendre dans le vhost en question /etc/apache2/sites-enabled/monvhost. Ouvrez ce fichier et vérifiez la localisation des erreurs, c’est la ligne commençant par “ErrorLog. Parfois à la place de apache2 vous pouvez avoir du httpd suivant les daemons.

images

Par exemple, il peut être intéressant de lister les différentes erreurs et de voir celles qui reviennent le plus souvent. Voici comment éplucher /var/log/apache2/error.log à coup de awk. A adapter en fonction de la localisation des logs (à voir avec la conf de vos vhosts).

cat /var/log/apache2/error.log\
| awk '{out=$9;for(i=9;i<=NF;i++){out=out" "$i}; print out}'\
| sed s/,\ referer.*// | uniq -c | sort -nr

Donc :

  • on ouvre error.log
  • on remet en forme les erreurs
  • on limite les recherches aux lignes qui nous intéressent
  • on tri et on regroupe avec sort et uniq

Pour aller plus loin, n’oubliez pas que vous pouvez augmenter le niveau de log avec la variable “LogLevel” qui peut prendre la valeur (par ordre de criticité) :

  • emerg
  • alert
  • crit
  • error
  • warn
  • notice

Enfin, vous pouvez aussi améliorer les lignes de logs en redéfinissant les CustomLog.

Et le SEO là-dedans ?

L’idée est simplement d’expertiser le passage des crawler (google ou autres) sur vos url.

Découvrez  [Tips] : Killer les process qui écoutent sur le port 80

Pour ceux qui réalisent du SEO, vous pouvez aussi faire une analyse spécifique des logs. Voici un article spécifique sur ce domaine assez pointu. D’autres chercheront à supprimer les logs relatifs au bot SEO car ils leur apporteront peu d’informations utiles.

Et toujours dans le domaine du SEO, pour pousser toujours plus loin votre expertise, vous pouvez installer un conteneur docker intitulé oncrawl-elk. Ce conteneur s’installe en parallèle de votre apache. Il vous servira à analyser vos logs apache avec l’aide de kibana, logstash et elasticsearch.