淘东电商项目(51) -全局异常日志采集(ELK+Kafka)
2023-09-11 14:15:40 时间
引言
本文代码已提交至Github(版本号:
15880edfd7251ec4fc7950ff346056efe46f4272
),有兴趣的同学可以下载来看看:https://github.com/ylw-github/taodong-shop
前面的博客把ELK+Kafka的原理以及功能都实现了,有兴趣的同学可以参阅下:
- 《淘东电商项目(48) -ELK+Kafka分布式日志收集(原理篇)》
- 《淘东电商项目(49) -ELK+Kafka分布式日志收集(docker下搭建kafka)》
- 《淘东电商项目(50) -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也能查看到采集的错误日志:
本文完!
相关文章
- kafka学习之-雅虎开源管理工具Kafka Manager
- 利用flume+kafka+storm+mysql构建大数据实时系统
- kafka-manager 创建 topic【转】
- Kafka序列化和反序列化与示例
- Apache Kafka Producer For Beginners
- Kafka压测— 搞垮kafka的方法(转)
- Kafka项目实战-用户日志上报实时统计之编码实践
- Windows平台整合SpringBoot+KAFKA_第1部分_环境配置部分
- kafka高性能揭秘:顺序写和零拷贝
- kafka基本操作:创建topic、生产/消费消息(同一消费组均分消息;不同消费组订阅消息)
- kafka-eagle报错解决:Kafka version is “-“ or JMX Port is “-1“ maybe kafka broker jmxport disable.
- kafka详解一、Kafka简介
- kafka详解一、Kafka简介
- kafka详解三:开发Kafka应用
- 分布式消息流平台:不要只想着Kafka,还有Pulsar
- KAFKA EAGLE 监控MRS kafka之操作实践
- OUT了吧,Kafka能实现消息延时了
- y150.第八章 Servless和Knative从入门到精通 -- Kafka 与Eventing(十四)
- Filebeat+Kafka+Logstash+ElasticSearch+Kibana搭建完整版
- Python3 confluent_kafka消费及生产封装(异步并发性能最优)
- 【项目实战】Kafka中Topic创建介绍