/* 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 } object CheckCommand "logfiles" { command = [ PluginContribDir + "/check_logfiles" ] arguments = { "--tag" = { value = "$logfiles_tag$" description = "A short unique descriptor for this search. It will appear in the output of the plugin and is used to separare the different services." } "--logfile" = { value = "$logfiles_logfile$" description = "This is the name of the log file you want to scan." } "--rotation" = { value = "$logfiles_rotation$" description = "This is the method how log files are rotated. One of the predefined methods or a regular expression, which helps identify the rotated archives. If this key is missing, check_logfiles assumes that the log file will be simply overwritten instead of rotated." } "--criticalpattern" = { value = "$logfiles_critical_pattern$" description = "A regular expression which will trigger a critical error." } "--warningpattern" = { value = "$logfiles_warning_pattern$" description = "A regular expression which will trigger a warning error." } "--criticalexception" = { value = "$logfiles_critical_exception$" description = "A regular expression, the exceptions which are not counted as critical errors." } "--warningexception" = { value = "$logfiles_warning_exception$" description = "A regular expression, the exceptions which are not counted as warning errors." } "--okpattern" = { value = "$logfiles_ok_pattern$" description = "A regular expression which resets the error counters." } "--noprotocol" = { set_if = "$logfiles_no_protocol$" description = "Normally all the matched lines are written into a protocol file with this file’s name appearing in the plugin’s output. This option switches this off." } "--syslogserver" = { set_if = "$logfiles_syslog_server$" description = "With this option you limit the pattern matching to lines originating from the host check_logfiles is running on." } "--syslogclient" = { value = "$logfiles_syslog_client$" description = "With this option you limit the pattern matching to lines originating from the host named in this option." } "--sticky" = { value = "$logfiles_sticky$" description = "Errors are propagated through successive runs." } "--unstick" = { set_if = "$logfiles_unstick$" description = "Resets sticky errors." } "--config" = { value = "$logfiles_config$" description = "The name of a configuration file." } "--configdir" = { value = "$logfiles_configdir$" description = "The name of a configuration directory. Configfiles ending in .cfg or .conf are (recursively) imported." } "--searches" = { value = "$logfiles_searches$" description = "A list of tags of those searches which are to be run. Using this parameter, not all searches listed in the config file are run, but only those selected." } "--selectedsearches" = { value = "$logfiles_selectedsearches$" description = "A list of tags of those searches which are to be run. Using this parameter, not all searches listed in the config file are run, but only those selected." } "--report" = { value = "$logfiles_report$" description = "This option turns on multiline output (Default: off). The setting html generates a table which display the last hits in the service details view. Possible values are: short, long, html or off" } "--maxlength" = { value = "$logfiles_max_length$" description = "With this parameter long lines are truncated (Default: off). Some programs (e.g. TrueScan) generate entries in the eventlog of such a length, that the output of the plugin becomes longer than 1024 characters. NSClient++ discards these." } "--winwarncrit" = { set_if = "$logfiles_winwarncrit$" description = "With this parameter messages in the eventlog are classified by the type WARNING/ERROR (Default: off). Replaces or complements warning/criticalpattern." } "--rununique" = { set_if = "$logfiles_run_unique$" description = "This parameter prevents check_logfiles from starting when there’s already another instance using the same config file. (exits with UNKNOWN)" } "--timeout" = { value = "$logfiles_timeout$" description = "This parameter causes an abort of a running search after a defined number of seconds. It is an aborted in a controlled manner, so that the lines which have been read so far, are used for the computation of the final result." } "--warning" = { value = "$logfiles_warning$" description = "Complex handler-scripts can be provided with a warning-parameter this way. Inside the scripts the value is accessible as the macro CL_WARNING." } "--critical" = { value = "$logfiles_critical$" description = "Complex handler-scripts can be provided with a critical-parameter this way. Inside the scripts the value is accessible as the macro CL_CRITICAL." } } }