淘东电商项目(51) -全局异常日志采集(ELK+Kafka)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 淘东电商项目(51) -全局异常日志采集(ELK+Kafka)

引言

本文代码已提交至Github(版本号:15880edfd7251ec4fc7950ff346056efe46f4272),有兴趣的同学可以下载来看看:https://github.com/ylw-github/taodong-shop

前面的博客把ELK+Kafka的原理以及功能都实现了,有兴趣的同学可以参阅下:

本文在前面的基础上讲解全局异常捕获,并通过Kafka发送到ELK。

本文目录结构:

l____引言

l____ 1. 代码

l____ 2. 测试

1.代码

实现很简单,直接定义一个全局异常捕获类,直接在捕获方法里面发送错误日志到Kafka即可,代码如下:

/**
 * description: 全局捕获异常
 * create by: YangLinWei
 * create time: 2020/4/29 5:20 下午
 */
@ControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
  @Autowired
  private KafkaSender<JSONObject> kafkaSender;
  @ExceptionHandler(RuntimeException.class)
  @ResponseBody
  public JSONObject exceptionHandler(Exception e) {
    // 1.封装异常日志信息
    JSONObject errorJson = new JSONObject();
    JSONObject logJson = new JSONObject();
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式
    logJson.put("request_time", df.format(new Date()));
    logJson.put("error_info", e);
    errorJson.put("request_error", logJson);
    kafkaSender.send(errorJson);
    // 2. 返回错误信息
    JSONObject result = new JSONObject();
    result.put("code", 500);
    result.put("msg", "系统错误");
    return result;
  }
}

在商品搜索服务模拟一个异常:

2.测试

启动ELK+Kafa环境,然后在浏览器请求http://localhost:8500/search?name=pg模拟抛出异常:

可以看到logstash控制台收集到错误日志:

在kibana也能查看到采集的错误日志:

本文完!

目录
相关文章
|
2月前
|
存储 消息中间件 网络协议
日志平台-ELK实操系列(一)
日志平台-ELK实操系列(一)
|
15天前
|
存储 监控 安全
|
1月前
|
存储 消息中间件 大数据
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
35 4
|
1月前
|
存储 消息中间件 大数据
大数据-70 Kafka 高级特性 物理存储 日志存储 日志清理: 日志删除与日志压缩
大数据-70 Kafka 高级特性 物理存储 日志存储 日志清理: 日志删除与日志压缩
39 1
|
1月前
|
存储 消息中间件 大数据
大数据-68 Kafka 高级特性 物理存储 日志存储概述
大数据-68 Kafka 高级特性 物理存储 日志存储概述
26 1
|
2月前
|
消息中间件 Kafka API
python之kafka日志
python之kafka日志
31 3
|
2月前
|
消息中间件 存储 监控
Kafka的logs目录下的文件都是什么日志?
Kafka的logs目录下的文件都是什么日志?
127 11
|
3月前
|
消息中间件 Kafka 开发工具
rsyslog+ELK收集Cisco日志
rsyslog+ELK收集Cisco日志
|
3月前
|
消息中间件 监控 Kafka
Filebeat+Kafka+Logstash+Elasticsearch+Kibana 构建日志分析系统
【8月更文挑战第13天】Filebeat+Kafka+Logstash+Elasticsearch+Kibana 构建日志分析系统
202 3
|
3月前
|
运维 监控 Ubuntu
一键启动日志魔法:揭秘ELK自动安装脚本的神秘面纱!
【8月更文挑战第9天】在数据驱动时代,高效处理日志至关重要。ELK Stack(Elasticsearch、Logstash、Kibana)是强大的日志分析工具,但其复杂的安装配置常让初学者望而却步。本文介绍如何编写ELK自动安装脚本,简化部署流程。脚本适用于Ubuntu系统,自动完成ELK下载、安装及基本配置,包括依赖项安装、服务启动及自启设置,极大降低了使用门槛,助力运维人员和开发者轻松构建日志分析平台。
154 6