Logstash在一天结束时停止解析日志

时间:2018-12-25 07:40:58

标签: elasticsearch logstash logback elastic-stack

我有这个logback配置

<appender name="STASH" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>my.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>logs/my-%d{yyyy-MM-dd}-%i.log.gz</fileNamePattern>
            <maxFileSize>100MB</maxFileSize>
            <maxHistory>7</maxHistory>
            <totalSizeCap>10GB</totalSizeCap>
        </rollingPolicy>
        <encoder class="net.logstash.logback.encoder.LogstashEncoder"/>
    </appender>

我有logstash服务,该服务读取了该文件并将其发送到elasticsearch

一切正常。 logstash解析我的日志并发送到elasticsearch,我可以在kibana中读取它。但是,第二天上班时,我发现没有日志。在文件中,我有日志,但在elasticsearch中,没有日志。我重新启动logstash并显示日志。也许在一天结束时,文件已移至归档文件(SizeAndTimeBasedRollingPolicy),日志已写入新文件-logstash不理解这一点吗?该怎么解决?

编辑

input {
    file {
        path => "C:/MyServer/my.log"
        codec => "json"
        type => "my"
    }
}

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

0 个答案:

没有答案