diff --git a/doc/10-icinga-template-library.md b/doc/10-icinga-template-library.md index 23ae6ab46..0a99e531d 100644 --- a/doc/10-icinga-template-library.md +++ b/doc/10-icinga-template-library.md @@ -2861,6 +2861,44 @@ ping_packets | **Optional.** The number of packets to send. ping_timeout | **Optional.** The plugin timeout in seconds. Defaults to 0 (no timeout). +### Log Files + +This category includes all plugins for matching log files. + +#### logfiles + +The [logfiles](https://labs.consol.de/nagios/check_logfiles/) plugin finds +specified patterns in log files. + +Name | Description +----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +logfiles_hostname | **Optional.** Hostname where log files are +logfiles_tag | **Optional.** A short unique descriptor for this search. It will appear in the output of the plugin and is used to separare the different services. +logfiles_tag | **Optional.** This is the name of the log file you want to scan. +logfiles_rotation | **Optional.** 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. +logfiles_critical_pattern | **Optional.** A regular expression which will trigger a critical error. +logfiles_warning_pattern | **Optional.** A regular expression which will trigger a warning error. +logfiles_critical_exception | **Optional.** A regular expression, the exceptions which are not counted as critical errors. +logfiles_warning_exception | **Optional.** A regular expression, the exceptions which are not counted as warning errors. +logfiles_ok_pattern | **Optional.** A regular expression which resets the error counters. +logfiles_no_protocol | **Optional.** 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. +logfiles_syslog_server | **Optional.** With this option you limit the pattern matching to lines originating from the host check_logfiles is running on. +logfiles_syslog_client | **Optional.** With this option you limit the pattern matching to lines originating from the host named in this option. +logfiles_sticky | **Optional.** Errors are propagated through successive runs. +logfiles_unstick | **Optional.** Resets sticky errors. +logfiles_config | **Optional.** Te name of a configuration file. +logfiles_configdir | **Optional.** The name of a configuration directory. Configfiles ending in .cfg or .conf are (recursively) imported. +logfiles_searches | **Optional.** 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. +logfiles_selectedsearches | **Optional.** 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. +logfiles_report | **Optional.** 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. +logfiles_max_length | **Optional.** 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. +logfiles_winwarncrit | **Optional.** With this parameter messages in the eventlog are classified by the type WARNING/ERROR (Default: off). Replaces or complements warning/criticalpattern. +logfiles_run_unique | **Optional.** This parameter prevents check_logfiles from starting when there’s already another instance using the same config file. (exits with UNKNOWN). +logfiles_timeout | **Optional.** 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. +logfiles_warning | **Optional.** Complex handler-scripts can be provided with a warning-parameter this way. Inside the scripts the value is accessible as the macro CL_WARNING. +logfiles_critical | **Optional.** Complex handler-scripts can be provided with a critical-parameter this way. Inside the scripts the value is accessible as the macro CL_CRITICAL. + + ### Log Management This category includes all plugins for log management, for example [Logstash](https://www.elastic.co/products/logstash). diff --git a/itl/plugins-contrib.d/logfiles.conf b/itl/plugins-contrib.d/logfiles.conf new file mode 100644 index 000000000..68a8dd5a4 --- /dev/null +++ b/itl/plugins-contrib.d/logfiles.conf @@ -0,0 +1,114 @@ +/* + * Icinga2 CheckCommand definitions to monitor log files using check_logfiles. + * The check_logfiles is a Plugin for Icinga which scans log files for specific patterns. + * Available from here: https://labs.consol.de/nagios/check_logfiles/ + */ + +object CheckCommand "log" { + import "ipv4-or-ipv6" + + command = [ PluginContribDir + "/check_logfiles" ] + + arguments = { + "-H" = { + value = "$logfiles_hostname$" + description = "Hostname where log files are." + } + "--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_tag$" + 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 = "Te 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" = { + value = "$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." + } + vars.logfiles_hostname = "$check_address$" +}