是否应该把程序日志写入到 Mysql 数据库中

233 天前
 Mianmiss

RT 我发现我司很多开发以及一些外采的系统 都很喜欢把程序日志写入到数据库中。

数据库压力、性能开销等都会受到影响

5686 次点击
所在节点    程序员
49 条回复
cnsdytedison
233 天前
我认为应该,压力,性能开销花钱可以解决。持久化的日志没有的话锅就会在你身上。
ewpui
233 天前
@cnsdytedison 中肯!
isno
233 天前
日志如果要持久化,选择 es 、Loki 或者 Clickhouse 。选择 MySQL 肯定不合适。

https://www.thebyte.com.cn/Observability/logging.htm
Ayanokouji
233 天前
关键是有给提供其他选择吗
sakilascott
233 天前
@isno 小系统用不着这么复杂的架构。
lstz
233 天前
过早的性能优化是万恶之源
lstz
233 天前
不过我不建议 db 存日志,听起来挺奇怪的,sftp 加文件更合理点
adoal
233 天前
用 syslog 协议写到专门的日志服务器去,那边再怎么处理归专人负责
beneo
233 天前
1. 看需求,如果你只有存的需求,MySQL 只要能抗住有空间,也无妨
2. 有能力有时间就折腾 ELK 那套,毕竟用户可能提需求说要做分析
idontnowhat2say
233 天前
我只见过审计和操作日志需要写 db 的,程序日志写 db 那也太奇葩了吧。日志这种顺序写的东西,存 db 还不如直接写磁盘吧。
nuk
233 天前
还行吧,得看日志多少,主要是如果要在页面查询会比较方便
nqlair
233 天前
量少无所谓 大的话存 s3 然后 es 加对应的索引用来查询
hui9000
233 天前
存是肯定得存,选择什么也有个先后顺序,工作是干不完的,不要一次解决,持续优化。
不关你的事情别管。自己知道应该存哪就好。
potatowish
233 天前
@isno MongoDB 适合吗
isno
233 天前
@potatowish

如果是标准化的日志系统(有分析、检索、告警),用传统的数据库不论是 MongoDB, 还是 MySQL 都不合适,索引太占内存,副本机制太占存储。

看看 Loki 吧,有报警插件,有视图 Grafana ,搞出一套也不复杂。
YaD2x
233 天前
这是你考虑的吗,日志收集转换不是运维的工作吗
Garphy
233 天前
把日志结构化,插入数据库更合适
potatowish
233 天前
@isno 谢谢
jiangzm
233 天前
操作日志可以写数据库, 系统日志还是不要存数据库。
FawkesV
233 天前
需要追溯的可以写,不需要的临时日志不用了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1029045

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX