[分享] SCP:我用一 Binary (APE) 透 WebRTC 端 Nginx Log 串流到本地 GoAccess (零依) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
bear330
V2EX    分享创造

[分享] SCP:我用一 Binary (APE) 透 WebRTC 端 Nginx Log 串流到本地 GoAccess (零依)

  •  
  •   bear330 1 月 17 日 880 次点击

    大家好,之前有在版上介绍过我自己写的 CLI 传档工具 ffl 上一篇传送门

    这阵子在维运时遇到一个痛点:「想分析 Production 容器里的 Nginx Log ,但不想在 Server 上装 GoAccess ,也不想把几百 MB 的 Log 载回来占空间。」

    通常大家会用 scp 下载,或者搞复杂的 SSH Tunnel 。但我个人还是感觉有点麻烦,尤其是档案在 Container 内 或属于 Root 权限 时,SFTP/SCP 很难直接一把抓出来。

    于是就有了这个玩法的 Demo 。

    实际效果 (Log 串流分析)

    Demo (影片示范的是将远端 160MB 的 Log 直接串流到本地 GoAccess 进行即时分析)

    这个方案解决了什么?

    1. Server 端零洁癖 (Zero Dependencies) 因为是用 APE 封装,不用装 Python 、不用装 Node ,甚至不用管 OS 版本( Alpine/Debian/CentOS/x86/ARM 通吃)。直接 curl 下来就能跑,跑完就删,不弄脏环境。

    2. 即时且节省空间 资料不落地。流程变成:Remote Stream -> Local Pipe ,流量走完就结束了,不会占用本地硬碟。当然你想存下来也可以,连结丢进浏览器下载走的是 WebRTC P2P ,速度也是非常快。

    3. 穿透内网 如果你的 Server 在层层 NAT 后面,或者你只是想把 Log 分享给没有 SSH 权限的同事看,这个连结丢给他,浏览器打开也能收(会走 P2P 传输)。

    怎么做到的?

    1. 远端 (Producer): 把 Log 吐出来,Pipe 给 ffl:

    # 下载 (APE 格式,单一 binary) curl -fL [https://fastfilelink.com/ffl.com]( https://fastfilelink.com/ffl.com) -o ffl.com && chmod +x ffl.com # 把档案变连结 (资料夹也可) ./ffl.com /var/log/nginx/access.log 

    2. 本地 (Consumer): 拿到连结后,用 curl 接住并喂给 GoAccess:

    curl -sN [LINK] | goaccess - --log-format=COMBINED 

    专案地址

    如果你也是 CLI / APE 爱好者,欢迎来 GitHub 看看,也欢迎 Star 或 PR ! https://github.com/nuwainfo/ffl

    目前正在尝试更多 stdin 的玩法(例如 mysqldump 异地备份),有什么脑洞大开的用法也欢迎交流!

    3 条回复    2026-01-19 04:37:41 +08:00
    Need4more
        1
    Need4more  
       1 月 18 日
    好奇怪的表达, [档案] 是文件的意思吗?
    bear330
        2
    bear330  
    OP
       1 月 18 日
    真是不好意思, 其我是台人, 我都案, 我下次注意要文件 :) 提醒
    ztm0929
        3
    ztm0929  
       1 月 19 日
    @bear330 其实没啥,港澳台、东南亚和大陆的中文本来就有点差异,按自己语言习惯来就好~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4901 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 02:36 PVG 10:36 LAX 18:36 JFK 21:36
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86