# Meetings > Ομάδες Εργασίας >  Ομάδα Network monitoring + Nagios

## Achille

Θα παρακαλούσα τον Mick Flemm να μας πει σε τι σημείο βρίσκεται η κατασκευή του χάρτη του AWMN, τι γίνεται με το nagios και ποιοι άλλοι ασχολούνται με το θέμα.
Επίσης σε ποιο στάδιο βρίσκεται η διασύνδεση του θέματος με την Ομάδα AWMN DB.

----------


## Mick Flemm

Έχουν καταχωριθεί αρκετοί κόμβοι στο nagios και περιμένω από τους:

jabarlee (που μου έχει πει οτι αναδιωργανώνει τις IPs του οπότε περιμένω) 

Alexandros

bakolaz 

και DiGi (ο οποίος μου τα 'πε μάλον στο IRC και τα ξέχασα)

και όσους έχουν dns server να στείλουν με pm τα hostnames που διατηρούν σε εμένα ή στους 
παρακάτω:

Ocean (ο οποίος ξέρει όσα κι εγώ για το nagios και μπορεί να βοηθίσει πάρα πολύ, του έχω κάνει acount στον dti για να μπορεί να κάνει restart το nagios και να διορθώσει με το χέρι τις καταχωρίσεις, μπορεί επίσεις να βάλει και εικονίδια στο statusmap κλπ. Όταν φύγω για σπουδές ελπίζω να αναλάβει τη θέση μου.) 

Tassos ο οποίος καταχωρεί κόμβους και services μέσω του Nagat και ο 

racer που κι αυτός καταχωρεί κόμβους με το nagat. 

Όσοι πιστοί προσέλθετε, υπάρχει ήδη ένα tutorial στο nagat το οποίο θα εμπλουτιστεί για να μπορούν κι άλλοι να καταχωρίσουν κόμβους. Για να πάρετε pass για το nagat και τις απαραίτητες οδηγείες, βρείτε εμένα ή κάποιον από τους παραπάνω στο IRC και θα σας πούμε τα απαραίτητα (ενοείται πως πρώτα πρέπει να διαβάσετε το documentation του nagios που θα βρείτε στο http://www.nagios.org )...

Σχετικά με την db, δεν έχει συζητιθεί εκτενώς η διασύνδεση του nagios με την db, υπάρχει το ενδεχόμενο να ξαναγίνει compile το nagios με mysql support όπως και το ενδεχόμενο να γίνει με κάποιο php frontend κατευθείαν (όπως το nagat αλλά καλύτερο), θέλει ψάξιμο και συζητιση η οποία θα γίνει κάποια στιγμή...

Αυτή τη στιγμή δοκιμάζουμε με τον racer το distributed monitoring που πρέπει πλέον να αρχίσει να εφαρμόζεται (ήδη μετά τον MAuVE και τον Santo δεν γίνεται σωστό monitoring και ταυτόχρωνα επιβαρύνεται και το link (όποιος είναι μετά τον mauve/santo κι έχει linux contact mε) καθώς και το monitor του internet link (θα βάλουμε στον racer ένα nagios που θα κάνει ping μια διεύθυνση στο net οπότε αν αυτή είναι down η dsl του θα είναι down)...

----------


## Achille

Μερικές προτάσεις:

1) Μην βάζετε να κάνει monitor services, γιατί φορτώνετε χωρίς λόγο το δίκτυο
2) Βάλτε να κάνει ping monitor μόνο τους κόμβους που έχουν router και συμμετέχουν στο backbone. Το νόημα είναι να βλέπεις με μια ματιά αν έχει πέσει κάποιος κόμβος στο backbone και εμποδίζει άλλους να συνδεθούν.
Δεν μας ενδιαφέρει ιδιαίτερα αν ο πχ ggeorgee έχει κλείσει το PC του.

Όλα πρέπει να είναι πράσινα, και αν κάτι είναι κόκκινο, πρέπει να μας πιάνει πανικός και να αρχίζουν τα τηλέφωνα, όχι όπως είναι τωρα...

EDIT: Μπορείτε επίσης αντί να έχετε στα Layers "PCs Managed by Tade" να έχετε 2 layers, ένα για το Backbone και ένα για όλα τα PC στο AWMN, αν και για λόγους οικονομίας του δικτύου, θα πρότεινα στο nagios να μπει μόνο το Backbone, όπως πρότεινα στο (2)

Keep it simple. Αλλά να είναι ενημερωμένο, αλλιώς δεν έχει νόημα.

----------


## vegos

> Μερικές προτάσεις:
> 
> 1) Μην βάζετε να κάνει monitor services, γιατί φορτώνετε χωρίς λόγο το δίκτυο
> 2) Βάλτε να κάνει ping monitor μόνο τους κόμβους που έχουν router και συμμετέχουν στο backbone. Το νόημα είναι να βλέπεις με μια ματιά αν έχει πέσει κάποιος κόμβος στο backbone και εμποδίζει άλλους να συνδεθούν.
> Δεν μας ενδιαφέρει ιδιαίτερα αν ο πχ ggeorgee έχει κλείσει το PC του


Κι όμως..

Εγώ θέλω πχ να ξέρω ΑΝ ο web server του Νάσου είναι ανοιχτός, ή ο Max έχει ανοιχτό τον ICQ Server κλπ...

----------


## Renos

Ενα πολυ ενδιαφερον προγραμματακι για τα Win ειναι το ακολουθο:

http://www.kilievich.com/fpinger/

----------


## Achille

> Κι όμως..
> 
> Εγώ θέλω πχ να ξέρω ΑΝ ο web server του Νάσου είναι ανοιχτός, ή ο Max έχει ανοιχτό τον ICQ Server κλπ...


Καλά κάνεις και θέλεις, και μπορεί ο καθένας να στήσει ένα monitor στον server του και να δείχνει σε τι κατάσταση είναι, μέσω web ας πούμε.
Το να υπάρχουν όμως συνεχώς probes από κεντρικοποιημένο server προς ΟΛΑ τα services ΚΑΘΕ κόμβου είναι ΤΕΡΑΣΤΙΑ σπατάλη bandwidth.

----------


## Mick Flemm

Με το distributed monitoring θα ξαλαφρώσει αρκετά το badnwidth, ωστόσο συμφωνώ να μην γίνονται monitor τα PC των εσωτερικών δικτύων αλλά μόνο οι routers και τα PCs που απέχουν 1hop από κάποιον router. Το θέμα των users είναι πολύ ευέλικτο, αυτή τη στιγμή υπάρχει πρόβλεψη για κάθε άτομο που έχει καταχωρηθεί ο κόμβος του να κάνει acount στον apache και να διαχειρίζεται την κατάσταση του κόμβου του (να σταματάει το check κάποιου service, να βάλει κάποιο comment ή να δηλώσει downtime). Είναι πολύ δυνατό πρόγραμμα καλό θα ήταν να γίνει ένα meeting να συζητίσουμε τι θέλουμε να μας κάνει...

----------


## Achille

Μπορούμε να τα συζητήσουμε και εδώ πάντως, μιας και δεν έχουν γυρίσει ακόμα όλοι.
Το scheduled downtime όντως είναι χρήσιμο, επομένως θα μπορούσαν να είναι στο κόλπο όσα PCs επιτελούν χρέη server, δηλαδή είναι ανοιχτά 24/7.
Πάντως τα layers έτσι όπως είναι τώρα είναι ψιλοάχρηστα, ενώ αν ήταν μοιρασμένα ως εξής θα ήταν πιο χρήσιμα. Δηλαδη:

1) Backbone routers
2) Application servers
3) Clients

ώστε να επιλέγεις εύκολα να δεις ότι σε ενδιαφέρει.

Επίσης για να γίνονται poll και υπηρεσίες, πρέπει απαραιτήτως να τρέχει nagios ανα 2-3 κόμβους MAX. Ήδη σε ενα tcpdump, τα probe πακέτα του nagios είναι συγκρίσιμη μάζα σε σχέση με τα υπόλοιπα πακέτα που περνάνε από τον κόμβο μου...

----------


## jabarlee

Δεδομένου ότι το δίκτυο, για κάμποσο καιρό ακόμα θα υποφέρει πολύ από bandwidth, νομίζω ότι δεν θα έπρεπε να το φορτώσουμε με τόσα πολλά checks.
Το σημαντικό είναι να ξέρουμε ποιος backbone κόμβος είναι up & running. Αν θέλω να δω τους clients, ξέροντας ότι το backbone δουλεύει, μου αρκεί ένα Ping. Αν θέλω να δω και services, ε , ας στήσει όποιος ενδιαφέρεται στο pc του ένα ανάλογο utility. Aν δείτε παρεπιπτόντως την σελίδα του spirosco, είναι υπόδειγμα απλότητας και λειτουργικότητας (http://www.spirosco.awmn). Εδώ μιλάμε για αποκεντρικοποίηση για καλύτερη εκματάλλευση του bandwidth , όχι να βγάλουμε τα μάτια μας μόνοι μας...

*Να διορθώσουμε και το λάθος....

----------


## spirosco

Ευχαριστω για τα καλα σου λογια Μανωλη, και συμφωνω. Να διορθωσω μονο οτι ειναι http://www.spirosco.awmn (το αλλο βγαζει Under construction).

Οσο για τo services monitoring τουλαχιστον σε επιπεδο Linux (γιατι οχι και στα windows) ειναι πολυ απλο και ευκολο με apache & php να εχεις μια σελιδα με τους deamons που ειναι up.

----------


## Mick Flemm

Σήμερα αν όλα πάνε καλά και προλάβω να ανεβάσω την ταράτσα θα κάνω release και τον κώδικα (μένει να πάρω τα stylesheets απ' τον Σπύρο)...

----------


## Mick Flemm

Συγνώμη για την καθυστέριση αλλά είχα κάποια probs με το εδώ PC και δεν μπορώ να γράψω λίγο documentation που θέλω...

Κατά τα άλλα είναι έτοιμο εδώ και καιρό  ::

----------


## Mick Flemm

Voila το τσέκαρα στο PC ενός φίλου οπότε παίζει να μην είναι τελείως Ο.Κ. please feedback needed !!!!

----------


## Mick Flemm

Υπ' όψην χρειάζεστε libcurl 7.9.7 ή νεότερη.

----------


## Mick Flemm

So το Nagios πλέον γίνεται MySQL based, είδη δουλεύω πάνω στην φόρμα καταχώρησης η οποία θα τελειώσει σύντομα και σας στέλνω και μερικά screenshots να πάρετε μια γεύση. Το επόμενο βήμα είναι να το δοκιμάσουμε και τέλος να το εφαρμώσουμε. Προς το παρόν η φόρμα έχει μόνο την default καταχώρηση δηλαδή βάζει μόνο το Ping service να γίνεται check, λέτε να βάλω checkboxes για να επιλέγεται κι άλλα ? (φοβάμαι οτι θα φορτώσει πολύ) Αν ναι ποιά θεωρέιτε καλά ? (μπορούμε να κάνουμε monitor σχεδόν τα πάντα).

Stay tuned και περιμένω τις απόψεις σας.

Λίγα λόγια για την φόρμα:

Στο Name βάζουμε το όνομα του node χωρίς κενά και περίεργους χαρακτήρες.

Στο alias βάζουμε μια μικρή περιγραφή του κόμβου (αυτό που βλέπετε όταν περνάει ο κέρσορας πάνω από ένα κόμβο στο χάρτη)

Στο parents είναι λίγο πολύπλοκο αλλά περιλιπτικά βάζουμε αυτόν με τον οποίο συνδέεται και κοιτάει ποιό πολυ προς τον server του nagios (λιγότερα hops), θεωρητικά μπορεί να είναι πολλές καταχωρήσεις, πρακτικά μέχρι τώρα είναι το πολύ 2.

Στο type βάζετε τι είναι ο κόμβος, αν είναι router ή server (το 2ο δεν το έχουμε πολυσκεφτεί ακόμα αλλά το βλέπουμε).

Ακούω γνώμες,

----------


## nvak

Νίκο τo BGPmap το έχεις δεί ? 
Μήπως θα πρέπει να βρούμε το πρόβλημα που είχε, παρά να στηθεί κάτι απο την αρχή ?

----------


## Mick Flemm

To bgp map είναι πολύ καλή φάση σαν σκέψη αλλά είναι μόνο για το backbone και έχει περιορισμένες δυνατότητες λόγω του τρόπου με των πληροφωριών που χρησιμοποιεί. Βέβαια είναι ποιό έξυπνο και ποιό γρήγορο σαν τρόπος αλλά δεν το έψαξα περισσότερο (είναι και λιγάκι δυσανάγνωστος ο κώδικας απ' ότι θυμάμαι).

Τεσπά η φόρμα εξελίσεται ρίχτε μια ματιά...

----------


## jabarlee

Για τη φόρμα:

Ίσως δε θα έπρεπε να δηλώνεις parent, αλλά απλά peers, δεδομένου ότι δε μπορεί να ξέρει ο καθένας αν το nagios θα τον δει parent/child (έχει σχέση με το ποιος είναι πιο κοντά στον root κόμβο του nagios, αν θυμάμαι καλά)

Επίσης καλά κάνεις και τα βάζεις, αλλά υποψιάζομαι ότι τα άλλα services πλην του ping μάλλον θα πρέπει να είναι απενεργοποιημένες ω επιλογές, εκτός αν το γυρίσουμε στο distributed monitoring (δεν είναι και το καλύτερο το nagios που τρέχει στο σύλλογο να τσεκάρει 3-4 υπηρεσίες σε κόμβους που βρίσκονται 15 hops μακρυά.

Τέλος, οι συντεταγμένες αναφέρονται σε γεωγραφικό μήκος/πλάτος ή σε διαστάσεις πάνω στο background του χάρτη;

** όλα αυτά που λέω είναι άκυρα αν η φόρμα προορίζεται για τον/τους administrator(s) του nagios, τα λέω σε περίπτωση που την καταχώρηση θα την κάνει μόνος του ο κάθε χρήστης)

----------


## Mick Flemm

Η φόρμα προορίζεται για όλους.

Σχετικά με τις συντεταγμένες προς το παρόν δεν γίνεται κανένα error correction, το πρώτο που θα γίνει είναι να μπορούμε να βάλουμε μόνο συντεταγμένες πάνω στο bakground (απλά δεν έχω κοιτάξει ακόμα το background κλπ). Στο μέλλον κι αφού δούμε το ενδεχόμενο καινούριου χάρτη (μιας που είδη έχουμε ξεφύγει απ' τα όρια αυτού) θα φτιάξουμε ελπίζω εκείνον τον πολυπόθυτο αλγόρυθμο για να μετατρέπουμε τις συντεταγμένες απ' το maporama σε συντεταγμένες εκείνου του χάρτη (κομένες βέβαια και λόγω κλίμακας και λόγω του ότι πρόκειται για προσωπικό δεδομένο και δεν χρειάζεται να το ξέρουμε με τέτοια ακρίβεια).

Για τα services έχεις δίκιο και το σκέφτηκα, όμως το όλο θέμα με το Nagios είναι οτι μπορεί να ελέγχξει services και εκεί είναι που υπερέχει, πιστεύω πως -αν όχι τώρα- τουλάχιστον στο μέλλον να έχουμε σωστό monitoring στο δίκτυο με τα services κλπ να γίνονται monitor. Ας αρχίσουμε λέω εγώ με τους DNS και βλέπουμε.

Για τα parents κλπ θα βγεί tutorial και αν έχεις τον χάρτη δίπλα σου ανοιγμένο σε ένα παράθυρο είναι εύκολο να τα φτιάξεις, για λόγους ασφαλείας ίσως αφήσω μόνο 2 ή 3 parents αντι για 7 που αφήνω τώρα.

----------


## Mick Flemm

Έτοιμο και το Administrator panel, έχω αρχίσει και να περνάω τους κόμβους στην database μέσω του interface για να είναι όλα έτοιμα !

----------


## Mick Flemm

Done ! έτοιμο και το προγραμματάκι που φτιάχνει τα config files με βάση την database κλπ κλπ λίγο testing και σας το παραδίδω...

----------


## Mick Flemm

To How - to που σας έλεγα...

Note: Ότι είναι σε _italics_ δεν χρειάζεται να το κάνετε εφόσον εγκαταστήσετε το πακέτο του debian nagios-mysql.

α) Εγκαταστήστε τον apache και την php.

β) Εγκαταστήστε το Nagios με υποστήριξη για MySQL...
Μπορείτε να εγκαταστήσετε χύμα το debianοπακέτο nagios-mysql ή να κάνετε το nagios compile με τα ακόλουθα:

./configure --prefix=/usr --mandir=/usr/share/man --bindir=/usr/sbin --sbindir=/usr/lib/cgi-bin/nagios --datadir=/usr/share/nagios/htdocs --sysconfdir=/etc/nagios --infodir=/usr/share/info --libexecdir=/usr/lib/nagios/plugins --localstatedir=/var/log/nagios --with-ping-command="/bin/ping -n %s -c %d" --with-mail=/usr/bin/mail --with-perlcache --with-nagios-user=nagios --with-nagios-grp=nagios --with-template-objects --build=i386-linux --host=i386-linux *--with-mysql-xdata*

γ) Εγκαταστήστε τον MySQL Server και ορίστε το root pass.

δ) Κατεβάστε το αρχείο που θα βρείτε εδώ...>
http://www.awmn/forum/viewtopic.php?t=13120 και βάλτε τα *.php στο htdocs (το directory τεσπά που αντιστοιχεί στο / του apache). Κατεβάστε το συνημένο αρχείο και βάλτε _τα "check_nagios_db" και "apache.conf" στο /etc/nagios και το "nagios" στο /etc/init.d_ (ή στο rc κάτι αν έχετε Slack - ας πει κάποιος σχετικότερος σε Slack, Spirosco ? ).

Κάντε executable _το "nagios"_ και το "check_nagios_db"

chmod u+x /etc/nagios/check_nagios_db
_chmod u+x /etc/init.d/nagios_

κατόπιν βάλτε το nagios.sql στην βάση ως εξής:

1) Φτιάξτε την database "nagios"

mysqladmin -u root -p create nagios

2) Βάλτε τα περιεχόμενα του nagios.sql στην database

cat nagios.sql | mysql -u root -p nagios

3) Φτιάξτε τον χρήστη "nagios" για την database με password "awmn"

mysql -u root -p nagios

(σας ανοίγει το CLI της MySQL και γράφετε)

GRANT SELECT, INSERT, UPDATE, DELETE ON nagios.* TO [email protected] IDENTIFIED BY 'awmn';

κι αν έχετε MySQL Server >= 4.0.2 γράφετε επιπλέον

GRANT LOCK TABLES ON nagios.* TO [email protected] IDENTIFIED BY 'awmn';

ε) Κάντε edit το /etc/nagios/resource.cfg και /etc/nagios/cgi.cfg και αλάξτε τα εξής:
κάντε uncomment τα παρακάτω και θέστε τις εξής τιμές...

xsddb_database=nagios
xsddb_username=nagios
xsddb_password=awmn

xcddb_database=nagios
xcddb_username=nagios
xcddb_password=awmn

xdddb_database=nagios
xdddb_username=nagios
xdddb_password=awmn

xrddb_database=nagios
xrddb_username=nagios
xrddb_password=awmn

αφήστε τα *_host και *_port commented (θα καταλάβει οτι πρέπει να συνδεθεί στο localhost με το unix socket αυτόματα).

στο /etc/nagios/cgi.cfg αλάξτε επιπλέον το εξής:

nagios_check_command=/etc/nagios/check_nagios_db

ζ) _Κάντε ένα symlink το /etc/nagios/apache.conf στο /etc/apache/conf.d (αν το έχετε φτιάξει έτσι αλλιώς απλά κάντε c/p τα περιεχόμενα του apache.conf στο httpd.conf σας)._

η) Ξεκινήστε το Nagios

/etc/init.d/nagios start

Και ο θεός βοηθός...  ::

----------


## Mick Flemm

Μικρή διόρθωση, πριν ξεκινήσετε το Nagios κάντε edit το /etc/nagios/contactgroups και αφού το αδιάσετε γράψτε τα παρακάτω:



```
define contactgroup {
contactgroup_name       Net-Admins
alias                   Network Admins
members                 nagiosadmin
}
```

Μετά ανοίχτε το admin.php (θα πρέπει να βλέπετε κανονικά την λίστα με τους καταχωρημένους κόμβους) και πατήστε "Write Config Files".

Μετά από αυτό πρέπει να είναι όλα Ο.Κ.

----------


## acoul

Υπάρχει κανένα νέο από αυτό το πολύ ωραίο project ?

----------


## mojiro

http://www.awmn/forum/viewtopic.php?p=261135#261135

----------

