Hello all,

I have some exceptions from elastic search regarding messages sent by
rsyslog.

Template in rsyslog used for elasticsearch:

template(name="es_template"
         type="list"
         option.json="on")
         {
           constant(value="{")
             constant(value="\"@timestamp\":\"")
property(name="timereported" dateFormat="rfc3339")
             constant(value="\",\"timereported\":\"")
property(name="timereported" dateFormat="rfc3339")
             constant(value="\",\"timegenerated\":\"")
property(name="timegenerated" dateFormat="rfc3339")
             constant(value="\",\"message\":\"")        property(name="msg")
             constant(value="\",\"host\":\"")
property(name="hostname")
             constant(value="\",\"severity\":\"")
property(name="syslogseverity-text")
             constant(value="\",\"priority\":\"")
property(name="syslogpriority-text")
             constant(value="\",\"facility\":\"")
property(name="syslogfacility-text")
             constant(value="\",\"tag\":\"")
property(name="syslogtag")
             constant(value="\",\"program_name\":\"")
property(name="programname")
           constant(value="\"}")
         }


Json sent by rsyslog:

{
  "@timestamp": "2014-07-23T15:08:37.262843+03:00",
  "timereported": "2014-07-23T15:08:37.262843+03:00",
  "timegenerated": "2014-07-23T15:08:37.262843+03:00",
  "message": "   File
\"/opt/optymyze/collectd/scripts/python/web_plugin.py\", line 63, in
read#012    metrics.type_instance = re.sub(\"\ \",\"-\",transactions[j]) +
\"_response_time\"",
  "host": "is-iasi-vm.synygy.net",
  "severity": "err",
  "priority": "err",
  "facility": "daemon",
  "tag": "collectd[29370]:",
  "program_name": "collectd"
}

Elastic search complains about space character being escaped. This happens
here:
re.sub(\"\ \",\"-\"



Exception log:

[2014-07-23 15:08:37,273][DEBUG][action.bulk              ]
[v-so-repo-02-es-01] [default-index][1] failed to execute bulk item (index)
index {[default-index][collectd][knQxDu2MR3eYgSiZc6TmLQ],
source[{"@timestamp":"2014-07-23T15:08:37.262843+03:00","timereported":"2014-07-23T15:08:37.262843+03:00","timegenerated":"2014-07-23T15:08:37.262843+03:00","message":"
File \"/opt/optymyze/collectd/scripts/python/web_plugin.py\", line 63, in
read#012    metrics.type_instance = re.sub(\"\ \",\"-\",transactions[j]) +
\"_response_time\"","host":"is-iasi-vm.synygy.net
","severity":"err","priority":"err","facility":"daemon","tag":"collectd[29370]:","program_name":"collectd"}]}
org.elasticsearch.index.mapper.MapperParsingException: failed to parse
[message]
        at
org.elasticsearch.index.mapper.core.AbstractFieldMapper.parse(AbstractFieldMapper.java:417)
        at
org.elasticsearch.index.mapper.object.ObjectMapper.serializeValue(ObjectMapper.java:637)
        at
org.elasticsearch.index.mapper.object.ObjectMapper.parse(ObjectMapper.java:490)
        at
org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:515)
        at
org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:462)
        at
org.elasticsearch.index.shard.service.InternalIndexShard.prepareCreate(InternalIndexShard.java:373)
        at
org.elasticsearch.action.bulk.TransportShardBulkAction.shardIndexOperation(TransportShardBulkAction.java:425)
        at
org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:158)
        at
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:534)
        at
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction$1.run(TransportShardReplicationOperationAction.java:433)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)
Caused by: org.elasticsearch.common.jackson.core.JsonParseException:
Unrecognized character escape ' ' (code 32)
 at [Source: [B@5f263984; line: 1, column: 286]
        at
org.elasticsearch.common.jackson.core.JsonParser._constructError(JsonParser.java:1524)
        at
org.elasticsearch.common.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:557)
        at
org.elasticsearch.common.jackson.core.base.ParserMinimalBase._handleUnrecognizedCharacterEscape(ParserMinimalBase.java:532)
        at
org.elasticsearch.common.jackson.core.json.UTF8StreamJsonParser._decodeEscaped(UTF8StreamJsonParser.java:2817)
        at
org.elasticsearch.common.jackson.core.json.UTF8StreamJsonParser._finishString2(UTF8StreamJsonParser.java:2193)
        at
org.elasticsearch.common.jackson.core.json.UTF8StreamJsonParser._finishString(UTF8StreamJsonParser.java:2149)
        at
org.elasticsearch.common.jackson.core.json.UTF8StreamJsonParser.getText(UTF8StreamJsonParser.java:281)
        at
org.elasticsearch.common.xcontent.json.JsonXContentParser.text(JsonXContentParser.java:85)
        at
org.elasticsearch.common.xcontent.support.AbstractXContentParser.textOrNull(AbstractXContentParser.java:194)
        at
org.elasticsearch.index.mapper.core.StringFieldMapper.parseCreateFieldForString(StringFieldMapper.java:338)
        at
org.elasticsearch.index.mapper.core.StringFieldMapper.parseCreateField(StringFieldMapper.java:278)
        at
org.elasticsearch.index.mapper.core.AbstractFieldMapper.parse(AbstractFieldMapper.java:407)
        ... 12 more

Should I open a bug for this, or is something wrong on my side?

Best regards,
Cristian Falcas
_______________________________________________
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