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配置:
logback+redis配置:
日志的分析和监控在系统开发中占非常重要的地位,系统越复杂,日志的分析和监控就越重要,常见的需求有:
根据关键字查询日志详情
监控系统的运行状况
统计分析,比如接口的调用次数、执行时间、成功率等
异常数据自动触发消息通知
基于日志的数据挖掘
很多团队在日志方面可能遇到的一些问题有:
开发人员不能登录线上服务器查看详细日志,经过运维周转费时费力
日志数据分散在多个系统,难以查找
日志数据量大,查询速度慢
一个调用会涉及多个系统,难以在这些系统的日志中快速定位数据
数据不够实时
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>
相关文章推荐
- SpringBoot非官方教程 | 第二十六篇: sprinboot整合elk,搭建实时日志平台
- ELK 日志分析平台搭建
- logstash+elasticsearch+kibana快速搭建日志平台
- ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
- Elasticsearch、Logstash、Kibana搭建统一日志分析平台
- ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
- ELK(ElasticSearch, Logstash, Kibana)搭建日志分析平台-Elasticsearch篇
- ELK日志分析平台的搭建
- ELK日志分析平台搭建全过程
- ELK日志应用平台搭建
- ELK 日志分析平台搭建
- ELK(ElasticSearch, Logstash, Kibana)+ SuperVisor + Springboot + Logback 搭建实时日志分析平台
- ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
- 使用logstash+elasticsearch+kibana快速搭建日志平台
- 使用logstash+elasticsearch+kibana快速搭建日志平台
- ELKstack 搭建日志管理平台
- 搭建ELK日志分析平台
- ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
- 【入门篇】logstash、elasticsearch、kibana搭建日志平台