29.06.2011, 02:48 UTC+2

Sie sind nicht angemeldet.

Hostgroup Service Availability circle diagrams in reports 100% up/unknow?

remcohage

Anfänger

Beiträge: 9

Anzahl Nagios-Server: 10

Nagios-Version(en): 306

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: 500

Anzahl Services: 1800

Betriebssystem(e): Ubuntu, suse, debian

Plugin-Version(en): 1

NDO-Version: 10

1

16.06.2011, 11:35

Hostgroup Service Availability circle diagrams in reports 100% up/unknow?

Hello,
I installed Icinga (Icinga 1.4.0) with Jasperserver (Product Version: 4.0.0 Build: 20110202_0654) and trying to create reports.

On a test system Icinga monitors just localhost.
LOAD for example, if I look at "Service State Trends" in Icinga it says 2.762% up, 0,0% warn, 0,0% unknown, 0,0% crit 97,238% undetermined.
In the Icinga web-interface, Host Availability reports circle diagrams, show that this service is unknown 100%? And other services are OK for 100%.
If I look on the Icinga demo reports there are different states in the circle diagrams, but it doesn't work here.

I also tried to install the 1.5 git version of the reports but that didn't work either.
Does anybody faces the same trouble with the service Availability diagrams?

With kind regards,
Remco Hage

MiCkEy2002

Administrator

Beiträge: 4 194

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

2

16.06.2011, 11:53

Hi Remco,

have you Downtimes etc. in your availability report in icinga? The availability report in jasper don't calculate with downtimes. Can you post a screenshot, please?

Cheers
Michael

remcohage

Anfänger

Beiträge: 9

Anzahl Nagios-Server: 10

Nagios-Version(en): 306

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: 500

Anzahl Services: 1800

Betriebssystem(e): Ubuntu, suse, debian

Plugin-Version(en): 1

NDO-Version: 10

3

16.06.2011, 12:48

Hi Michael,
Yes there are downtimes in Icinga. At least undetermined in this case (see trends.cgi in attachments).
In Icinga it's 100% unknown or OK (see Schermafdruk.png).

Zitat von »MiCkEy2002«

Hi Remco,

have you Downtimes etc. in your availability report in icinga? The availability report in jasper don't calculate with downtimes. Can you post a screenshot, please?

Cheers
Michael
With kind regards,
Remco Hage
»remcohage« hat folgende Bilder angehängt:
  • trends.cgi.png
  • Schermafdruk.png

MiCkEy2002

Administrator

Beiträge: 4 194

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

16.06.2011, 14:07

Hi,

can you create a availabilty report in icinga and post a screenshot, please?

Cheers
Michael

remcohage

Anfänger

Beiträge: 9

Anzahl Nagios-Server: 10

Nagios-Version(en): 306

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: 500

Anzahl Services: 1800

Betriebssystem(e): Ubuntu, suse, debian

Plugin-Version(en): 1

NDO-Version: 10

5

16.06.2011, 14:48

Hello,
Here are 2 screenshots.
One from Icinga Availability Reports and a report from Jasperserver.
Icinga status is 4.488% Unknown and Jasperserver report gives 100% Unknown.
I also tried to read data out of a Nagios (ndo) database (after changing database names) from a larger environment with more data, but all status diagrams are 100% up or unknown. So i looked at the Icinga demo and noticed that it's working correctly there. Therefore I had to rebuild a clean Icinga test system with JasperReports but still facing the same issue.
»remcohage« hat folgende Bilder angehängt:
  • screen1.png
  • screen2.png

MiCkEy2002

Administrator

Beiträge: 4 194

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

6

16.06.2011, 19:53

Hi,

thanks for your screenshoots. I think the problem is your database (IDO). The Icinga availabilty report (avail.cgi) parse the icinga log files and the availability report from your JasperServer use the IDO to create the reports.

Can you check, if icinga writes datas to the IDO?

Cheers
Michael

remcohage

Anfänger

Beiträge: 9

Anzahl Nagios-Server: 10

Nagios-Version(en): 306

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: 500

Anzahl Services: 1800

Betriebssystem(e): Ubuntu, suse, debian

Plugin-Version(en): 1

NDO-Version: 10

7

17.06.2011, 11:08

Hello Michael,
I cannot find errors in the ido2db.

The ido2db.debug log:
[1308299593.277246] [001.2] [pid=646] idomod_broker_data() start
[1308299593.277356] [001.2] [pid=646] idomod_write_to_sink() start
[1308299593.277373] [001.2] [pid=646] idomod_write_to_sink(
211:
1=1200
2=0
3=0
4=1308299593.277242
106=1308298051
102=646
28=1
55=1308299593
60=0
88=1
9=1
97=1
8=1
96=1
39=1
47=1
45=1
103=0
92=0
94=0
78=0
80=0
49=
50=
999

)
[1308299593.277388] [001.2] [pid=646] idomod_sink_buffer_items()
[1308299593.277426] [001.2] [pid=646] idomod_write_to_sink() end
[1308299593.278388] [001.2] [pid=646] idomod_broker_data() end
[1308299593.278456] [001.2] [pid=646] idomod_broker_data() start

I can't see no errors in datasink connection or items flushed.

I looked in phpmyadmin and data is being updated in tabel icinga_servicestatus, see screenshot.
Can I check if data is put in the database correctly?
»remcohage« hat folgendes Bild angehängt:
  • sql.jpg

dnsmichi

Meister

Beiträge: 2 201

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

8

17.06.2011, 12:56

1. this is the idomod debug log not the ido2db
2. servicestatus isn't read by historical parsers
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!

remcohage

Anfänger

Beiträge: 9

Anzahl Nagios-Server: 10

Nagios-Version(en): 306

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: 500

Anzahl Services: 1800

Betriebssystem(e): Ubuntu, suse, debian

Plugin-Version(en): 1

NDO-Version: 10

9

17.06.2011, 15:19

1. this is the idomod debug log not the ido2db

I attached the ido2db.debug. No errors that i can see.

2. servicestatus isn't read by historical parsers

I was looking there to see if any new data went into the database.
The service availability report querie reads data out of icinga_statehistory as far as i can see in the template. How the querie works i have no idea ( AND state_time between $P{p_date_start} and $P{p_date_start} ?)

select sum(state_duration),
state_one as state,
state_two
FROM
(SELECT 0 AS state_duration,
0 AS state_one,
0 as state_two,
@a:=statehistory_id as counter,
0 as last_time,
0 as last_state
FROM icinga_statehistory
WHERE instance_id = 1
AND state_type = 1
AND object_id = $P{p_service_object_id}
AND state_time between $P{p_date_start} and $P{p_date_start}
UNION
--
-- select all statehistory entries from database and diff them with upcoming entry
--
SELECT TIMESTAMPDIFF(SECOND, IF (sstart.state_time > $P{p_date_start}
AND @A IS NULL
OR sstart.state_time IS NULL, $P{p_date_start}, sstart.state_time), IF (send.state_time > $P{p_date_end}
OR send.state_time IS NULL, $P{p_date_end}, send.state_time)) AS state_duration,
IF(@A IS NULL, IFNULL(
(SELECT state
FROM icinga_statehistory
WHERE instance_id = 1
AND state_type = 1
AND object_id = $P{p_service_object_id}
AND state_time < $P{p_date_start}
ORDER BY state_time DESC LIMIT 1
), 0) , sstart.state) AS state_one,
send.state AS state_two,
@A:=sstart.statehistory_id AS counter,
@B:=send.state_time AS last_time,
@C:=send.state AS last_state
FROM icinga_statehistory AS sstart
INNER JOIN icinga_statehistory AS send
ON send.statehistory_id =
(SELECT MIN(statehistory_id)
FROM icinga_statehistory
WHERE statehistory_id > sstart.statehistory_id
AND instance_id = 1
AND state_type = 1
AND object_id = $P{p_service_object_id}
AND state_time > $P{p_date_start}
)
WHERE sstart.instance_id = 1
AND sstart.state_type = 1
AND sstart.object_id = $P{p_service_object_id}
AND sstart.state_time BETWEEN $P{p_date_start} AND $P{p_date_end}
UNION
--
-- if last existing database entry is smaller then given enddate we have to add the timediff with last state
--
SELECT IF(@B < $P{p_date_end} AND @A IS NOT NULL, TIMESTAMPDIFF(SECOND,@B,$P{p_date_end}), 0) AS state_duration,
@C AS state_one,
0 AS state_two,
@A AS counter,
0 AS last_time,
0 AS last_state
FROM DUAL
UNION
--
-- no entry found in database, simulate an entry for given period
--
SELECT IF(@A IS NULL, TIMESTAMPDIFF(SECOND, $P{p_date_start},$P{p_date_end}), 0) AS state_duration,
IFNULL(
(SELECT state
FROM icinga_statehistory
WHERE instance_id = 1
AND state_type = 1
AND object_id = $P{p_service_object_id}
AND state_time < $P{p_date_start}
ORDER BY state_time DESC LIMIT 1
), 0) AS state_one,
0 AS state_two,
@A AS counter,
0 AS last_time,
0 AS last_state
FROM DUAL
UNION
--
-- delete variable for next run to prevent errors regarding identical database connection
--
SELECT IFNULL(@A:=NULL,0) AS state_duration,
0 AS state_one,
0 AS state_two,
0 AS counter,
0 AS last_time,
0 AS last_state
FROM DUAL
) as state where state_duration > 0
GROUP BY state_one

I posted a screenshot now, off the icinga_statehistory. When a service state changes, it's being updates. I renamed check_load, and after that the change was recorded in the table. Also in my Nagios environment, this table is being filled, so no errors in the log file and new data in the database. Looks like idomod is working to me. Is there a way to check?

The icinga report package I found on http://sourceforge.net/projects/icinga/files/ and followed the manual on https://wiki.icinga.org/display/Dev/Installation+Guide.
»remcohage« hat folgendes Bild angehängt:
  • Schermafdruk.png
»remcohage« hat folgende Datei angehängt:
  • ido2db.debug.txt (115,63 kB - 3 mal heruntergeladen - zuletzt: 17.06.2011, 23:18)

MiCkEy2002

Administrator

Beiträge: 4 194

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

10

19.06.2011, 23:52

Hi Remco,

i've overlooked your backtracked archives. In your icinga availability report have you set backtrackend archive = 4. Can set it to 0 and create the report new, please.

Cheers
Michael

remcohage

Anfänger

Beiträge: 9

Anzahl Nagios-Server: 10

Nagios-Version(en): 306

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: 500

Anzahl Services: 1800

Betriebssystem(e): Ubuntu, suse, debian

Plugin-Version(en): 1

NDO-Version: 10

11

20.06.2011, 10:17

Hello Michael,
I've set it to 0 now, but don't see much difference myself.

With kind regards,
Remco Hage
»remcohage« hat folgendes Bild angehängt:
  • report.jpg

MiCkEy2002

Administrator

Beiträge: 4 194

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

12

20.06.2011, 22:21

Hi,

hmm, i've no idea at the moment where is the mistake ?(

Zitat

I was looking there to see if any new data went into the database.
The service availability report querie reads data out of icinga_statehistory as far as i can see in the template. How the querie works i have no idea ( AND state_time between $P{p_date_start} and $P{p_date_start} ?)


$P{p_date_start} and $P{p_date_start} are parameters from jasper. Jasper fill this parameter with your selected start and end time. You can change the parameters with your start and time and test it on your IDO.

Cheers
Michael

remcohage

Anfänger

Beiträge: 9

Anzahl Nagios-Server: 10

Nagios-Version(en): 306

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: 500

Anzahl Services: 1800

Betriebssystem(e): Ubuntu, suse, debian

Plugin-Version(en): 1

NDO-Version: 10

13

21.06.2011, 11:37

Hello Michael,
I changed the query in icinga.report.sub.service.availability.jrxml.data
Somehow the object_id seems to be a problem.

I tried the following:

Working:
AND object_id = "2216"
AND state_time between "2011-06-01 00:00:00" and "2011-06-01 00:00:00"

Not working:

AND object_id = $P{p_service_object_id}
AND state_time between "2011-06-01 00:00:00" and "2011-06-01 00:00:00"

AND object_id = "$P{p_service_object_id}"
AND state_time between "2011-06-01 00:00:00" and "2011-06-01 00:00:00"

AND object_id = $P{"p_service_object_id"}
AND state_time between "2011-06-01 00:00:00" and "2011-06-01 00:00:00"

I also tried the $P{p_date_start} & $P{p_date_end} this looks ok.

Do you know how i can change the object_id = $P{p_service_object_id} in a working variable?

Zitat von »MiCkEy2002«

Hi,

hmm, i've no idea at the moment where is the mistake ?(

Zitat

I was looking there to see if any new data went into the database.
The service availability report querie reads data out of icinga_statehistory as far as i can see in the template. How the querie works i have no idea ( AND state_time between $P{p_date_start} and $P{p_date_start} ?)


$P{p_date_start} and $P{p_date_start} are parameters from jasper. Jasper fill this parameter with your selected start and end time. You can change the parameters with your start and time and test it on your IDO.

Cheers
Michael

remcohage

Anfänger

Beiträge: 9

Anzahl Nagios-Server: 10

Nagios-Version(en): 306

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: 500

Anzahl Services: 1800

Betriebssystem(e): Ubuntu, suse, debian

Plugin-Version(en): 1

NDO-Version: 10

14

21.06.2011, 13:28

Nevermind michael, somehow it seems to work now. I will check if everything is ok now, but seems ok.

thanks for the help!!!

With kind regards,
Remco Hage

Ähnliche Themen