Introduction

Dans le paysage de l'infrastructure cloud, surveiller la sante et les ressources des instances EC2 est essentiel. Un defi courant pour les administrateurs systeme est de s'assurer que l'espace disque ne s'epuise pas, ce qui peut entrainer une degradation des performances ou des interruptions de service.

Dans cet article, nous explorerons une solution simple et economique utilisant un script Bash qui s'execute comme une tache cron sur vos instances EC2. Ce script verifiera l'utilisation du disque sur l'instance, et si elle depasse un seuil defini, il enverra une alerte a un canal Slack.


Le Script Bash

#!/bin/bash

THRESHOLD=85 # Definir le seuil d’utilisation du disque (en %) SLACK_WEBHOOK_URL=“https://hooks.slack.com/services/votre/webhook/url"

Obtenir les metadonnees EC2

hostname=$(curl -s http://169.254.169.254/latest/meta-data/local-hostname) public_ip=$(curl -s http://169.254.169.254/latest/meta-data/public-ipv4) private_ip=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4)

Verifier l’utilisation du disque pour le repertoire racine

disk_usage=$(df -h / | grep -v Filesystem | awk ‘{print $5}’ | sed ’s/%//’)

if [ “$disk_usage” -ge “$THRESHOLD” ]; then message=“Utilisation du disque sur l’instance EC2 ‘${hostname}’ a ${disk_usage}%. \nIP Privee : ${private_ip} \nIP Publique : ${public_ip}. \nVeuillez etendre l’espace disque !”

payload=”{’text’: ‘$message’}" curl -X POST -H ‘Content-type: application/json’ –data “$payload” $SLACK_WEBHOOK_URL fi

Avantages et Inconvenients

Avantages :

  1. Economique : Pas besoin de services AWS supplementaires comme CloudWatch.
  2. Simple et Leger : Utilise des outils natifs (Bash, curl, cron) disponibles sur presque tous les systemes Linux.
  3. Notifications Immediates : L'utilisation de Slack assure que votre equipe recoit des alertes en temps reel.
  4. Personnalisable : Vous pouvez facilement personnaliser le script pour verifier differents seuils ou surveiller des repertoires supplementaires.

Inconvenients :

  1. Pas de Surveillance Centralisee : Pas de tableau de bord centralise pour voir l'utilisation du disque sur toutes les instances.
  2. Maintenance : Si vous avez de nombreuses instances EC2, vous devrez deployer et maintenir ce script sur chacune d'elles.

Conclusion

Ce script Bash offre une solution simple et peu couteuse pour surveiller l'espace disque EC2 et envoyer des alertes a Slack lorsque l'utilisation du disque depasse un seuil critique.