Monday, September 6th 2010, 10:08pm UTC+2

You are not logged in.

  • Login
  • Register

franz4

Beginner

Posts: 5

Number of Nagios server: 1

Nagios Versions: 1.0

Distributed monitoring: Nein

Redundant monitoring: Ja

Number of hosts: 80

Number of services: 900

OS: Debian 5.0

Plugin Versions: 1.4.14

NDO Version: 1

1

Monday, January 25th 2010, 4:21pm

IDOUtils langsam

Hi,

Icinga 1.0 --> IDOutils 1.0 --> mysqld
OS: Debian 5.0 64bit
ca. 80 Hosts & 900 Services

Meine Konfiguration läuft soweit einwandfrei, nur habe ich bei einem restart/reload von Incinga Performance Probleme!
Dies wirkt sich folgendermaßen aus
* restart/reload von Icinga 1.0 benötigt Icinga ca 10min bis er mit den checks beginnt, bzw. im Webinterface Informationen zurückgibt
* soweit ich feststellen konnte, führen die IDOutils sehr viel selects aus, vermutlich für jeden/s host/service durch
z.B.: SELECT * FROM icinga_objects WHERE instance_id='1' AND objecttype_id='2' AND BINARY name1='HOSTNAME' AND BINARY name2='SERVICENAME'
diese Abfragen benötigen ca. 1-1,5sec lt. mysql output
* wenn dies erledigt ist läuft Icinga ganz normal checks,......

Nun habe ich ein paar MySQL Parameter verändert, jedoch ohne Erfolg
query_cache_size = 1024M
key_buffer_size = 512M
das selbe Problem

Mein 2ter Versuch war die DB in eine RAMDisk zu legen, aber das hat auch nicht geholfen, also I/O sollte nicht dass Problem sein!

Die IDOUtils habe ich schon über UNIX/TCP-Sockets laufen lassen auch keine Änderung

Hat von euch jemand auch dieses Problem?
oder eine Idee?

thx
Franz

----ido2db.cfg-----

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
lock_file=/cluster/icinga/var/ido2db.lock
ido2db_user=icinga
ido2db_group=icinga
socket_type=unix
socket_name=/cluster/icinga/var/ido.sock
tcp_port=5668
use_ssl=0
db_servertype=mysql
db_host=192.168.0.11
db_port=3306
db_name=DBNAME
db_prefix=icinga_
db_user=DBUSER
db_pass=DBPW
max_timedevents_age=60
max_systemcommands_age=1440
max_servicechecks_age=1440
max_hostchecks_age=1440
max_eventhandlers_age=10080
max_externalcommands_age=10080
trim_db_interval=60



---idomod.cfg---

Source code

1
2
3
4
5
6
7
8
instance_name=default
output_type=unixsocket
output=/cluster/icinga/var/ido.sock
tcp_port=5668
use_ssl=0
......
data_processing_options=4061953
config_output_options=2

dnsmichi

Professional

Posts: 1,099

Birthday: May 30th 1983 (27)

Gender: male

Location: Wien

Occupation: DNS Developer / Monitoring-Admin

Number of Nagios server: 3

Nagios Versions: 3.0.3

Icinga-Version(en): 1.0.3 / GIT

Distributed monitoring: Ja

Redundant monitoring: Ja

Number of hosts: 100-200

Number of services: 1000-2000

OS: RHEL 5.5 x64

Plugin Versions: 1.4.14

NDO Version: 1.4b7 Oracle

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

2

Tuesday, January 26th 2010, 1:57pm

wie gross ist die db inzwischen, wieviele rows gibt es in ten tables fuer markante SELECT oder DELETE statements (letztere treten beim restart auf), auf welcher hardware/mysql setup laeuft das, sodass ein select 1 bis 1,5 sec dauert?
Icinga 1.0.3 & Web 1.0.3 using Icinga IDOUtils MySQL,PGSQL,Oracle

Icinga vs. Nagios Webcast: http://bit.ly/coYcr2

Icinga Docs: http://docs.icinga.org

Report bugs/Feature requests: http://bit.ly/bEhso6

* egrep -v "^#|^$" configfile
* check https://dev.icinga.org

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

--
Nagios NDOUtils Problems? Try Icinga IDOUtils :-)

franz4

Beginner

Posts: 5

Number of Nagios server: 1

Nagios Versions: 1.0

Distributed monitoring: Nein

Redundant monitoring: Ja

Number of hosts: 80

Number of services: 900

OS: Debian 5.0

Plugin Versions: 1.4.14

NDO Version: 1

3

Tuesday, January 26th 2010, 2:35pm

ido2db Debug

Hi,

danke für die Antwort

Source code

1
2
3
4
+--------------------+----------------------+
| Data Base Name 	| Data Base Size in MB |
+--------------------+----------------------+
| icinga         	|     	236.14911079 |


Source code

1
2
3
4
5
6
select count(*) from icinga_servicechecks;
+----------+
| count(*) |
+----------+
|	16041 |
+----------+


Source code

1
2
3
4
5
6
select count(*) from icinga_objects;
+----------+
| count(*) |
+----------+
|   546468 |
+----------+


Hardware: HP BL460C G5, 8GB RAM, 2x 300GB HDD SAS (RAID1)
Aber an der HW sollte es nicht liegen, da ich die DB schon in ein RAMDisk gelegt habe und die selben werte hatte

Ist es normal dass die IDOUtils bzw. Icinga alle Services in der icinga_objects selektieren?

thx

dnsmichi

Professional

Posts: 1,099

Birthday: May 30th 1983 (27)

Gender: male

Location: Wien

Occupation: DNS Developer / Monitoring-Admin

Number of Nagios server: 3

Nagios Versions: 3.0.3

Icinga-Version(en): 1.0.3 / GIT

Distributed monitoring: Ja

Redundant monitoring: Ja

Number of hosts: 100-200

Number of services: 1000-2000

OS: RHEL 5.5 x64

Plugin Versions: 1.4.14

NDO Version: 1.4b7 Oracle

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

4

Tuesday, January 26th 2010, 11:17pm

noe, die hardware gefaellt mir ;-)

die selects sind deswegen normal (aber auch ned die optimalste methode), weil sich das ding die object ids ausliest sofern nicht gecached.
codetechnisch ist das in der dbhandler.c angesiedelt ... ndo2db_get_object_id_with_insert => ndo2db_get_object_id ... sofern die id im cache gefunden wurde, passiert kein select.
ndo2db_get_cached_object_id(idi, object_type, name1, name2, &cached_object_id)

bei dir wuerd ich mal drauf tippen, dass ob der vielen object ids nichts wirklich im cache steht und die selects sehr oft ausgefuehrt werden. die selects dienen mehrheitlich dazu, um durch die object id dann zwischen tabellen und deren eintraegen eine beziehung herzustellen.
hast du bspweise sehr viele aehnliche bezeichnungen bei den hosts/services?
Icinga 1.0.3 & Web 1.0.3 using Icinga IDOUtils MySQL,PGSQL,Oracle

Icinga vs. Nagios Webcast: http://bit.ly/coYcr2

Icinga Docs: http://docs.icinga.org

Report bugs/Feature requests: http://bit.ly/bEhso6

* egrep -v "^#|^$" configfile
* check https://dev.icinga.org

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

--
Nagios NDOUtils Problems? Try Icinga IDOUtils :-)

franz4

Beginner

Posts: 5

Number of Nagios server: 1

Nagios Versions: 1.0

Distributed monitoring: Nein

Redundant monitoring: Ja

Number of hosts: 80

Number of services: 900

OS: Debian 5.0

Plugin Versions: 1.4.14

NDO Version: 1

5

Wednesday, January 27th 2010, 8:08am

Ja, bei den Switches, hosts überwache ich die NW-Ports einzeln,
aber hier bin ich noch am überlegen ob ich nicht bei den Switches auf check_interface_table_v2 umsteige
aber dazu habe ich noch kein gutes PNP templeate gefunden, und selber schreiben, naja ob ich das schaffe

Gibt es die Möglichkeit den cache für die Objects ID zu erhöhen?

thx

This post has been edited 1 times, last edit by "franz4" (Jan 27th 2010, 8:21am)


dnsmichi

Professional

Posts: 1,099

Birthday: May 30th 1983 (27)

Gender: male

Location: Wien

Occupation: DNS Developer / Monitoring-Admin

Number of Nagios server: 3

Nagios Versions: 3.0.3

Icinga-Version(en): 1.0.3 / GIT

Distributed monitoring: Ja

Redundant monitoring: Ja

Number of hosts: 100-200

Number of services: 1000-2000

OS: RHEL 5.5 x64

Plugin Versions: 1.4.14

NDO Version: 1.4b7 Oracle

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

6

Wednesday, January 27th 2010, 11:25am

puh keine ahnung, das sind code mechanismen aus den ndoutils, ganz durchblickt habe ichs noch nicht, was da alles abgeht. vielleicht weiss hendrik dazu mehr.
Icinga 1.0.3 & Web 1.0.3 using Icinga IDOUtils MySQL,PGSQL,Oracle

Icinga vs. Nagios Webcast: http://bit.ly/coYcr2

Icinga Docs: http://docs.icinga.org

Report bugs/Feature requests: http://bit.ly/bEhso6

* egrep -v "^#|^$" configfile
* check https://dev.icinga.org

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

--
Nagios NDOUtils Problems? Try Icinga IDOUtils :-)

franz4

Beginner

Posts: 5

Number of Nagios server: 1

Nagios Versions: 1.0

Distributed monitoring: Nein

Redundant monitoring: Ja

Number of hosts: 80

Number of services: 900

OS: Debian 5.0

Plugin Versions: 1.4.14

NDO Version: 1

7

Thursday, February 4th 2010, 11:33am

Hallo,

ich habe noch so einige getestet
meine Lösung ist die NDOUtils von nagios zu verwenden, hier funktioniert ein reload/restart ohne probleme
ndoutils-1.4b9

dnsmichi

Professional

Posts: 1,099

Birthday: May 30th 1983 (27)

Gender: male

Location: Wien

Occupation: DNS Developer / Monitoring-Admin

Number of Nagios server: 3

Nagios Versions: 3.0.3

Icinga-Version(en): 1.0.3 / GIT

Distributed monitoring: Ja

Redundant monitoring: Ja

Number of hosts: 100-200

Number of services: 1000-2000

OS: RHEL 5.5 x64

Plugin Versions: 1.4.14

NDO Version: 1.4b7 Oracle

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

8

Thursday, February 4th 2010, 12:42pm

uhm aha, das muss ich mir beizeiten ansehen, da die selects eigentlich diesselben sind.

was die deletes betrifft beim starten/periodisch, gibts aber gerade einige improvements, die bald in den git master wandern werden fuer 1.0.1

edit: du koenntest es auch mal mit dem aktuellen git master probieren, http://git.icinga.org

Source code

1
2
3
4
5
6
7
8
$ sudo apt-get install git-core
$ git clone git://git.icinga.org/icinga-core.git
$ cd icinga-core
$ git submodule init
$ git submodule update
$ ./configure --enable-idoutils
$ make idoutils
$ sudo make install-idoutils
Icinga 1.0.3 & Web 1.0.3 using Icinga IDOUtils MySQL,PGSQL,Oracle

Icinga vs. Nagios Webcast: http://bit.ly/coYcr2

Icinga Docs: http://docs.icinga.org

Report bugs/Feature requests: http://bit.ly/bEhso6

* egrep -v "^#|^$" configfile
* check https://dev.icinga.org

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

--
Nagios NDOUtils Problems? Try Icinga IDOUtils :-)

This post has been edited 1 times, last edit by "dnsmichi" (Feb 4th 2010, 12:49pm)


franz4

Beginner

Posts: 5

Number of Nagios server: 1

Nagios Versions: 1.0

Distributed monitoring: Nein

Redundant monitoring: Ja

Number of hosts: 80

Number of services: 900

OS: Debian 5.0

Plugin Versions: 1.4.14

NDO Version: 1

9

Thursday, February 4th 2010, 1:10pm

Hier noch ein paar infos

-- icinga.cfg --
broker_module=/usr/local/icinga/bin/ndomod-3x.o config_file=/etc/icinga/ndomod.cfg

-- ndomod.cfg bzw mit idomod.cfg habe ich dies auch getestet
data_processing_options=-1

wie gesagt mit ndoutils funktioniert es ohne probleme, bei den idoutils benötigt er ca 10min

Puh, das aus dem GIT wird schwierig, ist schon produktiv
mal schauen ob ich in den nächsten tagen mal dazu komme

danke, für deine hilfe

dnsmichi

Professional

Posts: 1,099

Birthday: May 30th 1983 (27)

Gender: male

Location: Wien

Occupation: DNS Developer / Monitoring-Admin

Number of Nagios server: 3

Nagios Versions: 3.0.3

Icinga-Version(en): 1.0.3 / GIT

Distributed monitoring: Ja

Redundant monitoring: Ja

Number of hosts: 100-200

Number of services: 1000-2000

OS: RHEL 5.5 x64

Plugin Versions: 1.4.14

NDO Version: 1.4b7 Oracle

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

10

Thursday, February 4th 2010, 3:48pm

schon produktiv? huch naja. du kannst ja zwei eventbroker module laufen lassen, das ist ja im prinzip kein problem.

aber ich habe soeben einige index anpassungen fuer deletes/selects vorgenommen und auch im git master applied. sowohl fuer mysql als auch fuer postgres und oracle.

jetzt gehts an oracle und prepared statements fuer alle queries.
Icinga 1.0.3 & Web 1.0.3 using Icinga IDOUtils MySQL,PGSQL,Oracle

Icinga vs. Nagios Webcast: http://bit.ly/coYcr2

Icinga Docs: http://docs.icinga.org

Report bugs/Feature requests: http://bit.ly/bEhso6

* egrep -v "^#|^$" configfile
* check https://dev.icinga.org

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

--
Nagios NDOUtils Problems? Try Icinga IDOUtils :-)

dnsmichi

Professional

Posts: 1,099

Birthday: May 30th 1983 (27)

Gender: male

Location: Wien

Occupation: DNS Developer / Monitoring-Admin

Number of Nagios server: 3

Nagios Versions: 3.0.3

Icinga-Version(en): 1.0.3 / GIT

Distributed monitoring: Ja

Redundant monitoring: Ja

Number of hosts: 100-200

Number of services: 1000-2000

OS: RHEL 5.5 x64

Plugin Versions: 1.4.14

NDO Version: 1.4b7 Oracle

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

11

Saturday, February 6th 2010, 8:40pm

ok, da ich diese sachen gerade fuer oracle auf param bindings umschreibe, ist mir aufgefallen, dass damals beim rewrite der INSERT statements etwas schiefgelaufen sein koennte.

der mechanismus fuer cached objects funktioniert ja so, dass zuerst nachgeguckt wird, ob schon da (select) und wenn ja, return value. falls nicht wird ein insert vorgenommen.

der unterschied zu den ndoutils besteht darin, dass dort nicht normalisiert SQL-Queries verwendet werden (weils ja eh nur MySQL koennen muss) und dementsprechend sich beim Normailisieren vermutlich ein Fehler eingeschlichen hat, der Mist INSERTs macht., und dementsprechend das select nichts findet.

edit: hm, grad draufgekommen, dass der code a schass ist. den werd ich so oder so umbauen.
Icinga 1.0.3 & Web 1.0.3 using Icinga IDOUtils MySQL,PGSQL,Oracle

Icinga vs. Nagios Webcast: http://bit.ly/coYcr2

Icinga Docs: http://docs.icinga.org

Report bugs/Feature requests: http://bit.ly/bEhso6

* egrep -v "^#|^$" configfile
* check https://dev.icinga.org

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

--
Nagios NDOUtils Problems? Try Icinga IDOUtils :-)

This post has been edited 1 times, last edit by "dnsmichi" (Feb 6th 2010, 8:56pm)