ฉันไม่สามารถดูบันทึกใน kibana หรือฉันไม่สามารถเพิ่มบันทึกลงใน elasticseach ด้วย logstash ได้

ฉันเริ่ม kibana, elastiksearch และ logstash ฉันเขียนเซิร์ฟเวอร์แบบง่าย:

@Slf4j
@RestController
public class TestController {

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

    log.debug("test");

    return "OK";
  }
}

เพิ่มภาคผนวก:

<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>

เมื่อฉันเริ่มเซิร์ฟเวอร์ - สร้างไฟล์ test.log พร้อมบันทึกในประเภท JSON เมื่อฉันโทรโทร /test - ใน test.log เพิ่มบรรทัด:

{"@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}

หลังจากนั้นฉันต้องการแยกไฟล์นี้ด้วย logstash และเพิ่มบันทึกทั้งหมดลงใน elasticksearch ฉันเพิ่ม confik ใน 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}"
        }
    }
}

และเริ่ม logstash มันเริ่มประสบความสำเร็จ

ป้อนคำอธิบายรูปภาพที่นี่

หลังจากนั้นฉันเปิด kibana ฉันไม่เข้าใจว่าฉันจะดูบันทึกได้อย่างไร

ป้อนคำอธิบายรูปภาพที่นี่


person ip696    schedule 07.08.2018    source แหล่งที่มา


คำตอบ (1)


[type] เลิกใช้แล้ว ลบออกจากผลลัพธ์ของคุณ:

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

แก้ไข: และอินพุตของคุณ จริงๆ แล้ว ลองใช้แท็ก:

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