V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
linhrdom
V2EX  ›  数据库

团队日志要存几年,怎么找一个便宜又能查的地方?

  •  1
     
  •   linhrdom · 12 天前 · 8297 次点击

    我们这边每天都会落几十 GB 日志,埋点+调试都有。 想法比较简单:

    • 日志最好能留够 1 年。
    • 偶尔要查问题,用 SQL 能直接捞出来就行。
    • 不想自己搭 ES/数仓,成本太高、维护也麻烦。

    之前看过对象存储 + Presto(Trino) 这套,但有点懒得自己搭建和维护,感觉太折腾。 大家平时是怎么搞的?有没有省心点的办法?

    97 条回复    2025-08-24 14:28:34 +08:00
    chesha1
        1
    chesha1  
       12 天前   ❤️ 3
    grafana 可视化+promtail 收集+loki 日志聚合+任意对象存储,k8s helm chart 一个 loki-stack 全搞定了,只要调调 yaml 配置,相当不折腾
    c00WKmdje2wZLrSI
        2
    c00WKmdje2wZLrSI  
       12 天前
    阿里云或者腾讯云的日志服务?
    phrack
        3
    phrack  
       12 天前
    @chesha1 你这相当复杂了
    Nitroethane
        4
    Nitroethane  
       12 天前 via iPhone
    试试阿里云 maxcompute ?内部叫 odps ,挺好用
    nm1st
        5
    nm1st  
       12 天前   ❤️ 2
    duckdb+s3
    Smileh
        6
    Smileh  
       12 天前
    买个 10T 硬盘
    linhrdom
        7
    linhrdom  
    OP
       12 天前
    @c00WKmdje2wZLrSI 有点贵,1TB 一年 2700 左右。有点恐怖了
    COW
        8
    COW  
       12 天前 via Android
    presto 非常吃内存的,而且也不太推荐用于块存储查询,要不看看 ck ?
    linhrdom
        9
    linhrdom  
    OP
       12 天前
    @COW 感谢建议,避坑了
    Maboroshii
        10
    Maboroshii  
       12 天前   ❤️ 2
    没有银弹... 最简单就是存文件,grep 查
    bruce0
        11
    bruce0  
       12 天前
    我前几天刚搭了一套 ELK, filebeat 收集,logstash 分析处理,ES 存, kibana 展示. 除了 filebeat 都是 docker(podman) 跑的, 现在只收集程序运行 log.每天 2G 左右,保存 14 天,原始 log 永久保存(gov 规定的)

    前几天想把玩家行为 log 也写入 ES,每天可能在 10G 左右,打算保存 1 年+, 算了一下,硬盘需求太大,还是用原来的吧(原来有一套程序+脚本能通过原始 log 文件查找分析玩家行为) 就没必要把行为 log 再写入 ES 了
    vincentWdp
        12
    vincentWdp  
       12 天前
    aws Athena? 虽然成本也不低
    ladypxy
        13
    ladypxy  
       12 天前 via iPhone
    aws s3
    fuzzsh
        14
    fuzzsh  
       12 天前 via Android
    买冷存储块,3 天后就放入冷库,要查在捞出来
    DefoliationM
        15
    DefoliationM  
       12 天前 via Android
    quickwit+s3 ,完美符合你的要求,支持全文搜索。
    ETiV
        16
    ETiV  
       12 天前 via iPhone
    https://github.com/openobserve/openobserve

    🚀 10x easier, 🚀 140x lower storage cost, 🚀 high performance, 🚀 petabyte scale - Elasticsearch/Splunk/Datadog alternative for 🚀 (logs, metrics, traces).

    OpenObserve (O2 for short) is a cloud-native observability platform built specifically for logs, metrics, traces, analytics, RUM (Real User Monitoring - Performance, Errors, Session Replay) designed to work at petabyte scale.
    perfectlife
        17
    perfectlife  
       12 天前 via Android
    云上直接用云平台的日志服务,想降低成本就设置把历史日志扔到归档存储里
    sjbsjb233
        18
    sjbsjb233  
       12 天前   ❤️ 4
    我有一技:
    你去 steam 上买个 wallpaper engine
    然后使用 SteamCMD 命令行向 wallpaper engine 创意工坊上传作品,在这个作品里把你的日志文件加密丢进去,然后随便整个图片包装下上传,描述或者标题就写你的日志备份日期
    一次传十几个 G 的文件没太大问题,还能免费用到 steam 的 CDN 下载服务
    而且完全可以自动化进行,因为 steam 有 SteamCMD 功能可以命令行运行,可以部署在 linux 或者 docker 上
    w568w
        19
    w568w  
       12 天前
    ETiV
        20
    ETiV  
       12 天前 via iPhone   ❤️ 1
    我也给我们项目写过

    - 日志每天 gzip 上传到阿里云 oss 、AWS S3 这种地方,存储路径、文件名都有规律的
    - 配置好归档冷存储策略
    - 等需要搜索的时候,大批量开按量计费的虚拟机,然后用分布式、多进程、管道化的方式来 gunzip | grep 想要搜索的内容
    * 机器都开在了同 region ,访问走内网域名,不会收取 egress 流量费
    - 上面的工作是一个异步的任务,开跑了就可以挂着了
    - 跑完会给企业微信群里发条消息,说最终 grep 匹配出来的结果放在了什么路径下。然后把跑任务的机器自动关机。
    lscho
        21
    lscho  
       12 天前   ❤️ 4
    便宜
    不折腾
    能直接用( SQL 能直接捞出来)

    以上不可能三角
    JungleZZ
        22
    JungleZZ  
       12 天前
    @sjbsjb233 笋都让你夺完了...hhh
    wupher
        23
    wupher  
       12 天前
    - 常用查询放 ELK ,一般双周或一月,视各项目重要情况。

    - 归档日志存放于 Hadoop ,通过 API 进行检索。
    defunct9
        24
    defunct9  
       12 天前   ❤️ 1
    @ETiV 你这一股子的咖喱味,能行吗
    ITisCool
        25
    ITisCool  
       12 天前
    @sjbsjb233 #18 你说得这么详细,想必是正在这么干
    zed1018
        26
    zed1018  
       12 天前
    @phrack 实际上一点也不,除了 s3 配置一下,剩下就是 replica 的设置搞一搞绝大部分用 helm values 的默认值就完事了
    1423
        27
    1423  
       12 天前   ❤️ 1
    每天上传几十 GB 日志,会不会被认定跑 PCDN 被限速?
    512357301
        28
    512357301  
       12 天前 via Android
    用 duckdb 转成 parquet ,然后随便放哪里(本地或者 s3 ,甚至 http 文件服务器也行),用 duckdb 读取,速度也很快。
    512357301
        29
    512357301  
       12 天前 via Android
    每天啊,那这量不算小,一般建议数仓了,可以先用 duckdb 试试,不行就上 ck 数仓
    dji38838c
        30
    dji38838c  
       12 天前   ❤️ 2
    如果一年几万块,不值得出
    那么大概率这数据也不值得放
    marquina
        31
    marquina  
       12 天前 via iPhone
    @dji38838c #30 +1 ,用价格竞争最充分的对象存储来算,每月几十 g 的数据一年下来也得 5 位数了。如果这钱都不想出那说明这数据没那么值钱。
    billccn
        32
    billccn  
       12 天前
    以前 AWS S3 还支持直接运行 SQL-like 查询呢: https://docs.aws.amazon.com/AmazonS3/latest/userguide/selecting-content-from-objects.html

    当然这种好事已经结束了
    guo4224
        33
    guo4224  
       12 天前 via iPhone
    找个大善人给你出钱出精力维护
    xuanbg
        34
    xuanbg  
       12 天前
    日志留够 1 年是你想多了,除非用于数据恢复。查问题的话,7 天足够了。一般也就 24 小时内的问题要查。
    bk201
        35
    bk201  
       12 天前
    自己买 nas 存储设备存储最便宜。
    ExplodingFKL
        36
    ExplodingFKL  
       12 天前
    一楼的方案算是比较好的了,prometheus 也可以顺便用 grafana ,只不过每天落几十 GB 日志有点难崩,假如 30G/d, 一年就是 10T + 了
    jnliyan1
        37
    jnliyan1  
       12 天前
    啥问题需要一年后查..
    kzfile
        38
    kzfile  
       12 天前
    既要低成本又要方便查询,我感觉需要建多层缓存
    opengps
        39
    opengps  
       12 天前
    其实一块大容量的移动硬盘已经足够靠谱了
    spritecn
        40
    spritecn  
       12 天前
    年? 没审计需求的话,到月就可以了吧,我只存 10 天,方案是 OpenObserve 走 s3
    spritecn
        41
    spritecn  
       12 天前
    OpenObserve 存储也是 parquet
    yudoo
        42
    yudoo  
       12 天前
    ilogtail+clickhouse 最简单的 单节点就行 压缩比 es 高 7 倍,硬盘 1T 差不多了
    guanyujia5444
        43
    guanyujia5444  
       12 天前
    对象存储+分层存储,要不就降低保留时间,再便宜的方案可能可用性就受影响了
    i8086
        44
    i8086  
       12 天前
    频繁查询都是 15 天内的,我这里 3 个月前的日志很少要查,平均下来 1 年查不到 2 次,那时候把日志导出为文本,直接用 winrar + 大字典压缩归档了,超级省空间,10G 日志压缩完不到 1G 。

    完善后续恢复导入流程就可以了。
    i8086
        45
    i8086  
       12 天前
    按月归档。
    TaiShang
        46
    TaiShang  
       12 天前
    victorialog
    tomatocici2333
        47
    tomatocici2333  
       12 天前
    百度云自动备份就行了 就一个会员钱
    Goooooos
        48
    Goooooos  
       12 天前
    日志我们最多只存 30 天
    RedisMasterNode
        49
    RedisMasterNode  
       12 天前
    一年 2700 的成本都不愿意..吗 这不对吧
    dode
        50
    dode  
       12 天前
    试试 clickhouse ,带压缩功能
    evan1
        51
    evan1  
    PRO
       12 天前
    @RedisMasterNode #49 这是 1t 的价格。op 一天就产生几十 g 的日志。一年下来也要几万块钱了。
    RedisMasterNode
        52
    RedisMasterNode  
       12 天前
    @evan1 按 30G 一年只有 10T 左右,现在日志存储压缩率极高,轻松可以有 10x 以上的压缩率把存储开销保持在 2T 内。

    See: https://victoriametrics.com/products/victorialogs/
    joyoyao
        53
    joyoyao  
       12 天前
    clickhouse 上手简单。支持到期日志自动删除,压缩算法也给力。也支持 sql 。搞个大一点的机械硬盘就行了。
    guxingke
        54
    guxingke  
       12 天前
    doris ,MySQL 协议兼容,支持分层存储(冷数据丢到 OSS)
    duanxianze
        55
    duanxianze  
       12 天前
    买两块硬盘不就好了,互为备份就行了,五年内还是稳的
    fengfisher3
        56
    fengfisher3  
       12 天前
    日志最好能留够 1 年。
    偶尔要查问题,用 SQL 能直接捞出来就行。
    不想自己搭 ES/数仓,成本太高、维护也麻烦
    -------------------------------------------------------
    大量长时间存储,还要方便能直接使用,又不想麻烦的,真的如 @lscho 所说,不可能三角。
    每天 几十 GB 日志,这个量,光存储的钱都不少,还不想麻烦,真的不可能,换方案吧。
    luzihang
        57
    luzihang  
       12 天前
    年初遇到个需求,金融机构上面来检查,按照订单号,要查 5 年内的日志:请求和响应 2 条。后面写个脚本,读按照日期归类的日志压缩文件。
    salmon5
        58
    salmon5  
       12 天前
    @duanxianze #53 的方案可以了,买 2 块大硬盘足够了
    laminux29
        59
    laminux29  
       12 天前
    你既要方便地能直接 SQL 查询,又懒得搭建和维护。

    这边建议您花钱找人帮您搭建。
    spritecn
        60
    spritecn  
       12 天前   ❤️ 1
    @w568w influxDB 新版本也是走 parquet 存储的,但现在开源版本还没有 s3 可以用
    la2la
        61
    la2la  
       12 天前
    假设 1 天 100 GB 数据,1 年 大概 36.6 TB 左右的数据
    这点数据可以考虑一下云厂商的 OSS 服务,在加上冷热模式,用不了几个钱。
    不过你要支持可查,那么用数据湖格式,存储落到 OSS 上,使用 Doris 或者 Spark 挂个外表就能查了。
    spritecn
        62
    spritecn  
       12 天前
    @joyoyao #53 clickhouse 需要机器好,机器不好可能会一条 sql 拉挂掉,太吃 cpu 了
    JoeDH
        63
    JoeDH  
       12 天前
    一年有没有必要?如果接受不了云服务的价钱,那还是自己买存储搭一套吧
    Moatkon
        64
    Moatkon  
       11 天前
    找一个压缩算法,规划好分片维度。后面业务如果需要找到指定分片解压
    zhangxiangperson
        65
    zhangxiangperson  
       11 天前   ❤️ 1
    如果不想自己拼组件,可以考虑全托管的湖仓,(对象存储 + 表格式 + SQL 引擎一体化)。例如把日志直接落到云器 Lakehouse ,一年存储免费的 “资源包”,1TB 存储免费,存储+SQL 即席查询的诉求能一次到位:
    https://www.yunqi.tech/product/one-year-package
    linhrdom
        66
    linhrdom  
    OP
       11 天前
    @vincentWdp AWS Athena 我简单算了一下,可能要 4000 多美金,更恐怖了。
    linhrdom
        67
    linhrdom  
    OP
       11 天前
    @DefoliationM 可以,但不是 SQL
    linhrdom
        68
    linhrdom  
    OP
       11 天前
    @fengfisher3 感谢分析
    linhrdom
        69
    linhrdom  
    OP
       11 天前
    @zhangxiangperson 这个好,试试
    wineejam
        70
    wineejam  
       11 天前
    直接上 SLS
    tooroot
        71
    tooroot  
       11 天前
    Doris 存算分离模式 + OSS 冷备
    gzldc
        72
    gzldc  
       11 天前
    公司出钱 让公司买现成的 没钱就不留呗
    yidinghe
        73
    yidinghe  
       11 天前 via Android
    几十 TB 一年的存储费用可不少,任何云服务都不便宜。一个方案是用 btrfs 文件系统存储原始日志文件,挂载时加上压缩参数,能压缩 80%左右,35TB 原始文本可压缩成 7TB ,一个硬盘就能装下,查询日志用 grep 即可。
    vopsoft
        74
    vopsoft  
       11 天前
    "我们这边每天都会落几十 GB 日志,埋点+调试都有。 想法比较简单" 最后这个句改成 "想法太天真"吧
    需求能实现 也是野路子或者薅羊毛 感觉就是给 2 毛钱预算 让你做核弹 ...唉
    js2854
        75
    js2854  
       11 天前
    腾讯云 CLS 低频版,关闭全文索引,添加需要的键值索引,成本还比较低
    Gilfoyle26
        76
    Gilfoyle26  
       11 天前
    百度云盘
    howencilx
        77
    howencilx  
       11 天前
    重要就会花钱,舍不得花钱那还是不太重要
    wangtian2020
        78
    wangtian2020  
       11 天前
    自己买一台 NAS

    renting-is-for-suckers
    https://andrewkelley.me/post/renting-is-for-suckers.html
    quicksandznzn
        79
    quicksandznzn  
       11 天前
    我们是 es 保留近几天 其它的云服务深度归档(便宜) 需要的时候在恢复
    BlueSkyXN
        80
    BlueSkyXN  
       11 天前
    网盘+压缩
    DLOG
        81
    DLOG  
       11 天前
    filebeat -> kafka -> (ck -> S3)
    才几十个 G ,随便玩
    spritecn
        82
    spritecn  
       11 天前
    @DLOG kafka 可以去掉的.. filebeat 走 bluk api 塞 ck
    maximdx
        83
    maximdx  
       11 天前
    这得上数仓吧,我们公司用 pinot 或者 clickhouse
    HappyAndSmile
        84
    HappyAndSmile  
       11 天前
    ClickHouse 按天分区,简单,不用那么折腾
    luciankaltz
        85
    luciankaltz  
       11 天前
    可以考虑 GreptimeDB ,和常见的日志存储在官网都有对比文章。写了一大堆 v2 不让我发,麻了
    利益相关
    yingqi1
        86
    yingqi1  
       11 天前
    我也推荐 duckdb+云存储方案, 文件压缩率也是第一梯队,duckdb 也可以, 然后 duckdb 安装极其简单,使用也简单,查询速度丝毫不弱。
    deplives
        87
    deplives  
       11 天前
    @linhrdom #7 一天几十 G 一年就差不多得 17T 日志,又想冷数据大容量存储存储,又想热数据随时调用,又想不花钱,又想不麻烦。讲真,寿命这个数据不重要,你们干脆自己买个几块企业硬盘吧。够用了。
    qweruiop
        88
    qweruiop  
       11 天前
    楼上的各位佬,最近有个内部文档,看介绍 duckdb 可以直接挂在 cloudflare r2/s3 来实现全文搜索?不知道,是否有简单的例子,或者 demo 。。。
    tudou1514
        89
    tudou1514  
       11 天前
    直接物理存,买硬盘,做好报警,满了就换
    pinylin
        90
    pinylin  
       11 天前
    vector -> clickhouse -> S3
    vector -> quickwit-> S3

    我觉得 都行
    Maboroshii
        91
    Maboroshii  
       11 天前
    补充一下我之前说的文件方案:
    保存到支持透明压缩的文件系统里,比如 btrfs ,不仅支持快照,也支持方便的备份
    然后文件是可以天然支持根据日期分区的
    最后,直接用 warp 等 ai 终端帮你查找想要的内容,都不用自己拼 grep 或写脚本分析了
    guyueyiren
        92
    guyueyiren  
       11 天前
    @ETiV #20 感觉是邪修,从未想过如此办法,哈哈
    lichon
        94
    lichon  
       11 天前
    signoz clickhouse 存储 支持 S3 fallback
    RicardoY
        95
    RicardoY  
       10 天前
    没有审计需求留一年干嘛,一个月足够了(大多数是 7 天)
    nicoljiang
        96
    nicoljiang  
    PRO
       10 天前
    @linhrdom #69 兄弟是会做推广的。
    z12cryoto
        97
    z12cryoto  
       9 天前
    可以试试 web3.storage
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6436 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:47 · PVG 10:47 · LAX 19:47 · JFK 22:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.