业务系统日志存储选型讨论

2023-11-21 23:07:41 +08:00
 steelshadow39

本人学生,最近项目在讨论日志存储的选型,后端是 springboot ,日志格式为 JSON ,组内有人提议使用 MYSQL 存储日志(因为系统体量不是特别大),我选的是 graylog (存储用的是 elasticsearch ,比 ELK 更轻量)。我觉得无论日志量大小,elasticsearch 的检索和日志处理都要比单纯用 MYSQL 强很多,用 MYSQL varchar 存 JSON ,查询出来还要解析,效率也太低了。并且处理日志本来就是 elasticsearch 的强项。

想请教各位前辈,公司开发在日志这块一般是怎么处理的,感谢各位前辈指点。

5389 次点击
所在节点    程序员
72 条回复
FanError
2023-11-22 10:54:23 +08:00
现在学生做项目架构整这么复杂了吗?
brom111
2023-11-22 11:01:21 +08:00
有钱就选云服务,比如阿里的 sls 。没钱就 loki 和 es 2 选一,看你对日志的需求。 mysql 存储都是扯淡。
aboutyang
2023-11-22 11:03:05 +08:00
@lff0305 有 metrics 和 alarm 的方案吗?
1QwQ1
2023-11-22 11:11:04 +08:00
从压缩比来说 mongo 和 elk 、clickhouse 都可以。但是从日志类型、相关工具来看 elk 周边更丰富些,其次是 mongo 最后是 clickhouse 。当然从管理这些集群的角度来说,可能是 mongo 复制集相对于 elk 集群和 ck 集群简单些。所以考虑都是要全面一点,选型也是项系统工程。
liprais
2023-11-22 11:23:17 +08:00
等你们 awk 搞不定了再来搞这些玩意不迟
Frankcox
2023-11-22 11:26:21 +08:00
elasticsearch+kibana
数据库的话是 clickhouse
victorc
2023-11-22 11:34:21 +08:00
就你们这个小 case ,用 graylog 就行了

数据库跑日志分析也行,但是万万不能用 mysql ,选了这个,防不住某个 2b 就把日志放进业务数据库,这就要搞砸了
levelworm
2023-11-22 11:36:52 +08:00
@liprais 是啊我觉得还是简单点好。sed, awk 搞搞看,要不就 sqlite ,怎么也够了。
hzfyjgw
2023-11-22 11:52:07 +08:00
Parseable
hzfyjgw
2023-11-22 11:53:11 +08:00
Parseable + Vector
4kingRAS
2023-11-22 11:57:22 +08:00
量小 ELK ,量大 Cassandra ,Hive
lkkl007
2023-11-22 12:10:20 +08:00
clickhouse 完胜
Betsy
2023-11-22 12:12:15 +08:00
学生+小项目,存到 MySQL 就行。ES 是强,但是也意味着要投人维护一个新的重量级的组件,有种杀鸡用牛刀的感觉…
TMaize
2023-11-22 12:32:35 +08:00
julyclyde
2023-11-22 12:34:35 +08:00
@Betsy 那改成 zincsearch 算了,不重量
steelshadow39
2023-11-22 12:34:41 +08:00
@Betsy 也不算是小项目,我研究生,导师接的国家级项目,我是主要开发
steelshadow39
2023-11-22 12:40:36 +08:00
现在架构想法是:子模块还要自己维护一个子日志库,同时所有组还要给上传给总的日志库,如果我用 graylog ,es 存储的话,也就意味着各个子模块的开发也要用 es ,对于学生来说存在学习成本,所以其他人提议使用 MySQL 存
stephenxiaxy
2023-11-22 13:38:29 +08:00
vector+clickhouse
fatyoung
2023-11-22 13:42:48 +08:00
@steelshadow39 #37 你提供一个公共的 API (查询日志,写入日志)出来,其他人直接调用,可以省去其他人的学习成本
Huelse
2023-11-22 13:42:58 +08:00
前期可以直接用 MySQL/Postgresql 存,遇到需求了再从数据库发到 ES 检索,这种功能没必要提前优化

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

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

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

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

© 2021 V2EX