/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */

object CheckCommand "logstash" {
	import "ipv4-or-ipv6"

	command = [ PluginContribDir + "/check_logstash" ]

	arguments = {
		"-H" = {
			value = "$logstash_hostname$"
			description = "Hostname where Logstash is running"
		}
		"-p" = {
			value = "$logstash_port$"
			description = "Port where Logstash is listening for API requests"
		}
		"--file-descriptor-threshold-warn" = {
			value = "$logstash_filedesc_warn$"
			description = "Warning threshold of file descriptor usage in percent"
		}
		"--file-descriptor-threshold-crit" = {
			value = "$logstash_filedesc_crit$"
			description = "Critical threshold of file descriptor usage in percent"
		}
		"--heap-usage-threshold-warn" = {
			value = "$logstash_heap_warn$"
			description = "Warning threshold of heap usage in percent"
		}
		"--heap-usage-threshold-crit" = {
			value = "$logstash_heap_crit$"
			description = "Critical threshold of heap usage in percent"
		}
		"--inflight-events-warn" = {
			value = "$logstash_inflight_warn$"
			description = "Warning threshold of inflight events"
		}
		"--inflight-events-crit" = {
			value = "$logstash_inflight_crit$"
			description = "Critical threshold of inflight events"
		}
		"--cpu-usage-threshold-warn" = {
			value = "$logstash_cpu_warn$"
			description = "Warning threshold for cpu usage in percent"
		}
		"--cpu-usage-threshold-crit" = {
			value = "$logstash_cpu_crit$"
			description = "Critical threshold for cpu usage in percent"
		}
	}

	vars.logstash_hostname = "$check_address$"
	vars.logstash_port = 9600
	vars.logstash_filedesc_warn = 85
	vars.logstash_filedesc_crit = 95
	vars.logstash_heap_warn = 70
	vars.logstash_heap_crit = 80
}