21.06.2011, 22:17 UTC+2

Sie sind nicht angemeldet.

Problem mit MySQL Memory Table -> Verständnisfrage zu centstorage

Reveller

Anfänger

Beiträge: 5

Anzahl Nagios-Server: 1

Nagios-Version(en): 3.23

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 1

Anzahl Services: 1

Betriebssystem(e): Server

Plugin-Version(en): -

NDO-Version: 1

1

10.06.2011, 09:44

Problem mit MySQL Memory Table -> Verständnisfrage zu centstorage

Schönen guten Tag zusammen.

Ich habe das Problem ein recht großes Monitoring übernehmen zu müssen und versuche einem Datenbankproblem mit NDO Herr zu werden.
Kurz umrissen handelt es sich um eine zentrale Nagios Instanz mit Centreon und mehrere Nagios Systeme mit NDO, welche direkt in eine MySQL Memory Table auf dem zentralen System senden.

Nachdem ich den einen Fehler mit NDO 1.4b7 durch den Patch und das Hinzufügen des Attributes long_output beheben konnte, tritt nun "'The table 'nagios_servicechecks' is full'" massenweise im Logfile auf.

Ich habe bereits die Speichergröße der MySQL Memory Table von Standard 16MB auf 512MB angehoben, doch war nach kurzer Zeit auch das zu wenig.

Nach meinem Verständnis werden die Events erst in die temporäre Tabelle im Memory geschoben und dann irgendwann in die auf der Platte liegenden Centstorage Datenbank verlagert (Langzeit Reporting ist notwendig).
Kann mir jemand erklären, wie diese Verlagerung (und hoffentlich Leerung der temporären Tabelle) von Statten geht?

Vielen Dank und Gruß,
Rev

reinhardweh

Schüler

Beiträge: 115

Geburtstag: 29.01.1966 (45)

Geschlecht: Männlich

Wohnort: Löffingen

Beruf: Datentechniker

Anzahl Nagios-Server: 3

Hobbys: fahrrad fahren, schwimmen, wandern, Open Source Software

Nagios-Version(en): 3.2.3

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: 273

Anzahl Services: 2336

Betriebssystem(e): Linux (REDHAT 5.6), Windows

Plugin-Version(en): 1.4.15

NagVis-Version: 1.5.8

NDO-Version: 1.4b9

Sonstige Addon's: snmptt, centreon 2.1.13, mklivestatus 1.1.10p3

2

14.06.2011, 02:01

Welche Versionen OS, mysql setzt du denn ein?
Wieviele Zeilen hat deine Tabelle denn
benutzt ihr myisam oder innodb

Ein Tipp bei mysql zu lesen http://dev.mysql.com/doc/refman/5.0/en/full-table.html

Reveller

Anfänger

Beiträge: 5

Anzahl Nagios-Server: 1

Nagios-Version(en): 3.23

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 1

Anzahl Services: 1

Betriebssystem(e): Server

Plugin-Version(en): -

NDO-Version: 1

3

14.06.2011, 16:49

Hi.

Das System setzt auf ein älteres Debian 5.0.6 mit einem MySQL Server 5.0.51a-24 auf.
Die Tabelle war mit den Standardeinstellungen von 16MB bei etwas mehr als 32000 Zeilen. Nach der Freigabe von 512MB liegen wir jetzt weit drüber, doch auch hier läuft die Tabelle voll.

Für die Datenbank wird MyISAM verwendet.

Der Hintergrund mit den MySQL Einstellungen in bezug auf "Table Full" ist mir denke ich klar. Ich verstehe nur nicht wie Centreon mit diesen Daten verfährt.
Wann werden die Daten wie in die Storage DB verlagert, wenn überhaupt.
Und für was sind die Daten welche über die NDO Poller in diese TEMP DB geladen werden gut? Ich kann keinerlei Lücken oder fehlende Informationen im Centreon finden, obwohl es ja so aussiehr als ob keine Zeilen mehr hinzugefügt werden.

Vielen Dank für die Unterstützung.

Gruß,
Rev

dnsmichi

Meister

Beiträge: 2 188

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

4

15.06.2011, 10:16

ueberpruef doch mal ob die servicechecks table fuer das reporting ueberhaupt verwendet wird.
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!

Reveller

Anfänger

Beiträge: 5

Anzahl Nagios-Server: 1

Nagios-Version(en): 3.23

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 1

Anzahl Services: 1

Betriebssystem(e): Server

Plugin-Version(en): -

NDO-Version: 1

5

15.06.2011, 11:04

Nur zu gerne... nur wie ??

Reveller

Anfänger

Beiträge: 5

Anzahl Nagios-Server: 1

Nagios-Version(en): 3.23

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 1

Anzahl Services: 1

Betriebssystem(e): Server

Plugin-Version(en): -

NDO-Version: 1

6

16.06.2011, 12:19

Hallo zusammen.

Ich habe mittlerweile zwei Thesen entwickelt :S

1. In der Tabelle nagios_servicechecks sollte immer nur eine statische Anzahl an Datensätzen enthalten sein, da NDO diese nur mit dem letzten gemessenen Status aktualisiert.

2. Mein System ist einem Bug anheim gefallen, welcher doppelte Datensätze in den Tabellen erzeugt -> Link
Dadurch steigt die Anzahl der Datensätze stetig an... eine Lösung konnte ich noch nicht finden!

Ich frage mich immer noch wie die Storage Datenbank für das Centreon Reporting gefüllt wird...

Für jeden Hinweis wäre ich dankbar!

Gruß,
Rev

dnsmichi

Meister

Beiträge: 2 188

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

7

17.06.2011, 10:16

Zitat von »Reveller«

1. In der Tabelle nagios_servicechecks sollte immer nur eine statische Anzahl an Datensätzen enthalten sein, da NDO diese nur mit dem letzten gemessenen Status aktualisiert.


ndo2db.cfg:max_servicechecks_age

Zitat von »Reveller«

2. Mein System ist einem Bug anheim gefallen, welcher doppelte Datensätze in den Tabellen erzeugt -> Link
Dadurch steigt die Anzahl der Datensätze stetig an... eine Lösung konnte ich noch nicht finden!


die loesung steht genau in dem thread mit den weiterfuehrenden urls. find ich aber "cool", dass das bis heute nicht im upstream gefixed ist :thumbdown:

=> such mal das da im icinga git tree.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
commit de4b257d5d314021b451e38d0c9be5ea0d6abb81
Author: Michael Friedrich <>
Date:   Wed Dec 2 17:04:50 2009 +0100

    add upgrade path to mysql unique key failure
    * mysql-upgrade-1.0.sql will run smoothly on the tables
    * getting duplicate rows by unique constraint
    * updating one row, deleting the other
    
    fixes #209

commit ec87b6891fbf4b9b79bc51ae875635b23fcf03e0
Author: Michael Friedrich <>
Date:   Wed Nov 11 19:01:51 2009 +0100

    fix missing unique keys in several tables
    
    * causing duplicate rows because ON DUPLICATE KEY never matches
    * KEY != UNIQUE KEY, keys dropped
    
    at least for timedevent* this will create half of the rows
    
    fixes #181


(gott ist das ewig her)
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