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

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

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

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

六月的风
Junwind
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 32

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

3年前 评论

有个 SeasLog 也可以看一下

3年前 评论
Junwind

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

3年前 评论
playmaker

ELK

3年前 评论

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

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

ELK

3年前 评论
DonnyLiu

用ELK

3年前 评论
蔺焕然

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

3年前 评论

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

3年前 评论

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

3年前 评论
chowjiawei

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

队列 延迟 记录到mysql 即可

3年前 评论

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

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

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

3年前 评论

elk + grafana

3年前 评论

laradock elk轻松部署

3年前 评论
SanXiao

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

3年前 评论

阿里云 sls 日志,好用方便

3年前 评论

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

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

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