大量日志需要记录时,如果设计一个简单高效的日志系统

如题,公司某项目有大量的业务逻辑需要记录操作日志,日志量很大,有什么即简单,性能又高效的办法呢?

  1. 写入文件
  2. 写入MongoDB
  3. 写入MySql

说明一下,我说的记录日志,不是错误日志,也不是sql日志,而且业务的操作日志,比如我做了什么操作,此操作的结果是什么; 不仅是需要记录下来,还需要做后台数据管理,用以给运营人员查看;

六月的风
Junwind
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 32

阿里云的日志服务SLS挺好的,在laravel中作为route的中间件通过SLS记录日志就行了

2年前 评论

有个 SeasLog 也可以看一下

2年前 评论
Junwind

我能想到的简单办法,直接保存到文件中,按天保存,这种分析时稍麻烦; 然后是存到mongoDB中,查询会好一些;当然比起mysql的查询肯定远远不足,但是mysql对大量数据的查询性能差

2年前 评论
playmaker

ELK

2年前 评论

有同样的需求,想直接用 MongoDB。期待大神的最佳实践

2年前 评论
Junwind (楼主) 2年前
fatrbaby

ELK

2年前 评论
DonnyLiu

用ELK

2年前 评论
蔺焕然

我也建议你使用 阿里云的日志服务 SLS

2年前 评论

神策,感觉适合你这个需求

2年前 评论

生产日志到kafka ,可以分业务弄topic, 然后想怎么看就怎么看

2年前 评论
chowjiawei

既然你需要对日志的查询 肯定不希望重启服务,数据就丢失了 并且记录日志是个优先级不高的业务
不想要第三方付费什么的

队列 延迟 记录到mysql 即可

2年前 评论

写日志瓶颈不在本地的写入,本地写入是几乎不会出现阻塞。唯一问题就是采集太快之后 日志写入的存储会支撑不住压力。可采用kafka降低写入压力

2年前 评论
arvin-hermit (作者) 2年前
Junwind (楼主) 2年前
ruke

filebeat 或者 logstash 写到es去,走ELK完事

2年前 评论

elk + grafana

2年前 评论

laradock elk轻松部署

2年前 评论
SanXiao

推荐es, 纯数字记录的话也可以用influnxDB

2年前 评论

阿里云 sls 日志,好用方便

2年前 评论

1、ClickHouse 2、PostgreSQL 按年分库,按月分表,跑队列,往数据库里写数据。别用ELK,难用的很。

2年前 评论
Junwind (楼主) 2年前
lackone (作者) 2年前
Junwind (楼主) 2年前
Junwind (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!