Add logger_matcher option to the logs_counter filter
This avoids hardcoding the matcher in the Lua code.
diff --git a/heka/files/lua/filters/logs_counter.lua b/heka/files/lua/filters/logs_counter.lua
index c22749b..5199f25 100644
--- a/heka/files/lua/filters/logs_counter.lua
+++ b/heka/files/lua/filters/logs_counter.lua
@@ -25,6 +25,7 @@
-- the filter will take into account log messages that are at most 10 seconds
-- older than the current time.
local grace_interval = (read_config('grace_interval') or 0) + 0
+local logger_matcher = read_config('logger_matcher') or '.*'
local metric_logger = read_config('logger')
local metric_source = read_config('source')
@@ -36,7 +37,7 @@
local severity = read_message("Fields[severity_label]")
local logger = read_message("Logger")
- local service = string.match(logger, "^openstack%.(%a+)$")
+ local service = string.match(logger, logger_matcher)
if service == nil then
return -1, "Cannot match any service from " .. logger
end
diff --git a/heka/meta/heka.yml b/heka/meta/heka.yml
index a18c6b1..1d6c76f 100644
--- a/heka/meta/heka.yml
+++ b/heka/meta/heka.yml
@@ -22,6 +22,8 @@
grace_time: 5
logger: aggregated_http_metrics_filter
source: log_collector
+ # This filter monitors the OpenStack logs and sends the rate of processed
+ # log messages broken down by service and severity every minute
log_counter:
engine: sandbox
module_file: /usr/share/lma_collector/filters/logs_counter.lua
@@ -32,6 +34,7 @@
config:
hostname: '{{ grains.host }}'
grace_interval: 30
+ logger_matcher: '^openstack%.(%a+)$'
logger: log_counter_filter
source: log_collector
hdd_errors: