Donnerstag, der 21. November 2024 - 11:16 Uhr

Icinga2 if/else und Custom Variablen

erstellt am: 07.12.2016 | von: DevLink | Kategorie(n): Linux | Keine Kommentare

Nehmen wir mal an, wir haben ein Gerät, das hat besondere Eigenschaften.
Zum Beispiel der SQL Server der IMMER alles an RAM saugt oder der ping check auf den Google DNS, der über eine ausgelastete Leitung führt.

Ich nenne hier mal zwei Möglichkeiten, die das vereinfachen. Zum einen eine If/Else Frage (die auch ohne Else funktioniert) und einmal direkt in der Host definition.

Custom Variablen für Ping checks definiert unter /usr/share/icinga2/include/command-plugins.conf

# Custom Variablen direkt in der Hostkonfiguration

object Host "internet" {
		
	display_name = "Internet"
	import "generic-host"
		
	address = "8.8.8.8"
	vars.os = ""
		
	check_command = "ping"

	vars.ping_wrta = 150
	vars.ping_wpl = 5
	vars.ping_crta = 200
	vars.ping_cpl = 15

	vars.sla = "24x7"
}
# If/Else Anweisung in der Servicedefinition

apply Service "RAM-Auslastung" {
	import "wmi-service"

	vars.check_mode = "checkmem"
	
	if (host.name == "sqlserver") {
    
	vars.wmi_warn = "95"
	vars.wmi_crit = "98"
	}else {
  
        vars.wmi_warn = "90"
	vars.wmi_crit = "95"
	}

	assign where host.vars.os == "Windows"
	ignore where host.vars.disable_wmi
}

Wenn die Thresholds schon fest definiert im command sind, dann genügt die If-Anweisung im Service

apply Service "ping4" {
	import "generic-service"
	check_command = "ping4"

	assign where host.address

	if (host.name == "internet") {
	vars.ping_wrta = 150
	vars.ping_wpl = 5
	vars.ping_crta = 200
	vars.ping_cpl = 15
	}
}

Nehmen wir jetzt mal an wir haben nicht nur ne hohe last fürs internet, sondern auch zB. für ein bestimmtes Gerät dann am besten folgendermaßen lösen:

if (host.name == "internet" || host.name == "old_switch") {
	vars.ping_wrta = 150
	vars.ping_wpl = 5
	vars.ping_crta = 200
	vars.ping_cpl = 15
	}

Lieber so lösen, da es mit einem elseif wohl nicht so klappen wird.



, ,

Keine Kommentare


Bis jetzt noch keine Kommentare

Einen Kommentar abgeben

Themen:

55 Artikel in 6 Kategorien:

  • Exchange Server (16)
  • Linux (6)
  • Microsoft Server (7)
  • Scripting (3)
  • Tutorials (10)
  • Windows (13)