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

简介: 淘东电商项目(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也能查看到采集的错误日志:

本文完!

目录
相关文章
|
3月前
|
存储 监控 数据可视化
日志分析对决:揭示 ELK 与 GrayLog 的优势和差异
日志分析对决:揭示 ELK 与 GrayLog 的优势和差异
251 0
|
4月前
|
存储 Prometheus 监控
Prometheus vs. ELK Stack:容器监控与日志管理工具的较量
随着容器化技术的广泛应用,容器监控与日志管理成为了关键任务。本文将对两种常用工具进行比较与选择,分别是Prometheus和ELK Stack。Prometheus是一款开源的监控系统,专注于时序数据的收集和告警。而ELK Stack则是一套完整的日志管理解决方案,由Elasticsearch、Logstash和Kibana三个组件组成。通过比较它们的特点、优势和适用场景,读者可以更好地了解如何选择适合自己需求的工具。
|
4月前
|
Go 数据处理 Docker
elk stack部署自动化日志收集分析平台
elk stack部署自动化日志收集分析平台
81 0
|
5月前
|
消息中间件 存储 Kafka
阿里 P7 三面凉凉,kafka Borker 日志持久化没答上来
阿里 P7 三面凉凉,kafka Borker 日志持久化没答上来
|
5月前
|
消息中间件 分布式计算 Kafka
亿万级别Kafka演进之路:可靠性+事务+消息中间件+源码+日志
Kafka起初是由LinkedIn公司采用Scala语言开发的-一个多分区、多副本且基于ZooKeeper协调的分布式消息系统,现已被捐献给Apache基金会。目前Kafka已经定位为一个分布式流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛使用。
|
4月前
|
存储 监控 安全
ELK7.x日志系统搭建 1. elk基础搭建
ELK7.x日志系统搭建 1. elk基础搭建
71 0
|
4月前
|
消息中间件 数据可视化 关系型数据库
ELK7.x日志系统搭建 4. 结合kafka集群完成日志系统
ELK7.x日志系统搭建 4. 结合kafka集群完成日志系统
152 0
|
8天前
|
Java
log4j异常日志过滤规则配置
log4j异常日志过滤规则配置
16 0
|
2月前
|
存储 Prometheus 索引
日志系统新贵Loki,确实比笨重的ELK轻
日志系统新贵Loki,确实比笨重的ELK轻
25 0
|
3月前
|
存储 监控 关系型数据库
ELK架构监控MySQL慢日志
ELK架构监控MySQL慢日志

热门文章

最新文章