Nagios: Ενεργοποίηση εξωτερικών εντολών
- Κατηγορία: Δίκτυο
Εδώ είμαστε και πάλι πίσω με τον παλιό σας φίλο Nagios. Εάν παρακολουθείτε, ξέρετε ότι έχω καλύψει αρκετό έδαφος με αυτό το εξαιρετικό εργαλείο παρακολούθησης δικτύου (δείτε όλα τα άρθρα του Ghacks Nagios). Υπάρχει ένας λόγος για αυτό, το Nagios είναι ένα απίστευτο εργαλείο. Αλλά για πολλούς από εσάς, ενδέχεται να αντιμετωπίσατε ένα σφάλμα κατά την προσπάθεια εκτέλεσης μερικών από τις πιο ισχυρές δυνατότητες. Αυτό το σφάλμα παρουσιάζεται όταν προσπαθείτε να χρησιμοποιήσετε οποιαδήποτε από τις εξωτερικές εντολές του Nagios. Αλλά ποιες είναι αυτές οι εξωτερικές εντολές; Το Nagios μπορεί να εκτελεί εντολές από εξωτερικές εφαρμογές. Αυτό επιτρέπει στο Nagios να επεκτείνεται πιο μακριά από ότι θα μπορούσε διαφορετικά.
Αλλά όταν βλέπετε αυτό το σφάλμα, γνωρίζετε ότι η εγκατάσταση του Nagios δεν μπορεί να χρησιμοποιήσει εξωτερικές εντολές. Μη φοβάστε, αυτό το σφάλμα είναι απλό να έρθει, και σε αυτό το άρθρο θα σας καθοδηγήσω στη διόρθωση.
Υποθέσεις

Με αυτόν τον τρόπο θα υποθέσετε ότι έχετε μια λειτουργική εγκατάσταση Nagios καθώς και πρόσβαση root ή sudo στον διακομιστή σας. Αυτό το άρθρο προϋποθέτει επίσης ότι έχετε δοκιμάσει να χρησιμοποιήσετε δυνατότητες που απαιτούν εξωτερικές εντολές. Εάν όχι, ας ρίξουμε μια ματιά στο πώς.
Εάν τοποθετήσετε το πρόγραμμα περιήγησής σας στο διακομιστή Nagios, κάντε κλικ στο σύνδεσμο Λεπτομέρειες υπηρεσίας και, στη συνέχεια, κάντε κλικ σε μία από τις υπηρεσίες (όπως HTTP ή SSH). Σε αυτήν τη σελίδα θα δείτε το πλαίσιο εντολών υπηρεσίας. Εάν κάνετε κλικ σε έναν από αυτούς τους συνδέσμους και λάβετε το σφάλμα - χρειάζεστε την επιδιόρθωση!
Η επιδιόρθωση
Αποθηκεύτηκε από το μηδέν, σωστά; Περίπου. Το πρώτο πράγμα που πρέπει να ελέγξετε είναι το /etc/nagios3/nagios.cfg αρχείο . Αναζητήστε μια γραμμή όπως:
check_external_commands = 1
Εάν η γραμμή είτε σχολιάζεται είτε έχει οριστεί σε '0', αλλάξτε την ώστε να μοιάζει με την παραπάνω καταχώριση. Μόλις το κάνετε αυτό, αποθηκεύστε και κλείστε το αρχείο. Τώρα επανεκκινήστε το Nagios με την εντολή επανεκκίνηση sudo /etc/init.d/nagios3 . Δεν τελειώσατε ακόμα.
Το επόμενο βήμα είναι να ανοίξετε το /etc/nagios3/cgi.cfg αρχείο. Πιθανότατα θα βρείτε αυτές τις δύο γραμμές:
εξουσιοδοτημένο_for_all_services = nagiosadmin
εξουσιοδοτημένο_for_all_hosts = nagiosadmin
Μετά από αυτές τις δύο γραμμές, πρέπει να προσθέσετε τα ακόλουθα:
εξουσιοδοτημένο_for_all_host_commands = nagiosadmin
εξουσιοδοτημένο_for_all_service_commands = nagiosadmin
Αποθηκεύστε και κλείστε αυτό το αρχείο. Τώρα επανεκκινήστε το Apache με την εντολή επανεκκίνηση sudo /etc/init.d/apache2 .
Δεν έχει γίνει ακόμα. Τώρα πρέπει να κάνετε μια μικρή αλλαγή σε / κλπ / ομάδες . Ανοίξτε αυτό το αρχείο, με τον αγαπημένο σας επεξεργαστή κειμένου και αναζητήστε μια γραμμή που μοιάζει με:
nagios: x: 127:
Αλλάξτε αυτήν τη γραμμή ώστε να μοιάζει με:
nagios: x: 127: δεδομένα www
Τώρα αποθηκεύστε και κλείστε αυτό το αρχείο. Σχεδόν τελείωσα. Αλλά το επόμενο βήμα είναι λίγο πιο δύσκολο από το προηγούμενο.
Στον κατάλογο / var / lib / nagios3 / rw είναι ένα αρχείο nagios.cmd . Αυτό το αρχείο πιθανότατα δεν έχει το σωστό σύνολο δικαιωμάτων. Από προεπιλογή, μόνο τα nagios χρήστη έχουν πρόσβαση σε αυτά τα αρχεία. Δεδομένου ότι δεν μπορούμε να το αλλάξουμε στον χρήστη δεδομένων www (θα σπάσει άλλες λειτουργίες του Nagios), πρέπει να προσθέσουμε το bit εκτελέσιμης ομάδας στο αρχείο όπως έτσι:
sudo chmod g + x / var / lib / nagios / rw
Αυτό είναι. Τώρα επιστρέψτε στην ενότητα Εντολές υπηρεσίας και κάντε κλικ σε έναν από τους συνδέσμους. Δεν θα πρέπει πλέον να λάβετε αυτό το σφάλμα.
Τελικές σκέψεις
Ίσως πιστεύατε ότι η εγκατάσταση του Nagios ήταν αρκετά χρήσιμη. Τώρα που μπορείτε να εκτελέσετε εξωτερικές εντολές, θα βρείτε ότι η εγκατάσταση του Nagios είναι πολύ πιο χρήσιμη.