Εισαγωγή

Στο τοπίο της cloud υποδομής, η παρακολούθηση της υγείας και των πόρων των EC2 instances είναι απαραίτητη. Μια κοινή πρόκληση για τους system administrators είναι να διασφαλίζουν ότι ο χώρος του δίσκου δεν εξαντλείται. Σε αυτό το άρθρο, θα εξερευνήσουμε μια απλή και οικονομική λύση χρησιμοποιώντας ένα Bash script που τρέχει ως cron job στα EC2 instances σου.

Γιατί Χρειάζεσαι Παρακολούθηση Δίσκου;

Τα προβλήματα χώρου στο δίσκο συχνά παραβλέπονται μέχρι να οδηγήσουν σε:
- Αποτυχίες Εφαρμογών
- Υποβάθμιση Απόδοσης
- Downtime

Η Λύση με Bash Script

#!/bin/bash

THRESHOLD=85 # Όρισε το όριο χρήσης δίσκου (σε %) SLACK_WEBHOOK_URL=“https://hooks.slack.com/services/your/webhook/url"

Λήψη EC2 metadata για hostname, public IP και private IP

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)

Έλεγχος χρήσης χώρου δίσκου για τον root κατάλογο

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

if [ “$disk_usage” -ge “$THRESHOLD” ]; then message=“Disk usage on EC2 instance ‘${hostname}’ is at ${disk_usage}%. \nPrivate IP: ${private_ip} \nPublic IP: ${public_ip}. \nPlease extend disk space!”

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

Πλεονεκτήματα και Μειονεκτήματα

Πλεονεκτήματα:

  1. Οικονομικό
  2. Απλό και Ελαφρύ
  3. Άμεσες Ειδοποιήσεις
  4. Προσαρμόσιμο
  5. Χαμηλό Overhead

Μειονεκτήματα:

  1. Χωρίς Κεντρική Παρακολούθηση
  2. Συντήρηση
  3. Περιορίζεται στην Παρακολούθηση Δίσκου
  4. Απαιτεί Ενσωμάτωση με Slack

Συμπέρασμα

Αυτό το Bash script προσφέρει μια απλή, χαμηλού κόστους λύση για την παρακολούθηση του χώρου δίσκου των EC2 και την αποστολή ειδοποιήσεων στο Slack όταν η χρήση του δίσκου ξεπερνά ένα κρίσιμο όριο. Είναι μια εξαιρετική επιλογή για οργανισμούς ή projects που δεν χρειάζονται την πολυπλοκότητα και το κόστος που σχετίζονται με το AWS CloudWatch ή άλλα ολοκληρωμένα εργαλεία παρακολούθησης.