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

2024 年 4 月 2 日
 Mianmiss

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

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

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

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

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

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

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

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

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

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

© 2021 V2EX