V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
superbai
V2EX  ›  程序员

容器化环境中有什么办法可以把日志文件同步到其他存储介质上?

  •  
  •   superbai · Jul 11, 2022 · 2564 views
    This topic created in 1386 days ago, the information mentioned may be changed or developed.

    Java 服务,部署在一个容器化环境中,容器镜像是部署平台构建好的,使用方只能丢一个 jar 包上去按照平台预设的命令启动(这个命令可以进行调整),有什么办法可以自动化把日志文件或者日志内容传输到其他的存储介质上吗?比如对象存储等等

    THESDZ
        1
    THESDZ  
       Jul 11, 2022
    容器-v 可以吗?不可以的话,日志的框架能支持其他输出源吗?
    ryanbuu
        2
    ryanbuu  
       Jul 11, 2022 via iPhone
    log4j + customappender 呢…
    superbai
        3
    superbai  
    OP
       Jul 11, 2022
    @THESDZ #1 容器自身上面什么都改不了。日志框架是 log4j ,刚才搜了下也没搜到有用的
    superbai
        4
    superbai  
    OP
       Jul 11, 2022
    @q1angch0u #2 感谢,我去瞅瞅
    mimzy
        5
    mimzy  
       Jul 11, 2022
    我理解理想状态是平台支持用 sidecar 采集日志,业务不必操心这些。
    superbai
        6
    superbai  
    OP
       Jul 11, 2022
    @mimzy #5 是啊,这样最好了。现在是平台有些问题不好解决,就想看看从使用方能不能解决下这个问题
    cslive
        7
    cslive  
       Jul 11, 2022
    log4j 不是支持将日志文件存在指定目录下吗
    superbai
        8
    superbai  
    OP
       Jul 11, 2022
    @cslive #7 嗯,不是要存储指定目录,是要转存到非容器的存储介质上
    my3157
        9
    my3157  
       Jul 11, 2022 via Android
    loki 了解下
    joesonw
        11
    joesonw  
       Jul 11, 2022 via iPhone
    都上容器了,打 stdout 啊。在宿主机上采集处理。
    S2Line
        12
    S2Line  
       Jul 11, 2022 via iPhone
    挂载到宿主机上,然后转存到目的存储介质
    superbai
        13
    superbai  
    OP
       Jul 11, 2022
    @my3157 #9 感谢,我看看
    superbai
        14
    superbai  
    OP
       Jul 11, 2022
    @XiLingHost #10 感谢分享,我看看能不能用
    superbai
        15
    superbai  
    OP
       Jul 11, 2022
    @joesonw #11
    @S2Line #12 宿主机做不了任何改动。就是整个容器化部署平台不是我们的,所以没办法改各种配置等等,推动升级也比较费力
    ccde8259
        16
    ccde8259  
       Jul 12, 2022 via iPhone
    Pod 里面多个 filebeat 容器,推到 ES 上
    potatowish
        17
    potatowish  
       Jul 12, 2022 via iPhone
    logstash 应该可以
    zr8657
        18
    zr8657  
       Jul 12, 2022
    我之前遇到过这种情况,建议不用搞。后面平台方自己会加上类似 loki 这种日志功能的,你现在搞了也是白干活
    photon006
        19
    photon006  
       Jul 12, 2022
    宿主机 elk 采集
    tramm
        20
    tramm  
       Jul 12, 2022
    用推送日志的插件啥的, 比如我们有个服务就是直接发送到 logstash...
    yimiaoxiehou
        21
    yimiaoxiehou  
       Jul 12, 2022
    filebeat 直接监听整个 docker 的 私有 log ,然后 推倒 kafka 然后 在 logback + es ,或者是 直接到自己的日志系统
    defunct9
        22
    defunct9  
       Jul 12, 2022
    部署平台不是自己的话。基本从 k8s 层面上不可搞。S3 Log4j Appender 是正解。
    yimiaoxiehou
        23
    yimiaoxiehou  
       Jul 12, 2022
    类似这个 路径 cat /data/docker/containers/27323ca9ba78a4dc781a4ce19a4478cbc372288193dd0f75117742bbc8e96aa7/27323ca9ba78a4dc781a4ce19a4478cbc372288193dd0f75117742bbc8e96aa7-json.log


    /data/docker 是我的 docker-dir 默认应该是
    nilai
        24
    nilai  
       Jul 12, 2022
    增加 skywalking 的 sidecar 0 代码侵入,全链路监控搞得明明白白的。
    litchinn
        25
    litchinn  
       Jul 12, 2022
    部署的机器一点都不能动的话,好像只有 10 楼说的 appendor 这种方式了,不然像 promtail 什么的都可以采集,docker 还有 loki 的插件。
    frank1256
        26
    frank1256  
       Jul 12, 2022
    fileBeat ,就够了
    liuliangyz
        27
    liuliangyz  
       Jul 12, 2022
    容器-v 指向实体路径
    superbai
        28
    superbai  
    OP
       Jul 12, 2022
    @zr8657 #18 没办法,现在有平台有急需的功能不支持,只能自己动手先凑合用下了
    superbai
        29
    superbai  
    OP
       Jul 12, 2022
    @defunct9 #22
    @litchinn #25 嗯嗯,感谢,我试试
    superbai
        30
    superbai  
    OP
       Jul 12, 2022
    @ccde8259 #16
    @potatowish #17
    @photon006 #19
    @tramm #20
    @yimiaoxiehou #21
    @yimiaoxiehou #23
    @nilai #24
    @frank1256 #26
    @liuliangyz #27 感谢大家~容器、镜像、平台都无法改动,只能从程序自身入手了~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3738 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 05:02 · PVG 13:02 · LAX 22:02 · JFK 01:02
    ♥ Do have faith in what you're doing.