I am running in a strange behavior in handling of variables and input from
remote messages.

a) remote messages
The template "plain-syslog" works NOT for remote messages - The variables
values are NULL if messages from remote are processed.
The template "workarround" works - but only for no $! properties
($!country_code becomes NULL every time).

b) local messages
Everything works fine

I am not sure if this is a configuration or a code issue (Tested with
rsyslog 8.2.2).
Any help is appreciated.

Best regards
Joerg


# JSON format template for structured event forwarding to ElasticSearch
#

# ######### Fill variables with dynamic data through a template ##########
#
template(name="timereportedrfc3339" type="string"
string="%timereported:::date-rfc3339%")
set $!timereported = exec_template("timereportedrfc3339");

# ######### JSON format output ##########
#
set $!host = $hostname;
set $!severity = $syslogseverity-text;
set $!facility = $syslogfacility-text;
set $!syslogtag = $syslogtag;
set $!msg = $msg;

#if ( $!country_code == '' ) then
#{
#   set $!country_code = "DE";
#}

set $!country_code = "DE";

# ######### CEE-enhanced template to generate JSON documents for
Elasticsearch ##########
#
# Needs mmjsonparse for handling CEE-enhanced syslog messages
#
template(name="cee-syslog"
    type="list") {
        constant(value="{")
        constant(value="\"@timestamp\":\"")
property(name="$!timereported")
        constant(value="\",")                property(name="$!all-json"
position.from="2")
    }

# ######### Template to generate JSON documents for Elasticsearch ##########
#
template(name="plain-syslog"
    type="list"
    option.json="on") {
        constant(value="{")
        constant(value="\"@timestamp\":\"")
property(name="$!timereported")
        constant(value="\",\"host\":\"")            property(name="$!host")
        constant(value="\",\"severity\":\"")
property(name="$!severity")
        constant(value="\",\"facility\":\"")
property(name="$!facility")
        constant(value="\",\"syslogtag\":\"")
property(name="$!syslogtag")
        constant(value="\",\"msg\":\"")            property(name="$!msg")
        constant(value="\",\"country_code\":\"")
property(name="$!country_code")
        constant(value="\"}")
    }

template(name="workarround"
    type="list"
    option.json="on") {
        constant(value="{")
        constant(value="\"@timestamp\":\"")
property(name="timereported" dateFormat="rfc3339")
        constant(value="\",\"host\":\"")
property(name="hostname")
        constant(value="\",\"severity\":\"")
property(name="syslogseverity-text")
        constant(value="\",\"facility\":\"")
property(name="syslogfacility-text")
        constant(value="\",\"syslogtag\":\"")
property(name="syslogtag")
        constant(value="\",\"msg\":\"")            property(name="msg")
        constant(value="\",\"country_code\":\"")
property(name="$!country_code")
        constant(value="\"}")
    }

module(load="omelasticsearch")

ruleset(name="elasticsearch") {

    # ElasticSearch index template - "rsyslog-2012-05-10" to have our
variable ElasticSearch index names
    #
    $template searchindex,"rsyslog-%timereported:1:10:date-rfc3339%"

    action(type="omelasticsearch"
#        template="cee-syslog"
#        template="plain-syslog"
        template="workarround"
        searchIndex="searchindex"
        dynSearchIndex="on"
        asyncrepl="on"
        searchType="events"
        server="localhost"
        serverport="9200"
        usehttps="off"
#        uid="testID"
#        pwd="fjg892345sdfsdwf4"
        bulkmode="on"
        queue.dequeuebatchsize="5000"
        queue.saveonshutdown="on"
        queue.type="linkedlist"
        queue.timeoutenqueue="0"
        queue.spoolDirectory="/var/spool/rsyslog"
        queue.filename="dbq"
        queue.maxdiskspace="2g"
        queue.maxfilesize="16m"
        queue.size="100000"
        queue.workerthreads="5"
        action.resumeretrycount="-1")
}
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to