<div dir="ltr"><div>Hi ,<br><br>I have setup where rancher 2.3 send logs ogs to syslog-ng server , I am getting several GB per hour and write them to text file. <br><br>The log format are dynamic , general form are  [timestamp SourceContainer-host-IP Source-Program  list-of-nested-json-key/value-pairs] ..<br><br>I got the elasticsearch forwarding wokring with config below, however all json kv gets written to message field.. <br><br><br>I need to be able to :<br><br>* Parse json kv into diffeent fields to elastic and flatten the json fields. <br>* Use one field to create the index on destination elastic like "program" or custom added field on source side like "k8s-cluster-name"<br><br><br>Thanks for help <br><br></div>John <br><div><div><br><br><br><br><br>destination d_elasticsearch_http {<br>    elasticsearch-http(<br>        url("<a href="https://elastricsearch:9200/_bulk">https://elastricsearch:9200/_bulk</a>")<br>        template("$(format-json --scope rfc5424 --scope dot-nv-pairs<br>        --rekey .* --shift 1 --scope nv-pairs<br>        --exclude DATE --key ISODATE @timestamp=${ISODATE})")<br>        index("syslog-ng-test")<br>        #time-zone("UTC")<br>        type("")<br>        workers(4)<br>        batch-lines(100)<br>        #batch-timeout(10000)<br>        #timeout(10)<br>        tls(<br>            #ca-dir("/etc/syslog-ng/conf.d")<br>            ca-file("/etc/syslog-ng/conf.d/root-ca.pem")<br>            cert-file("/etc/syslog-ng/conf.d/admin.pem")<br>            key-file("/etc/syslog-ng/conf.d/admin.key")<br>            peer-verify(no)<br>        )<br>    );<br>};<br></div></div></div>