elk引入redis

1、引入日志依赖

        <dependency>
            <groupId>com.cwbase</groupId>
            <artifactId>logback-redis-appender</artifactId>
            <version>1.1.5</version>
            <!-- <exclusions> <exclusion> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </exclusion> 
                </exclusions> -->
        </dependency>

2、配置logback

    <appender name="LOGSTASH" class="com.cwbase.logback.RedisAppender">
        <source>company-management</source>
        <tags>dev</tags>
        <host>127.0.0.1</host>
        <port>6379</port>
        <database>5</database>
        <password></password>
        <key>elklog</key>
        <mdc>true</mdc>
        <callerStackIndex>1</callerStackIndex>
        <additionalField>
            <key>requestId</key>
            <value>@{request-id}</value>
        </additionalField>
    </appender>

3、配置logstash-redis

input {
    # redis插件为常用插件,插件内选项很多,可根据需求自行判断
    redis {
        # EVAL命令返回的事件数目,设置为5表示一次请求返回5条日志信息
        batch_count => 10 
        # logstash redis插件工作方式
        data_type => "list" 
        # 监听的键值
        key => "elklog" 
        # redis地址
        host => "127.0.0.1" 
        # redis端口号
        port => 6379 
        # 如果有安全认证,此项为认证密码,若没有则删除改行
        password => "xx"
        # 如果应用使用了不同的数据库,此为redis数据库的编号,默认为0。
        db => 5 
       # 启用线程数量
        threads => 1000
      }
}
output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "log%{+YYYYMMdd}"    
  }
}

 

posted @ 2022-06-22 16:46  wujf  阅读(121)  评论(0编辑  收藏  举报