Έλεγχος του prometheus.yml ότι ειναι σωστό
Μετά την εγκατάσταση του prometheus, το αρχείο που είναι απαραίτητο για την λειτουργία του είναι το prometheus.yml. Η yml κατά την σύνταξή της έχει πολλές ιδιαιτερότητες, πολλές φορές κατά το edit μπορεί να δημιουργηθούν προβλήματα στο αρχείο.
Πως θα γίνει λοιπόν έλεγχος του prometheus.yml ;
Λόγο των παραπάνω προβλημάτων, όταν θα θελήσουμε να κάνουμε restart το service του prometheus, τότε θα έλθουμε αντιμέτωποι με μηνύματα λάθους.
Για να τα ξεπεράσουμε αυτά τα προβλήματα, υπάρχει τρόπος να κάνουμε έλεγχο του αρχείου prometheus.yml πριν ακόμα κάνουμε το restart.
Για τον έλεγχο θα χρειαστούμε το αρχείο promtool που βρίσκεται στον φάκελο του prometheus.
Πάμε να κατεβάσουμε το πρόγραμμα prometheus με την παρακάτω εντολή, εδώ μπορείς να βρεις όλα τα νέα releases του prometheus:
wget https://github.com/prometheus/prometheus/releases/download/v2.25.0/prometheus-2.25.0.linux-amd64.tar.gz
tar -xzf prometheus-*.tar.gz
cd prometheus-*
Εσκεμενα αυτήν την φορά θα δημιουργήσουμε λάθη στη αρχειο ώστε να εμφανιστουν στον έλεγχο με το promtool:
cat >prometheus.yml <<'EOF'
scrape_configs:
- job_name: prometehus
static_configs:
- targets: ['localhost:9090']
EOF
Τώρα και αφού έχουμε μπει στον φάκελο του Prometheus, πάμε να κάνουμε τον έλεγχο στο αρχείο Prometheus.yml με το promtool.
Για να το κάνουμε θα δώσουμε την παρακάτω εντολή στο τερματικό μας:
./promtool check config prometheus.yml
Checking prometheus.yml
FAILED: parsing YAML file prometheus.yml: yaml: unmarshal errors:
line 3: field static_configs not found in type config.plain
Όταν διορθώσουμε το αρχειο , που εσκεμενα το κάναμε λάθος, τοτε οταν δώσουμε την ίδια εντολη θα μας επιστρεψει το παρακάτω :
./promtool check config prometheus.yml
Checking prometheus.yml
SUCCESS: 0 rule files found
Τόσο απλά λοιπόν μπορούμε να κάνουμε τον έλεγχο του αρχείου prometheus.yml ώστε να γλυτώσουμε αρκετή ώρα με troubleshooting.
Σε επόμενο άρθρο θα δούμε πως να κάνουμε σωστό editing το αρχείο yml, είτε σε Linux ssh command περιβάλλον, είτε στα windows.