30.05.2011, 05:46 UTC+2

Sie sind nicht angemeldet.

Classic Webinterface und IDO

nagios9

Anfänger

Beiträge: 39

Anzahl Nagios-Server: 2

Nagios-Version(en): 3

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 50

Anzahl Services: paar hundert

Betriebssystem(e): Debian

Plugin-Version(en): 1.4

1

21.05.2011, 21:43

Classic Webinterface und IDO

Hallo,

ich möchte icinga mit ido einsetzen.
Jetzt meine Frage: Werden die Daten zusätzlich in die DB eingetragen und
trotzdem nochmal lokal gespeichert oder verwendet icinga bei der Verwendung von IDO nur die Datenbank und nichts mehr lokal?

Wie schaut es aus wenn man pnp4nagios einsetzt? Wird hier direkt auf die DB dann zugegriffen oder werden dann auch wieder eigene Daten erstellt?

Bastian Kuhn

Fortgeschrittener

Beiträge: 273

Geschlecht: Männlich

Wohnort: München

Anzahl Nagios-Server: 6

Nagios-Version(en): 3.0 - 3.2

Verteiltes Monitoring: Nein

Redundantes Monitoring: Ja

Anzahl-Hosts: >500

Anzahl Services: >10000

Betriebssystem(e): Unix, Windows

Plugin-Version(en): !=

2

22.05.2011, 10:05

Hi,

wenn du die status.dat meinst, ja da stehen die auch noch mal direkt drinnen. Das zusätzliche speichern aller Daten ist nur für die Nutzung des Icinga Webs nötig, nicht für das Classic Webinterface.

pnp4nagios hat seine ganz eigenen Daten. Die zieht er nicht aus der Datenbank.

nagios9

Anfänger

Beiträge: 39

Anzahl Nagios-Server: 2

Nagios-Version(en): 3

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 50

Anzahl Services: paar hundert

Betriebssystem(e): Debian

Plugin-Version(en): 1.4

3

22.05.2011, 13:23

ist das nicht komplett blöd, dass man 3 unterschiedliche Datenquellen hat?

Außerdem ist ja dann alles doppelt und dreifach abgespeichert.
Kann man das Classic Webinterface nicht auch auf MySQL umstellen und die status.dat deaktivieren?
Das neue Webinterface ist mir zu unübersichtlich.

Kann man wenn sich die DB (rrd oder?) von pnp4nagios nicht mehr funktioniert auch aus MySQL die Datenbank wiederherstellen?
Davon abgesehen muss man überhaupt MySQL benutzen wenn man lediglich Daten abrufen möchte und in anderen Programmen auswerten möchte?
Ich meine MySQL ist doch ziemlich ineffizient bei einer großen Datenmenge, die jedoch statisch ist?
Ich möchte auch nach 3 Jahren jeden Status vor 3 Jahren noch nachvollziehen können.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »nagios9« (22.05.2011, 13:33)


MiCkEy2002

Administrator

Beiträge: 4 177

Geburtstag: 29.02.1976 (35)

Geschlecht: Männlich

Wohnort: Roffhausen

Beruf: Systemadministrator

Anzahl Nagios-Server: 9

Hobbys: Bungee Springen, lesen....

Nagios-Version(en): 2.5 / 3.03

Verteiltes Monitoring: Ja

Redundantes Monitoring: Ja

Anzahl-Hosts: ~1700

Anzahl Services: ~18000

Betriebssystem(e): SuSE SLES 9

Plugin-Version(en): 1.4.3

NagVis-Version: 1.2.2

NDO-Version: 1.3.1/1.4b7

Perfparse-Version: 0.106.1

Sonstige Addon's: NagTrap 1.3/PNP

4

22.05.2011, 15:00

Zitat

ist das nicht komplett blöd, dass man 3 unterschiedliche Datenquellen hat?

Wieso? Gerade die Möglichkeiten zu haben, die Daten aus verschiedenen Datenquellen holen zu können, macht das Ganze doch erst flexible.

Zitat

Außerdem ist ja dann alles doppelt und dreifach abgespeichert.
Kann man das Classic Webinterface nicht auch auf MySQL umstellen und die status.dat deaktivieren?

Nein, weil es so einem die Möglichkeit bietet, bei einem Ausfall der DB, weiter arbeiten zu können.

Zitat

Ich meine MySQL ist doch ziemlich ineffizient bei einer großen Datenmenge, die jedoch statisch ist?

Verstehe nicht ganz was Du damit meinst? Wieso ist MySQL ineffizient bei einer großen Datenmenge? Du kannst ja auch eine Oracle-DB einsetzen.

Gruß
Michael

nagios9

Anfänger

Beiträge: 39

Anzahl Nagios-Server: 2

Nagios-Version(en): 3

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 50

Anzahl Services: paar hundert

Betriebssystem(e): Debian

Plugin-Version(en): 1.4

5

22.05.2011, 21:23

Zitat

Wieso? Gerade die Möglichkeiten zu haben, die Daten aus verschiedenen Datenquellen holen zu können, macht das Ganze doch erst flexible.
Naja es sind 3 x die gleichen Daten. Einmal pnp4nagios, einmal die interne Icinga Speicherung und dann nochmal alles in der Datenbank.
Die Gefahr ist einfach das die Daten nicht überall die gleichen sind.
Außerdem wird ja dadurch unnötig Speicherplatz benötigt.

Zitat

Nein, weil es so einem die Möglichkeit bietet, bei einem Ausfall der DB, weiter arbeiten zu können.
Wobei dann wieder die Daten unterschiedlich sind und das möchte ich eben nicht.

Zitat

Verstehe nicht ganz was Du damit meinst? Wieso ist MySQL ineffizient bei einer großen Datenmenge? Du kannst ja auch eine Oracle-DB einsetzen.
Naja wenn ich alle paar Minuten von hunderte von Services überwache und die Daten über Jahre aufbewahren möchte, dann entsteht ein entsprechender Speicherplatzverbrauch.
Jetzt habe ich das ganze einmal in pnp4nagios + 1 x mysql + 1 x icinga noch intern.
Ist doch total unnötig.

Wolfgang

Erleuchteter

Beiträge: 5 397

Geschlecht: Männlich

Anzahl Nagios-Server: 2

Nagios-Version(en): 3.2.1

Icinga-Version(en): Icinga 1.0.1

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: >70

Anzahl Services: >200

Betriebssystem(e): SLES10

Plugin-Version(en): 1.4.11

Sonstige Addon's: NRPE 2.6, NSCA 2.7, PNP 0.4.14 / 0.6

6

22.05.2011, 22:19

Zitat

Naja es sind 3 x die gleichen Daten. Einmal pnp4nagios, einmal die interne Icinga Speicherung und dann nochmal alles in der Datenbank.
Die Gefahr ist einfach das die Daten nicht überall die gleichen sind.
Außerdem wird ja dadurch unnötig Speicherplatz benötigt.
Bist du sicher, daß du die einzelnen Speicherungsformate wirklich kennst?
- die "interne" Speicherung stellt lediglich eine Momentaufnahme dar und enthält den Status der letzten Überprüfung
- PNP legt die Daten in RRD-Dateien ab (siehe u.a. hier)
- die Datenhaltung in der Datenbank sorgt für die Ablage der Daten über einen Zeitraum, den du im Prinzip selbst festlegst.
Nagios-Doc: Wiki-Format (3.x) oder als (3.0.6)

Icinga-Doc: (de) (en)

PNP-Troubleshooting (de) (en)

nagios9

Anfänger

Beiträge: 39

Anzahl Nagios-Server: 2

Nagios-Version(en): 3

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 50

Anzahl Services: paar hundert

Betriebssystem(e): Debian

Plugin-Version(en): 1.4

7

22.05.2011, 22:28

Zitat von »Wolfgang«

Bist du sicher, daß du die einzelnen Speicherungsformate wirklich kennst?
100%tig eben nicht, daher frage ich hier und freue mich über jede Antwort :)
Aber Icinga hat doch auch im Core eine Reporting Funktion, d.h es wird nicht nur der aktuelle Status sondern noch mehr gespeichert?
RRD ist auch noch ein Thema. Normalerweise wird nach einer bestimmten Zeit wieder die ältesten Daten überschrieben. Ich möchte aber nicht das irgendwelche Daten (auch wenns sie alt sind) überschrieben werden, da über Jahre hinweg Auswertungen gefahren werden sollen.

Wolfgang

Erleuchteter

Beiträge: 5 397

Geschlecht: Männlich

Anzahl Nagios-Server: 2

Nagios-Version(en): 3.2.1

Icinga-Version(en): Icinga 1.0.1

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: >70

Anzahl Services: >200

Betriebssystem(e): SLES10

Plugin-Version(en): 1.4.11

Sonstige Addon's: NRPE 2.6, NSCA 2.7, PNP 0.4.14 / 0.6

8

22.05.2011, 22:46

Zitat

Aber Icinga hat doch auch im Core eine Reporting Funktion, d.h es wird nicht nur der aktuelle Status sondern noch mehr gespeichert?
Schau mal hier.

Zitat

RRD ist auch noch ein Thema. Normalerweise wird nach einer bestimmten Zeit wieder die ältesten Daten überschrieben. Ich möchte aber nicht das irgendwelche Daten (auch wenns sie alt sind) überschrieben werden, da über Jahre hinweg Auswertungen gefahren werden sollen.
Keiner hindert dich, die Standardeinstellungen zu ändern, oder selbst Graphen aus der Datenbank zu erstellen.
Nagios-Doc: Wiki-Format (3.x) oder als (3.0.6)

Icinga-Doc: (de) (en)

PNP-Troubleshooting (de) (en)

nagios9

Anfänger

Beiträge: 39

Anzahl Nagios-Server: 2

Nagios-Version(en): 3

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 50

Anzahl Services: paar hundert

Betriebssystem(e): Debian

Plugin-Version(en): 1.4

9

22.05.2011, 22:56

Zitat

Wobei es sich hierbei um ein zusätzliches Paket handelt.
Ich meinte aber die standardmäßig vorhandene Verfügbarkeits-Auswertungen die im icinga core schon vorhanden sind.

Zitat von »Wolfgang«

Keiner hindert dich, die Standardeinstellungen zu ändern, oder selbst Graphen aus der Datenbank zu erstellen.
ich denke mal das in Echtzeit einen Graphen aus der DB (1 Jahr) zu Erstellen wird ein wenig dauern?!
Auf pnp4nagios.org habe ich leider keinen Artikel gesehen wie man die Standardeinstellung abändert das keine Daten überschrieben werden.

bern

Profi

Beiträge: 1 431

Anzahl Nagios-Server: 2-5

Nagios-Version(en): 1-3

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 80-200

Anzahl Services: 1400-2000

Betriebssystem(e): Linux

Plugin-Version(en): Whatever I can download, patch, or cobble together myself :-)

Sonstige Addon's: n2rrd, PNP, livestatus

10

22.05.2011, 23:06

Zitat von »nagios9«

Kann man das Classic Webinterface nicht auch auf MySQL umstellen und die status.dat deaktivieren?
Könnte man. Grob gesprochen ist die status.dat die Auswahl der jeweils letzten Daten zu jedem Host und Service.

Ob es wirklich sinnvoll ist, die Daten, die die Classic UI garantiert als allererste benötigen wird und die im laufenden Core notwendigerweise aktuell vorhanden sind, erst noch in ein dickes DB-Backend zu stopfen und bei jedem Seitenaufruf wieder 'rauszuSELECTen, ist allerdings eine andere Frage. Da halte ich so etwas wie livestatus für den aussichtsreicheren Kandidaten - mangels plattformübergreifender Ramdisk-Tools, die man der status.dat per Default ins Kreuz schmeißen könnte.

Zitat von »nagios9«

Ich möchte auch nach 3 Jahren jeden Status vor 3 Jahren noch nachvollziehen können.
Dann könnte diese DB sicherlich auch die Daten bereitstellen, die bei PNP standardgemäß in die RRDs laufen. Allerdings wirst Du Dir die Tools, die sie tatsächlich abrufen und in annehmbarer Zeit einen Graphen über das letzte Jahr (also z.B. 365 Tage x alle 5 Minuten x 4 Werte, obwohl man im fertigen Graphen kaum die Woche exakt ablesen können wird ...) fabrizieren, wahrscheinlich selbst schreiben müssen.

Wolfgang

Erleuchteter

Beiträge: 5 397

Geschlecht: Männlich

Anzahl Nagios-Server: 2

Nagios-Version(en): 3.2.1

Icinga-Version(en): Icinga 1.0.1

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: >70

Anzahl Services: >200

Betriebssystem(e): SLES10

Plugin-Version(en): 1.4.11

Sonstige Addon's: NRPE 2.6, NSCA 2.7, PNP 0.4.14 / 0.6

11

22.05.2011, 23:16

Zitat

Ich meinte aber die standardmäßig vorhandene Verfügbarkeits-Auswertungen die im icinga core schon vorhanden sind.
Die holt sich die Informationen aus den Log-Dateien (siehe u.a. hier und hier).

Zitat

Auf pnp4nagios.org habe ich leider keinen Artikel gesehen wie man die Standardeinstellung abändert das keine Daten überschrieben werden.
Vielleicht sollten wir erstmal klären, wie genau die Auflösung sein muß bzw. was du wirklich darstellen willst.
Nagios-Doc: Wiki-Format (3.x) oder als (3.0.6)

Icinga-Doc: (de) (en)

PNP-Troubleshooting (de) (en)

nagios9

Anfänger

Beiträge: 39

Anzahl Nagios-Server: 2

Nagios-Version(en): 3

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 50

Anzahl Services: paar hundert

Betriebssystem(e): Debian

Plugin-Version(en): 1.4

12

22.05.2011, 23:20

danke für die Antworten.

Zitat von »bern«

(also z.B. 365 Tage x alle 5 Minuten x 4 Werte, obwohl man im fertigen Graphen kaum die Woche exakt ablesen können wird ...)
Naja es geht mir auch nicht um exakt ablesen sondern um einen eine Tendenz ablesen zu können z.B. ob die Last über die Jahre gestiegen oder gefallen ist.
Wenn man sich etwas genauer anschauen möchte muss man natürlich sich einen kleinen Zeitrahmen auswählen.


Zitat

Vielleicht sollten wir erstmal klären, wie genau die Auflösung sein muß bzw. was du wirklich darstellen willst.
Naja standardmäßig wird bei IDO auch alle Daten reingeschrieben, also sind doch ansich schon alle Daten vorhanden?
Es geht aber auch um Protokollierung. Ein Ausfall der Internetleitung muss z.B. exakt auswertbar sein, da dies die Geschäftsleitung verlangt.
Es müssen Ausfälle auch über Jahre hinweg nachgewiesen werden. Eine Graphische Auswertung mit dazugehörige Anzeige der Ausfälle ist natürlich von Vorteil.
Die Leitungsverfügbarkeit soll alle 1 Min. geprüft werden. Es fallen also viele Daten an.
Andere Dienste wie Festplattenauslastung reicht alle 30 Min.

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »nagios9« (22.05.2011, 23:33)


bern

Profi

Beiträge: 1 431

Anzahl Nagios-Server: 2-5

Nagios-Version(en): 1-3

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 80-200

Anzahl Services: 1400-2000

Betriebssystem(e): Linux

Plugin-Version(en): Whatever I can download, patch, or cobble together myself :-)

Sonstige Addon's: n2rrd, PNP, livestatus

13

23.05.2011, 00:09

Zitat von »nagios9«

Auf pnp4nagios.org habe ich leider keinen Artikel gesehen wie man die Standardeinstellung abändert das keine Daten überschrieben werden.
Unter PNP liegt RRD und das verwendet von vornherein Ringbuffer mit vorgegebenen (statt von der tatsächlichen Messung getriggerten) Zeittakten. Fallen in einer Zeitscheibe mehrere Messungen an, sind die Daten bereits in dem Moment (durch Mittelwerte u.ä.) "überschrieben", in dem sie in der RRD ankommen.

Explizites Ziel der Übung ist übrigens, daß die RRD Files von vornherein in ihrer finalen Größe angelegt werden können, statt im Stillen bis in alle Ewigkeit zu wachsen (bis die Platte platzt). Auch ein "auf ewig behalten" der aggregierten Daten ist mithin prinzipiell nicht vorgesehen.

Zitat von »nagios9«

Naja standardmäßig wird bei IDO auch alle Daten reingeschrieben, also sind doch ansich schon alle Daten vorhanden?
Standardmäßig fliegen sie aus der IDO (IIRC defaultmäßig nach 30 Tagen) auch wieder 'raus, denn eine geplatzte Platte wird nicht dadurch schöner, daß noch eine DB zwischen Block Device und Nutzdaten herumwurstelt.

Zitat von »nagios9«

Es geht aber auch um Protokollierung. Ein Ausfall der Internetleitung muss z.B. exakt auswertbar sein, da dies die Geschäftsleitung verlangt.
Schönen Gruß an die Geschäftsleitung, sie möchten 'mal darüber nachdenken, warum wohl selbst bei geldnotunverdächtigen Betrieben wie Banken die Archive irgendwann von der operativen Datenbank auf spezielle (Offline-)Langzeitspeichermedien umverlagert werden.

dnsmichi

Meister

Beiträge: 2 121

Geburtstag: 30.05.1983 (28)

Geschlecht: Männlich

Wohnort: Wien

Beruf: DNS & Monitoring Developer

Anzahl Nagios-Server: 3x Icinga prod, 2x test/dev

Nagios-Version(en): s/nagios/icinga/

Icinga-Version(en): 1.4.0 / GIT

Verteiltes Monitoring: Ja

Redundantes Monitoring: Ja

Anzahl-Hosts: 1000+

Anzahl Services: 15000+

Betriebssystem(e): RHEL 5.6 x64

Plugin-Version(en): 1.4.15

IDO-Version: 1.4.0 / GIT MySQL/Postgresql/Oracle

Sonstige Addon's: PNP 0.6.11, check_mk GIT

14

23.05.2011, 08:53

Zitat von »nagios9«

Kann man das Classic Webinterface nicht auch auf MySQL umstellen und die status.dat deaktivieren?


wenn das so einfach waere, haette ich es schon implementiert als alternative zur status.dat - schau dir den cgi code an und sag mir dann ob du es fuer moeglich haeltst, da noch eine rdbms dependency reinzumurksen. lieber ein anderes natives backend, das mit dem core kommuniziert imho. nur das braucht noch zeit - mit ricardo's log filtern sind wir da aber auf gutem wege denke ich.

Zitat von »nagios9«

Das neue Webinterface ist mir zu unübersichtlich.


genau deshalb gibts den fallback der classic ui, die sukzessive erweitert wird - vgl status header in 1.4

Zitat von »nagios9«

Kann man wenn sich die DB (rrd oder?) von pnp4nagios nicht mehr funktioniert auch aus MySQL die Datenbank wiederherstellen?


rrds werden aus performance daten innerhalb des processes von pnp4nagios erzeugt. von dem her gesehen - wenn du dem ding perfdaten lieferst, kann es diese auch verarbeiten. davon abhaengig ob du deinen event broker options / data processing options auch erlaubt hast, *checks in die db zu schreiben, wirst du in icinga_*_checks eine column 'perfdata' finden, die du fuer diese zwecke heranziehen kannst. es gibt diverse scripts die das so machen. wenn mans allerdings archiviert bearbeiten moechte, empfiehlt sich ein bisschen rdbms tuning, partitionierung und archivierte tables. das obliegt dem sysadmin selbst, wie er/sie das angeht - das steht so ein keinem mir bekannten howto im nagios/icinga umfeld.

Zitat von »nagios9«

Davon abgesehen muss man überhaupt MySQL benutzen wenn man lediglich Daten abrufen möchte und in anderen Programmen auswerten möchte?


du kannst auch die status.dat ausparsern. oder neben mysql in den idoutils auch pgsql oder oracle einsetzen. oder du nimmst dir das livestatus modul, wenn es um gepollte abfragen geht, bevorzugt nicht direkt dem kunden gezeigt.

Zitat von »nagios9«

Ich meine MySQL ist doch ziemlich ineffizient bei einer großen Datenmenge, die jedoch statisch ist?


meinst du das oder weisst du das? das waere ne frage die die dbas hier ..

Zitat von »nagios9«

Ich möchte auch nach 3 Jahren jeden Status vor 3 Jahren noch nachvollziehen können.


abhaengig von diversen faktoren wie anzahl der hosts/services (datenmenge) sowie dem feintuning der db laesst sich das mit sicherheit bewerkstelligen. respektive man sagt den idoutils, was sie speichern sollen (timed events zb machen keinen sinn).


Zitat von »nagios9«

Naja wenn ich alle paar Minuten von hunderte von Services überwache und die Daten über Jahre aufbewahren möchte, dann entsteht ein entsprechender Speicherplatzverbrauch.
Jetzt habe ich das ganze einmal in pnp4nagios + 1 x mysql + 1 x icinga noch intern.
Ist doch total unnötig.


relativier diese aussage doch mal, und vergleiche die datenstrukturen.

* pnp = rrds = normalisierte speicherung, die aufloesung aendert sich, dh der speicherplatz verbrauch bleibt *relativ* gleich nach einer gewissen zeit, unter der bedingung, dass keine neuen hosts/services dazukommen (oder checks die ploetzlich perfdaten liefern)
* mysql = relationale db, erfordert housekeeping, erlaubt rdbms spezifische mechanismen zum tuning sowie zur archivierung von 'statischen daten'. dh kann man auch woanders ablegen, wo man platz hat, und nur zur archivierten verarbeitung hervorholen
* icinga intern = status.dat/retention.dat/logs, wovon sich die logs niederschlagen werden. abhilfe kann man sich hier mit os maechismen schaffen, die die logs bspweise weiterrotieren. fuers reporting wirst du diese dann schon auch noch benoetigen, die die logentries in der db dafuer nicht unbedingt geeignet sind



Zitat von »nagios9«

Naja standardmäßig wird bei IDO auch alle Daten reingeschrieben, also sind doch ansich schon alle Daten vorhanden?


fuer die haarstraeubenden historischen inserts gibts in ido2db.cfg per instance_id maximale vorhalte mechanismen. dh es sit immer davon abhaengig wie DU das ganze organisierst. moeglichkeiten dazu gibt es jedenfalls. du kannst auch das db_trim_interval anpassen, das mit 1.4 nunmehr auf 3600s eingstellt ist (db performance...)

Quellcode

1
2
3
4
5
6
7
8
max_timedevents_age=60
max_systemcommands_age=1440
max_servicechecks_age=1440
max_hostchecks_age=1440
max_eventhandlers_age=10080
max_externalcommands_age=10080
max_logentries_age=44640
max_acknowledgements_age=44640



Zitat von »nagios9«

Es geht aber auch um Protokollierung. Ein Ausfall der Internetleitung muss z.B. exakt auswertbar sein, da dies die Geschäftsleitung verlangt.


"exakt" relaitiviert sich auf zb check_interval und andere einfluesse, wann diese checks durchgefuehrt werden. ich wuerde da eher beidseitiges monitoring vornehmen. aktive polls und passive traps - um sich daraus den mittelweg zu bilden. und ggf auch nicht icinga/pnp sondern netflow basierte daten.
Icinga 1.4 MySQL,PGSQL,Oracle and IPv6

Demos

Docs http://docs.icinga.org
Wiki https://wiki.icinga.org

Dev Tracker https://dev.icinga.org

* egrep -v "^#|^$" configfile

Join us online!
irc.freenode.net #icinga-devel

Using Icinga? Tell us!

Ähnliche Themen