Sunday, May 26th 2013, 11:14am UTC+2

You are not logged in.

  • Login
  • Register

$chakal

Trainee

Posts: 159

Birthday: Jun 13th 1987 (25)

Gender: male

Location: München

Occupation: FISI

Number of monitoring servers: 1x

Hobbies: Technik

Nagios Version: -

Icinga Version: 1.*

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: ~70

Number of services: ~300

OS: Gentoo

Plugin Version: Nagios Plugins 1.4.*

IDO-Version: 1.*

Other Addons: PNP4Nagios_0.6.*

1

Tuesday, December 14th 2010, 9:38am

Mehrere SELECTs mit iReport

Hallo zusammen,

ist es möglich mit iReport mehrere SELECTs auszuführen?

Hintergrund ist, das es einfacher und vermutlich die Abfrage auch schneller funktionieren würde.
Beispiel:

Nicht so:

select a.service_object_id,
a.display_name,
b.current_state
from nagios_services a,
nagios_servicestatus b



Sondern so:

select a.service_object_id,
a.display_name,
from nagios_services a,

select b.current_state
from nagios_servicestatus b

bernd_erk

Intermediate

Posts: 240

Gender: male

Location: Nürnberg

Number of monitoring servers: -

Nagios Version: -

Icinga Version: -

Distributed monitoring: Ja

Redundant monitoring: Ja

Number of hosts: -

Number of services: -

OS: Debian

Plugin Version: -

2

Tuesday, December 14th 2010, 11:43am

Hi,

grundsätzlich geht das mit dem Paletten-Objekte List und dortigen Subqueries oder entsprechenden Subreports. In deinem Beispiel würde ich trotzdem die Tabellen über den Primärschlüssel Joinen.

Grüsse

Bernd Erk
NETWAYS GmbH http://www.netways.de
NETWAYS Blog http://blog.netways.de

Rene Storm

Intermediate

Posts: 524

Gender: male

Location: Hamburg

Number of monitoring servers: some

Hobbies: kitesurfing, buggykiting, snowboard,climbing,sleeping

Nagios Version: 3

Distributed monitoring: Ja

Redundant monitoring: Ja

Number of hosts: 800

Number of services: 8000

OS: Linux

Plugin Version: latest

NagVis Version: latest

NDO Version: NO MORE ;o)

3

Wednesday, February 16th 2011, 9:11pm

Habs nicht herausgefunden

Hi Bernd,

vorab: da habe ich auch keine Loesung fuer dich, habe lange ueberlegt und mit vielen DBAs geschnackt.
Aber eine idee, die seit deinem Vortrag vor 2 Jahren bei mir wunderbar laueft.
Danke nochmal dafuer :P

Ich ahne mal was du machen willst, du moechtest die Datenbank-Tabelle nicht immer wieder/mehrfach nach den Stati durchsuchen und trotzdem schoene Gantt Bilder machen, wo die Downtimes etc. drauf sind.
Wenn ich falsch liege, bloss nicht weiterlesen, wenn ja....

Ich habe mir einen Trigger gebaut. 3-4 Zeilen
Der schreibt mir alle Services mit status != 0 in eine eingene DB-Tabelle.
Und wenn sie wieder Ok sind, dann schreibt er das in die Tabelle neben den error Eintrag.
Pro Incident somit eine Row. Die Tabelle wachst auch nur bei einem neuen Fehlern, wird nicht bereinigt. Ist ja auch sehr klein.

Somit bekomme ich:
id, service_object, error_time, ok_time, error_status, ok_status (error_output, error_ack etc)

Danach ist Jasper Historie/Verfuegbarkeits Reports dann relativ einfach. Wenn ok-status != -1 (db default) Fehler noch nicht behoben usw.

Trigger habe ich im Office, kann ich dir morgen mal posten. Passende Gantt Reports hab ich auch, aber die klickst du dir sicherlich auch schnell mal hin.

Cu,
Rene

Rene Storm

Intermediate

Posts: 524

Gender: male

Location: Hamburg

Number of monitoring servers: some

Hobbies: kitesurfing, buggykiting, snowboard,climbing,sleeping

Nagios Version: 3

Distributed monitoring: Ja

Redundant monitoring: Ja

Number of hosts: 800

Number of services: 8000

OS: Linux

Plugin Version: latest

NagVis Version: latest

NDO Version: NO MORE ;o)

4

Monday, April 11th 2011, 3:38pm

ach ja....

Hi,

kein Thema, hier aus dem mysqldump


Gruss,
Rene


Hier der Trigger:

DELIMITER ;;
/*!50003 SET SESSION SQL_MODE="" */;;
/*!50003 CREATE */ /*!50017 DEFINER=`root`@`localhost` */ /*!50003 TRIGGER `nagios_error_trigger` AFTER UPDATE ON `nagios_servicestatus` FOR EACH ROW BEGIN
IF NEW.current_state > 0 AND NEW.current_check_attempt=NEW.max_check_attempts AND NEW.is_flapping=0 THEN
IF (select count(NEW.service_object_id) from nagios_trigger WHERE NEW.service_object_id=object_id AND ok_state='-1') = 0 THEN
INSERT INTO nagios_trigger SET object_id = NEW.service_object_id, error_output = NEW.output, error_state = NEW.current_state, error_time = NOW(), hostname = (select name1 from nagios_objects WHERE object_id=NEW.service_object_id),servicedescription = (select name2 from nagios_objects WHERE object_id=NEW.service_object_id);
END IF;
ELSE
UPDATE nagios_trigger SET ok_output = NEW.output, ok_state = NEW.current_state, ok_time = NOW() WHERE object_id = NEW.service_object_id AND ok_state<0;
END IF;
END */;;
DELIMITER ;


Das ist die Tabelle:

DROP TABLE IF EXISTS `nagios_trigger`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `nagios_trigger` (
`id` int(11) NOT NULL auto_increment,
`object_id` int(11) NOT NULL,
`current_time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`hostname` varchar(255) NOT NULL,
`servicedescription` varchar(255) NOT NULL,
`error_state` smallint(6) NOT NULL default '-1',
`ok_state` smallint(6) NOT NULL default '-1',
`error_time` datetime NOT NULL,
`ok_time` datetime NOT NULL,
`error_output` varchar(255) NOT NULL,
`ok_output` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6127 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

foxkilo

Trainee

Posts: 152

Birthday: Jun 2nd 1975 (37)

Gender: male

Location: HH

Occupation: Administrator

Number of monitoring servers: 2

Nagios Version: 3.2.3

Icinga Version: OMD-0.48 bis 0.56

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: ~2000

Number of services: ~45000

OS: Debian/Lenny

Plugin Version: 1.4.7

NagVis Version: 1.7.x

Perfparse Version: 0.106.1

Other Addons: PNP-0.6.x, inGraph

5

Monday, April 11th 2011, 5:50pm

Danke