Как ввести данные из регулярного выражения (имя файла), как pod_name, namespace_name, node_name? - PullRequest
0 голосов
/ 23 марта 2020

in (tail) - из файлов * .log

     <source>
       @type tail
        path  "#{ENV['LOGS']}"
        pos_file /var/log/testaping.logowanie.log.pos   
        read_from_head true
        tag logs
       <parse>
         @type multi_format
         <pattern>
           format json
           time_key time
           time_format %Y-%m-%dT%H:%M:%S.%NZ
         </pattern>
         <pattern>
           format regexp
           expression (?<pod_name>[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)_(?<namespace_name>[^_]+)_(?<node_name>.+)-(?<pod_uid>[a-z0-9 -]{44})\.log$
         </pattern>
       </parse>
      </source>

out (файл)

     <match logs.**>
      @type file
      @id nfs-splunk
      path /var/nfs/logowanie.${tag}.%Y-%m-%d.%H%M.log
      append true
      <inject>
        pod_name ${pod_name}
      </inject>
      <buffer tag,time>
       @type file
       path /var/log/logowanie.*
       timekey     60m
       timekey_wait 1m
      </buffer>
      flush_interval 60s
    </match>

как вставить данные из регулярного выражения (имя файла), такие как pod_name, namespace_name, node_name ? Имя файла моего пользовательского журнала:

(?<pod_name>a-z0-9?(?:\.a-z0-9?)*)(?<namespace_name>[^]+)_(?<node_name>.+)-(?<pod_uid>[a-z0-9 -]{44}).log$

Regards Pawel

...