Comme vous le savez, Amazon AWS est une excellente plateforme pour développer une infrastructure cloud. Il couvre soi-disant tous les aspects nécessaires à l'ensemble d'une infrastructure informatique. Avec Amazon AWS, vous pouvez implémenter des serveurs virtuels, CDN, la surveillance, l'amélioration des performances, la mise à l'échelle à la demande, le stockage à faible coût, le Big Data, etc.
Aujourd'hui, l'accent est mis sur l'interaction entre les instances de serveur virtuel (Amazon EC2) et le service de surveillance de serveur Cloud Watch.
Cloudwatch est un excellent outil qui offre de nombreux paramètres prêts à l'emploi, mais une fonction manquante est qu'il n'y a pas de paramètre qui vous permettra de surveiller la quantité d'espace libre restant sur une partition de votre instance.
Aujourd'hui, je vais vous montrer comment mettre en œuvre cette vérification de manière simple et configurer une alarme lorsque l'espace libre descend en dessous d'un niveau prédéfini.
Je vais utiliser une instance EC2 basée sur Ubuntu ici.
Installation et configuration de Cloud Watch
Tout d'abord, connectez-vous à l'instance que vous souhaitez commencer à surveiller et installez les éventuelles mises à jour en attente comme suit :
apt-get update
apt-get upgrade
Ensuite, nous installons certaines bibliothèques nécessaires au script que nous utiliserons plus tard :
apt-get install libwww-perl libdatetime-perl
Passons maintenant au processus d'installation du script Cloudwatch :
cd /opt/
wget http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip
unzip CloudWatchMonitoringScripts-1.2.1.zip
rm CloudWatchMonitoringScripts-1.2.1.zip
cd aws-scripts-mon
Ensuite, nous devons configurer le fichier de configuration pour activer l'authentification auprès de l'infrastructure AWS :
cp awscreds.template awscreds.conf
Tout d'abord, vous devez obtenir votre clé d'accès et votre clé secrète d'Amazon AWS Console. Si vous ne savez pas où récupérer ces paramètres, suivez ces étapes :après vous être connecté à la console Amazon AWS, allez dans Services -> Tous les services AWS -> IAM ou accédez simplement à ce lien https://console.aws.amazon.com /iam/home.
Allez maintenant à :
- Utilisateurs - Sélectionnez l'utilisateur souhaité - Cliquez sur Actions utilisateur - Gérer les clés d'accès - Créer une clé d'accès
ATTENTION !! :Votre clé secrète ne sera plus disponible via AWS Management Console, vous aurez la seule copie !!
Nous devons maintenant modifier le fichier awscreds.conf pour ajouter nos informations d'identification.
nano awscreds.conf
Dans le fichier, nous ajoutons ces paramètres :
AWSAccessKeyId=XXXXXXXXXXXXXXX AWSSecretKey=YYYYYYYYYYYYYYYYYY
Maintenant enregistrez et quittez (ctrl+o).
Configurer le moniteur d'espace disque
À l'étape suivante, nous configurons la tâche cron pour mettre à jour les statistiques d'utilisation du système de fichiers. Dans mon exemple, j'ai configuré une vérification toutes les 5 minutes, vous pouvez modifier ce paramètre à votre guise.
nano /etc/cron.d/cloudwatch-monitor
Et ajoutez le code suivant
*/5 * * * * root /opt/aws-scripts-mon/mon-put-instance-data.pl --disk-space-avail --disk-path=/ --disk-path=/var --from-cron chmod +x /etc/cron.d/cloudwatch-monitor /etc/init.d/cron restart
Dans mon cas, je surveillerai le système de fichiers racine (/) et un second disque pour /var
Maintenant que tout est configuré dans notre instance, la dernière chose que nous devons faire est d'ajouter le moniteur dans AWS.
Connectez-vous à la console AWS et accédez à Services -> Tous les services AWS -> CloudWatch -> Métriques -> Métriques du système Linux, si le cronjob fonctionne correctement, vous devriez voir deux nouvelles métriques avec le nom de la métrique "DiskSpaceAvailabe", une pour / et un pour /var.
Vous pouvez maintenant créer une alarme en sélectionnant simplement la nouvelle métrique.