]> granicus.if.org Git - icinga2/commitdiff
Add check_logfile to ITL
authorKálmán „KAMI” Szalai <kami911@gmail.com>
Tue, 4 Jun 2019 08:46:46 +0000 (10:46 +0200)
committerKálmán „KAMI” Szalai <kami911@gmail.com>
Tue, 4 Jun 2019 08:46:46 +0000 (10:46 +0200)
doc/10-icinga-template-library.md
itl/plugins-contrib.d/logfiles.conf [new file with mode: 0644]

index 23ae6ab460b8d3bfa4f020cb2fda9a4a88a72759..0a99e531dad3d707578f8f9d81e85e65c7a1b42c 100644 (file)
@@ -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 <a id="plugins-contrib-log-files"></a>
+
+This category includes all plugins for matching log files.
+
+#### logfiles <a id="plugins-contrib-command-logfiles"></a>
+
+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 <a id="plugins-contrib-log-management"></a>
 
 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 (file)
index 0000000..68a8dd5
--- /dev/null
@@ -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$"
+}