Smokeping install
Από AWMN-WiKi
Πίνακας περιεχομένων |
Εγκατάσταση Smokeping
Γενικές Πληροφορίες
Το Smokeping είναι ένα πανίσχυρο εργαλείο μέτρησης των καθυστερήσεων δικτύου, που χρησιμοποιεί το RRDtool για να δημιουργήσει τις γραφικές παραστάσεις της στιγμιαίας καθυστέρησης, της μέσης κατάστασης, και της απώλειας πακέτων σε ένα δίκτυο με τη μέτρηση των μέσων χρόνων επιστροφής πακέτων (RTT-Round Trip Time). Άλλα προγράμματα όπως το NRG ή το MRTG μπορούν επίσης να δώσουν μια γραφική παράσταση κάποιων πτυχών της καθυστέρησης χρησιμοποιώντας ping probes, ωστόσο το Smokeping έχει διάφορα σημαντικά πλεονεκτήματα:
Μια ενιαία γραφική παράσταση απεικονίζει όλα τα χαρακτηριστικά που μπορούν να προέλθουν από τις απαντήσεις των ping probes.
Εκτός από τη γραφική παράσταση της καθυστέρησης που μετράει το τυποποιημένο ICMP ping, μπορούμε να εξάγουμε δεδομένα για τις καθυστερήσεις υπηρεσιών δικτύου όπως HTTP, HTTPS, SMTP, DNS καλώντας εξωτερικά εργαλεία (probes) όπως τα echoping, curl ή dig.
Υποστηρίζονται έλεγχοι για probes που εκτελούν εργασίες σε συσκευές ή hosts, ώστε να δώσουν μια συνδυασμένη εικόνα της διαθεσιμότητας κεντρικών υπολογιστών και της υγείας του δικτύου. Παραδείγματος χάριν, οι έλεγχοι μπορούν να αναφέρουν καθυστερήσεις για downloads ιστοσελίδων ή P2P απόκρισης για συγκεκριμένες θύρες.
Μπορεί να γίνει χρήση έξυπνων συναγερμών (alarms) μέσω E-mail ή SMS ή άλλων ειδοποιήσεων, που να ειδοποιούν τους διαχειριστές για τυχόν προβλήματα, ενώ τα 'smart alarms' μπορούν να αποτρέψουν άχρηστες και επαναλαμβανόμενες ειδοποιήσεις για παρόμοια προβλήματα.
Στις γραφικές παραστάσεις του Smokeping, η μέση τιμή του RTT αντιπροσωπεύεται από μια οριζόντια χρωματισμένη γραμμή, η απώλεια πακέτων αντιπροσωπεύεται από το χρώμα της μεσαίας γραμμής, ενώ η κατανομή του RTT (διαφορά) των πακέτων εκφράζεται από τις διαδοχικά ελαφρύτερες σκιές των κάθετων γκρίζων blocks στο παρασκήνιο. Τα γκρίζα blocks λέγονται «καπνός», και αντιπροσωπεύουν τη διαφορά RTT. Όσο μεγαλύτερη είναι η διακύμανση από το μέσο όρο, τόσο μακρύτερα από τη μέση γραμμή (και πιο ανοιχτόχρωμος) είναι ο «καπνός». Αυτές οι μοναδικές γραφικές παραστάσεις μπορούν να βοηθήσουν στην αποκάλυψη των προβλημάτων δικτύων και υπερφορτώσεων, με τη συλλογή των στοιχείων που αφορούν την απώλεια πακέτων, την καθυστέρηση, και τις σύνθετες διακυμάνσεις RTT στο δίκτυό σας.
Οδηγίες Εγκατάστασης
Οι οδηγίες που ακολουθούν αφορούν ένα σύστημα Linux διανομής Ubuntu ή Debian. Επιλέχθηκαν οι συγκεκριμένες γιατί είναι οι πιο εύκολες στη διαχείριση και τροποποίηση. Θεωρούμε ότι ο webserver που τρέχει είναι ο apache2. Ανοίγουμε ένα command prompt και δίνουμε την εντολή (copy/paste) :
sudo apt-get install smokeping
Θα εγκατασταθούν τα απαιτούμενα πακέτα και μπορούμε πλέον να περάσουμε στην παραμετροποίηση. Εκεί θα ορίσουμε τους στόχους και τα probes που θα χρησιμοποιήσουμε στις απεικονίσεις μας.
Παραμετροποίηση
Οι ρυθμίσεις του smokeping είναι αποθηκευμένες στο directory /etc/smokeping/config/config.d/. Εκεί μέσα υπάρχουν τα εξής αρχεία:
Targets → το κυρίως αρχείο, όπου ρυθμίζονται οι στόχοι του smokeping
Alerts → εδώ ρυθμίζονται οι ειδοποιήσεις με mail ή SMS ή άλλα μέσα
General → προσωπικά στοιχεία διαχειριστή όπως αυτά φαίνονται στη σελίδα
Probes → εδώ τοποθετούνται οι ρυθμίσεις άλλων probes πλην του fping
Pathnames → τα πλήρη paths συστήματος που χρησιμοποιεί το smokeping
Presentation → οι τίτλοι των διαγραμμάτων που παρουσιάζει η σελίδα
Slaves → ρυθμίσεις για δικτυακή ενημέρωση πολλαπλών smokepings
Database → απεικόνιση του "καπνού" με διαφορετικές τιμές
Το κυρίως αρχείο ρυθμίσεων είναι το Targets. Το παρακάτω είναι ένα παράδειγμα από το smokeping που τρέχει στον κόμβο JB172 (#11087)
probe = FPing ## You have to edit and uncomment all what you want below this. # Please, refer to smokeping_config man page for more info # The given adresses aren't real to avoid DoS. menu = Top title = Network Latency Grapher remark = Welcome to the JB172's AWMN node 11087 SmokePing website #------------------------------------------- + Local-Network menu = Local Network title = Local Network ++ LocalMachine menu = Local Machine title = This host / Server host = localhost ++ AWMN-Router-eth1 menu = AWMN Router-eth1 title = AWMN Router-eth1 host = 10.22.11.1 ++ AWMN-Router-eth2 menu = AWMN Router-eth2 title = AWMN Router-eth2 host = 10.22.11.33 ++ Local-Lan-AP-No-1 menu = Local Lan AP No 1 title = Local Lan AP No 1 host = 10.22.11.35 ++ Local-Lan-AP-No-2 menu = Local Lan AP No 2 title = Local Lan AP No 2 host = 10.22.11.36 #------------------------------------------- + BBlinks menu = BB Links title = BB Links ++ LP17 menu = LP17 title = BBlink LP17 host = 10.42.69.246 ++ john70 menu = john70 title = BBlink john70 host = 10.2.15.185 ++ NovemberQ menu = NovemberQ title = BBlink NovemberQ host = 10.22.11.198 ++ amar3 menu = amar3 title = BBlink amar3 host = 10.22.11.202 ++ Raditz menu = Raditz title = BBlink Raditz host = 10.22.11.206 ++ VOR menu = VOR title = BBlink VOR host = 10.22.11.194 #------------------------------------------- + AWMN menu = AWMN title = AWMN ++ chesssrv menu = CHESS server title = CHESS server / FPing host = 10.22.11.50 ++ awmn menu = awmn title = www.awmn / HTTP probe = EchoPingHttp host = www.awmn url = http://www.awmn/ ++ wind menu = wind title = wind.awmn / HTTP probe = EchoPingHttp host = wind.awmn url = http://wind.awmn/ ++ anycastDNS menu = anycast DNS title = anycast DNS / DNS probe = DNS host = 10.0.0.1 ++ imovies menu = imovies title = www.imovies.awmn / HTTP probe = EchoPingHttp host = www.imovies.awmn url = http://www.imovies.awmn/ ++ zografou menu = zografou title = www.zografou.awmn / HTTP probe = EchoPingHttp host = www.zografou.awmn url = http://www.zografou.awmn/ ++ library menu = badge's library title = www.library.awmn / HTTP probe = EchoPingHttp host = www.library.awmn url = http://www.library.awmn/ ++ leechers menu = leechers title = www.leechers.awmn / HTTP probe = EchoPingHttp host = www.leechers.awmn url = http://www.leechers.awmn/ ++ byteme menu = byteme title = www.byteme.awmn / FPing host = 10.32.54.4 ++ elastix menu = elastix dazyraby title = elastix dazyraby / FPing host = 10.21.134.10 ++ market menu = market title = www.market.awmn / HTTP probe = EchoPingHttp host = www.market.awmn url = http://www.market.awmn/ ++ docu menu = docu geosid title = www.docu.awmn / HTTP probe = EchoPingHttp host = www.docu.awmn url = http://www.docu.awmn/ ++ 90lepta menu = www.90lepta.awmn title = www.90lepta.awmn / HTTP probe = EchoPingHttp host = www.90lepta.awmn url = http://www.90lepta.awmn/ ++ KidsMovies menu = www.kidsmovies.awmn title = www.kidsmovies.awmn / HTTP probe = EchoPingHttp host = www.kidsmovies.awmn url = http://www.kidsmovies.awmn/ ++ fengi1 menu = router.fengi1.awmn title = router.fengi1.awmn / FPing host = 10.34.71.1
Παρατηρούμε από το configuration ότι :
1. Η default συμπεριφορά είναι να γίνεται ping σε μια IP που εισάγεται στο host
2. Για τον έλεγχο των BB links, βάζουμε να ελέγχεται η IP του απέναντι κόμβου
3. Αν θέλουμε να ελέγχουμε το uptime ενός site, χρησιμοποιούμε το HTTP probe με /HTTP στο title
4. Για τον έλεγχο ενός DNS, χρησιμοποιούμε το dig (το ορίζουμε στο Probes αρχείο) και τον DNS probe με /DNS στο title
5. Οι επικεφαλίδες των μενού είναι με ένα συν δίπλα στο όνομα (+) και δύο ή τρία σύν (++/+++) για τα υπομενού
Δοκιμή και ολοκλήρωση ρυθμίσεων
Αφού ρυθμίσουμε τα ανωτέρω αρχεία, κάνουμε επανεκκίνηση της υπηρεσίας του smokeping δίνοντας σε ένα command prompt την εντολή:
sudo /etc/init.d/smokeping restart
Αν εμφανιστεί κάποιο μήνυμα λάθους, προφανώς έχουμε κάποια λάθος ρύθμιση στα ανωτέρω αρχεία. Εφόσον έχουν πάει όλα καλά, ανοίγουμε ένα browser και τσεκάρουμε τη διεύθυνση :
http://{linux_server_ip}/cgi-bin/smokeping.cgi
Θα μας ανοίξει η σελίδα του smokeping και θα δούμε ότι ήδη έχουν ξεκινήσει να δουλεύουν τα probes και να καταγράφονται δεδομένα.
Για να μη χρειάζεται να θυμόμαστε το ανωτέρω URL, δημιουργούμε στον web server ένα αρχείο με τίτλο index.php και βάζουμε τις εξής εντολές :
<?php
header('location: ../cgi-bin/smokeping.cgi')
?>
και το τοποθετούμε εντός του directory /var/www/smokeping/. Στη συνέχεια θα μπορούμε να δούμε τα δεδομένα επισκεπτόμενοι τη σελίδα
http://{linux_server_ip}/smokeping/ ή ακόμα καλύτερα http://{FQDN}/smokeping/
σ.σ.: Αν δείτε το σφάλμα
Warning: Cannot modify header information - headers already sent by (output started at /var/www/smokeping/index.php:1) in /var/www/smokeping/index.php on line 2
βεβαιωθείτε πως δεν υπάρχουν κενά στην αρχή της κάθε γραμμής του αρχείου index.php που δημιουργήσατε.


