Index: modules/adblockplus/manifests/log/tracker.pp |
diff --git a/modules/adblockplus/manifests/log/tracker.pp b/modules/adblockplus/manifests/log/tracker.pp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6ba268a2c0b3d961602fb57d889fd470a4551752 |
--- /dev/null |
+++ b/modules/adblockplus/manifests/log/tracker.pp |
@@ -0,0 +1,59 @@ |
+# == Type: adblockplus::log::tracker |
+# |
+# Establish monitoring for a single log-file source on the current node, |
+# connected to the adblockplus::log::forwarder output, if any. |
+# |
+# === Parameters: |
+# |
+# [*ensure*] |
+# Whether the tracker is supposed to be 'present' or 'absent', defaults |
+# to $adblockplus::log::ensure. |
+# |
+# [*format*] |
+# Either the name of a pre-configured format specific to the (Fluentd) |
+# system setup or a regular expression with named groups for extracting |
+# the log event's properties. |
+# |
+# [*name*] |
+# Translates literally into a tag attached to the tracked log event. |
+# |
+# [*path*] |
+# The full path to the log file being tracked, required to be unique. |
+# |
+# === Examples: |
+# |
+# adblockplus::log::tracker {'example1': |
+# format => 'nginx', |
+# name => 'foobar.access', |
+# path => '/var/log/nginx/access.log', |
+# } |
+# |
+# adblockplus::log::tracker {'example2': |
+# path => '/var/log/nginx/error.log', |
+# name => 'foobar.error', |
+# format => '/^(?<message>.+)$/', |
+# } |
+# |
+# adblockplus::log::tracker {'/var/log/other.log': |
+# ensure => 'absent', |
+# } |
+# |
+define adblockplus::log::tracker ( |
+ $ensure = undef, |
+ $format = '/^(?<message>.*)$/', |
+ $path = $title, |
+) { |
+ |
+ include adblockplus::log::forwarder |
+ include stdlib |
+ |
+ # Used as $title for all resource definitions contained herein |
+ $namevar = "adblockplus::log::tracker#$title" |
+ |
+ # See modules/fluent/manifests/config.pp |
+ fluent::config {$namevar: |
+ content => template('adblockplus/log/fluentd/tracker.conf.erb'), |
+ ensure => pick($ensure, $adblockplus::log::ensure), |
+ name => sprintf('20-adblockplus-log-tracker-%s', md5($path)), |
+ } |
+} |