Как отправить информацию о пути в logstash forwarder

Мой сервер пересылки Logstash работает на другом хосте, отличном от сервера logstash. Теперь я хочу отправить точную информацию о пути к файлу, из которого logstashforwarder прочитал журнал. Есть ли способ, с помощью которого мы можем это сделать. Ниже приведен мой файл конфигурации logstash-forwarder.

    {
  "network": {
    "servers": [ "10.93.69.55:5002"],
    "timeout": 15,
    "ssl ca": "/home/lambda/gitprojects/logstash-forwarder/logstash-forwarder.crt"
  },
  "files": [
    {
      "paths": [
        "/home/lambda/deployments/dashboard/src/log/*.log"
       ],
      "fields": { "type": "dashboard" }
    }
   ]
}

Как показано выше, я использовал *.log для включения всех файлов журнала ошибок (error.log, process.log и т. д.). Теперь я хочу отправить имя файла вместе с журналом на сервер logstash.


person Siddhant Jain    schedule 23.09.2014    source источник
comment
stackoverflow .com/questions/22916200/   -  person Frank    schedule 24.09.2014


Ответы (1)


Определите несколько входных файлов и добавьте новое поле в зависимости от пути к файлу. Псевдо конфиг:

input {
    file {
        type => "serverlog"
        path => [ "/log/error*.log" ]
        add_field => { "file_source" => "error" }
    }
    file {
        type => "serverlog"
        path => [ "/log/process*.log" ]
        add_field => { "file_source" => "process" }
    }
}
person Frank    schedule 24.09.2014