springboot+redis+ELK(ElasticSearch+Logstash+kibana)

上一篇已经搭建好elk的环境

现在只要搭建一个elk+redis的环境

使用redis是是防止大批量日志的时候logstash无法及时处理

20171024110025441.png

安装redis

    wget http://download.redis.io/releases/redis-3.2.8.tar.gz

解压

    tar -zxvf redis-3.2.8.tar.gz

移动

    mv redis-3.2.8.tar.gz /usr/local

修改redis配置文件

    vim /usr/local/redis-3.2.8.tar.gz/redis.conf

171037_rRmz_3125112.png

protected-mode:修改为no,否则redis只有本机才能访问

执行make编译Redis:
make MALLOC=libc
注意:make命令执行完成编译后,会在src目录下生成6个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-rdb、redis-sentinel。

启动redis

    ./src/redis-server redis.conf

171420_tTqM_3125112.png

搭建redis和logstash
(1)编辑logstash的logstash.conf文件,输入端修改为redis

input {
        redis {
                data_type => "list"
                type => "redis-input"
                key => "logstash:redis"
                host => "192.168.42.128"
                port => 6379
                threads => 5
                codec => "json"
        }
}
output {
        elasticsearch {
                hosts => "192.168.212.37:9201"
                index => "logstash-test"
        }
        stdout {
                codec => rubydebug {}
        }
}

host改成自己的redis服务器地址即可。

重新启动logstash

    ./bin/logstash  -f /usr/local/logstash-5.6.3/etc/logstash.conf

171627_l9Ac_3125112.png

下面新建一个springboot demo测试下

pom.xml    

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
   <groupId>com.cwbase</groupId>
   <artifactId>logback-redis-appender</artifactId>
   <version>1.1.5</version>
</dependency>

新建logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
        <Target>System.out</Target>
        <encoder>
            <pattern>[%d{HH:mm:ss}][%t][%p][%c]-%m%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>info</level>
        </filter>
    </appender>
    <appender name="LOGSTASH" class="com.cwbase.logback.RedisAppender">
        <source>logstashdemo</source>
        <type>dev</type>
        <host>192.168.42.128</host>
        <key>logstash:redis</key>
        <tags>dev</tags>
        <mdc>true</mdc>
        <location>true</location>
        <callerStackIndex>0</callerStackIndex>
    </appender>

    <root level="info">
        <appender-ref ref="Console"/>
        <appender-ref ref="LOGSTASH"/>
    </root>
</configuration>
DemoApplication:
@SpringBootApplication
@RestController
public class DemoApplication {
    private static final Logger logger = Logger.getLogger(DemoApplication.class);

    @GetMapping("/")
    public String getTestString() {
        logger.info("哈哈哈哈哈哈哈哈哈哈哈哈哈");
        logger.error("错错错错错错错错错错错错错错错错");
        return "this is my first log";
    }

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

运行程序 localhost:8080

控制台

172005_w77r_3125112.png

logstash控制台

172118_lrOi_3125112.png

浏览器打开kibana  http://192.168.42.128:5601

自行进行条件筛选和搜索

172307_1UBH_3125112.png

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值