trooper0815
Goto Top

Icinga 2 Service wird im Dashboard nicht angezeigt

Moin Moin aus dem hohen Norden.

Ich habe ein Icinga 2 web aufgesetzt, ohne Director, und habe nun das Problem, ich habe ein neues Check_Command in der commands.conf erstellt.

object CheckCommand "win_cpu" {  
  import "plugin-check-command"  
  command = [ "/usr/lib/nagios/plugins/check_snmp_load.pl"]  
  arguments = {
                "-H" = "$address$"  
                "-C" = "$snmp_community$"  
                "-w" = "$warn$"  
                "-c" = "$crit$"  
}

Dann wollte ich einem Testserver, der schon durch ein Hostalive in meiner Umgebung integriert ist, diesen Service zusätzlich zuweisen.

Und dazu habe ich unter /etc/icinga2/conf.d/hosts/ eine neue .conf Datei erstellt mit Namen testserver.conf mit dem Inhalt :
object Host "Testserver" {  
  address = "172.xxx.xxx.xxx"  
  check_command = "hostalive"  
  vars.os = "KST_100"  
vars.notification["mail"] = {  
groups = [ "icingaadmins" ]  
  }
}

gespeichert ein service icinga2 checkconfig ergibt "OK". reload und der Testserver wird im Dashboard angezeigt. Bis hierhin ist alles gut.

Anschließend unter /etc/icinga2/conf.d/hosts/ einen neuen Ordner mit dem Namen Testserver und dort eine neue win_cpu.conf Datei mit folgendem Inhalt :
object Service "win_cpu" {  
        import "generic-service"  
        host_name = "Testserver"  
        check_command = "win_cpu"  
        vars.address = "172.xxx.xxx.xxx"  
        vars.snmp_community = "*********"  
        vars.warn = "10"  
	vars.crit " "20"  
        vars.sla = "24x7"  
	}

wieder ein service icinga2 checkconfig mit OK und ein reload und der Service taucht nirgendwo auf. Sehe ich jetzt den Wald vor lauter Bäumen nicht mehr ?

Ich hoffe, Ihr könnt mir helfen

Danke

Michael

Content-ID: 32453295270

Url: https://administrator.de/contentid/32453295270

Ausgedruckt am: 23.11.2024 um 08:11 Uhr

LordXearo
LordXearo 02.05.2024 um 14:00:14 Uhr
Goto Top
Hi,

wo ist denn dein

apply Service "Windows CPU Check" {
import "....template"

check_command = "win_cpu"
assign where vars.address == "172.XXX.XXX.XXX"
}


Gruß
Xearo
trooper0815
trooper0815 02.05.2024 um 14:21:22 Uhr
Goto Top
Hi, ich glaube, den hatte ich jetzt garnicht auf dem Zettel. Schaue ich mir morgen an, melde mich dann nochmal
trooper0815
trooper0815 03.05.2024 um 08:16:52 Uhr
Goto Top
Hi, habe gerade nochmal geschaut. den apply_Service habe ich noch nicht. in welche datei muss der den rein und warum wird der nur einem Host zugewiesen ?
LordXearo
LordXearo 03.05.2024 um 08:32:20 Uhr
Goto Top
Morgen,

du kannst dir die Dateien frei organisieren. Bei mir steht sowas in der service.conf.

Du musst den auch nicht nur einen Server zu weisen, das von mir war nur ein Beispiel.

Du könntest auch schreiben

....
assign where host.vars.os == "KST_100"  
...

Wenn alle deine Windows Server so einkategorisiert sind.
Bei mir steht da halt "Windows Server".

In der Beispiel Config, müsste icinga z.B. den Service "ping4" angelegt haben, mit der Bedingug "assign where host.address" ; also für jedes objekt was eine Adresse hat.
trooper0815
trooper0815 03.05.2024 um 08:52:15 Uhr
Goto Top
ok, alles klar, danke für die Hilfe, deste das Nachher, muss mich jetzt ersmal um eine Filliale kümmern, die ist von der Außenwelt abgeschlossen. Melde mich dann
trooper0815
trooper0815 03.05.2024 um 10:42:53 Uhr
Goto Top
habe jetzt das so eingerichtet. jetzt kommt bei einem checkconfig :

critical/config: Error: Validation failed for object 'Testserver!win_cpu' of type 'Service'; Attribute 'check_command': Object 'win_cpu' of type 'CheckCommand' does not exist.
LordXearo
LordXearo 03.05.2024 aktualisiert um 11:11:49 Uhr
Goto Top
Ok. Hm sollte ja bei dir vorhanden sein. Bei mir ist das ein schlechtes Beispiel, was die Windows Server anbelangt.

Das steht in meiner commands.conf

object CheckCommand "win-cpu" {  
import "plugin-check-command"  
command = [ "C:\\Program Files\\ICINGA2\\sbin\\check_laod" ]  
arguments = {
"-w" = "85%"  
"-c" = "95%"  
}
}

Den Eintrag "object service win_cpu" habe ich, meine ich, gar nicht.

So sieht mein Servive Eintrag aus.

apply Service "CPU-Auslastung" {  
import "generic-service"  
check_command = "win-cpu"  
command_endpoint = host.vars.remote_client
assign where host.vars.os == "Windows Server" || host.vars.os == "...." || host.vars.os == "...."  
}

Wenn ich andere check intervale haben möchte, mache ich mir ein neues Template und importiere dieses anstelle von "generic-service".

Templates liegen bei mir unter.
/etc/icinga2/conf.d/templates.conf
trooper0815
trooper0815 03.05.2024 um 11:19:05 Uhr
Goto Top
ich probiere das jetzt nochmal merkwürdig
trooper0815
Lösung trooper0815 03.05.2024 um 12:55:07 Uhr
Goto Top
Hi, habe jetzt nochmal alles neu gemacht, und jetzt funktioniert es. Danke für die schnelle Hilfe und schönes WE
LordXearo
Lösung LordXearo 03.05.2024 um 13:36:45 Uhr
Goto Top
Sehr schön, gern geschehen.

Bitte noch die Frage als gelöst markieren.

Schönes WE =)