您的位置:首页 > 数据库 > Redis

elk+logback+redis 搭建日志平台

2018-02-07 21:29 246 查看
日志平台背景:

日志的分析和监控在系统开发中占非常重要的地位,系统越复杂,日志的分析和监控就越重要,常见的需求有:
根据关键字查询日志详情
监控系统的运行状况
统计分析,比如接口的调用次数、执行时间、成功率等
异常数据自动触发消息通知
基于日志的数据挖掘

很多团队在日志方面可能遇到的一些问题有:
开发人员不能登录线上服务器查看详细日志,经过运维周转费时费力
日志数据分散在多个系统,难以查找
日志数据量大,查询速度慢
一个调用会涉及多个系统,难以在这些系统的日志中快速定位数据
数据不够实时

ELK+Redis版本:
 elasticsearch-2.1.0

 kibana-4.3.1-linux-x64

 logstash-2.1.1

 redis-2.8.3
elk安装参考地址:  https://www.cnblogs.com/davidgu/p/6639307.html
elasticsearch配置:
 



Kibana配置:
 


Logstash配置:

input {
input {
redis {
codec => json
host => "127.0.0.1"
port => 8098
key => "logstash"
data_type => "list"
threads => 10
}
}
filter {
json {
source => "message"
}
if ([message] =~  "^(?!.*?xx_data_logs_type).*$") {
drop {}
}
}
output {
if [message] =~ "xx_data_logs_type" and [message] =~ "xx_error" {
elasticsearch {
hosts => ["localhost:9200"]
index => "xx_app_error_%{+YYYY.MM.dd}"
}
}
if [message] =~ "xx_data_logs_type" and [message] =~ "xx_request_info" {
elasticsearch {
hosts => ["localhost:9200"]
index => "xx_app_request_info_%{+YYYY.MM.dd}"

}
}
if [message] =~ "xx_data_logs_type" and [message] =~ "xx_sql_info" {
elasticsearch {
hosts => ["localhost:9200"]
index => "xx_app_sql_info_%{+YYYY.MM.dd}"

}
}
if [message] =~ "xx_data_logs_type" and [message] =~ "xx_info" {
elasticsearch {
hosts => ["localhost:9200"]
index => "xx_app_info_%{+YYYY.MM.dd}"
}
}
stdout {
codec => dots
}
}


logback+redis配置:
 
 
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="LOGSTASH" class="com.cwbase.logback.RedisAppender">
<host>127.0.0.1</host>
<port>8098</port>
<key>logstash</key>
</appender>
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
<!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
<discardingThreshold>0</discardingThreshold>
<!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
<queueSize>5120</queueSize>
<appender-ref ref="LOGSTASH" />
</appender>
<logger  name="com.xx"  level="info">
<appender-ref ref="ASYNC"/>
</logger>
</configuration>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息