Saya tidak dapat melihat log di kibana atau saya tidak dapat menambahkan log ke elasticseach dengan logstash

Saya memulai kibana, elastiksearch dan logstash Saya menulis server sederhana:

@Slf4j
@RestController
public class TestController {

  @GetMapping(value = "/test")
  public String test(){

    log.debug("test");

    return "OK";
  }
}

tambahkan tambahan:

<appender name="STASH" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>test.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>redditApp.%d{yyyy-MM-dd}.log</fileNamePattern>
      <maxHistory>7</maxHistory>
    </rollingPolicy>
    <encoder class="net.logstash.logback.encoder.LogstashEncoder"/>
  </appender>

Saat saya memulai server - buat file test.log dengan log dalam tipe JSON. Saat saya menelepon, panggil /test - di test.log tambahkan baris:

{"@timestamp":"2018-08-07T14:36:08.624+03:00","@version":"1","message":"test","logger_name":"com.example.logs.controllers.TestController","thread_name":"http-nio-8080-exec-1","level":"DEBUG","level_value":10000}

Setelah itu saya ingin mengurai file ini dengan logstash dan menambahkan semua log ke elasticksearch. Saya menambahkan konfigurasi ke logstash:

input {
    file {
        path => "D:\projects\logs\*.log"
        codec => "json"
        type => "logback"
    }
}

output {
    if [type]=="logback" {
         elasticsearch {
             hosts => [ "localhost:9200" ]
             index => "logback-%{+YYYY.MM.dd}"
        }
    }
}

dan mulai logstash. Ini dimulai dengan sukses.

masukkan deskripsi gambar di sini

Setelah itu saya buka kibana. Saya tidak mengerti bagaimana cara melihat log.

masukkan deskripsi gambar di sini


person ip696    schedule 07.08.2018    source sumber


Jawaban (1)


[type] sudah tidak digunakan lagi. Hapus dari output Anda:

output {
     elasticsearch {
         hosts => [ "localhost:9200" ]
         index => "logback-%{+YYYY.MM.dd}"
    }
}

EDIT: dan masukan Anda. Sebenarnya, coba gunakan tag:

input {
    file {
        path => "D:\projects\logs\*.log"
        codec => "json"
        tags => ["logback"]
    }
}

output {
    if "logback" in tags {
         elasticsearch {
             hosts => [ "localhost:9200" ]
             index => "logback-%{+YYYY.MM.dd}"
        }
    }
}
person dwjv    schedule 07.08.2018