Elk+redis

Elk+redis****实现日志系统

准备工具:

​ Elasticsearch,logstash,kibana(建议使用同一版本),redis

(一) 记录日志,并输出到redis

(1)在项目pom中添加依赖


 	com.cwbase
	logback-redis-appender
	1.1.5

(2)新增配置文件logback.xml,指定日志输出到redis



    
    
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n
            utf-8
        
        
        
            INFO
        
    
    
        test-service
        test-service
        127.0.0.1
        redis密码
        test-service
        test-service
        true
        true
        0
      
    
        
        
    

(3)项目中新增日志输出,在try ,catch里面增加输出异常日志

logger.error(""+e);

(4)依次启动elasticsearch,kibana

(5)在logstash的目录下添加mysql文件夹,新建mysql.conf文件

(6)mysql.conf新增如下内容

input {

    stdin {

    }
	redis {
	        codec => json
	        #es里面的类型
	        type => "test-service"
	        host => "localhost"
	        port => "6379"
	        db => "0"
	        data_type => "list"
	        #redis里面对应的key
	        key => "test-service"
	        password => "redis密码"
	     }
}	
filter {

    json {

        source => "message"

        remove_field => ["message"]

    }
	mutate {
       #remove_field => "@version"

       #remove_field => "@timestamp"
	}
}

output {

    if [type] == "test-service"{

        elasticsearch {
           hosts => ["localhost:9200"]
			#es的索引index,用日期来区分
           index => "test-service.log-%{+YYYY.MM.dd}"

        }
    }
    stdout {
       # codec => json_lines
		codec => rubydebug
    }
}

(7)启动logstash,可以使用后台启动的方式并带上指定文件启动

​ 进入bin目录下

nohup ./logstash -f ../mysql/mysql.conf &

(8)启动项目,

(9)进入kibana,localhost:5601
1)先用es查询语句查询日志索引对应的日志信息,这里的日志的格式为上文提到的test-service.log-%{+YYYY.MM.dd},查到了对应的索引,说明已经成功
2)在Kibana里面创建一个索引匹配
Elk+redis_第1张图片
Elk+redis_第2张图片
Elk+redis_第3张图片
Elk+redis_第4张图片
Elk+redis_第5张图片
下图中马赛克位置,即可找到刚才配置的索引,然后可以查看对应日志信息
Elk+redis_第6张图片
Elk+redis_第7张图片
(10)查找error日志,查找对应的错误信息

你可能感兴趣的:(elasticsearch)