V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhoudaiyu
V2EX  ›  程序员

领导让搞出来阿里公众号发的一个叫 Socket Tracer 的网段监控组件

  •  
  •   zhoudaiyu · 2021-08-03 09:28:56 +08:00 · 5747 次点击
    这是一个创建于 995 天前的主题,其中的信息可能已经有所发展或是发生改变。

    发发牢骚。公众号 URL: https://mp.weixin.qq.com/s/0w5t_KkHRLXkEY1_qbdTtw,其实就是用 eBPF 实时记录每个虚机 /容器上的一些网络监控指标,但是有几个问题。第一:这个东西压根就不开源,难道我们自己从头做一个吗?第二:我们内核是 3.10 的,如果想用 BPF 怎么也得是 4.4 的内核(公众号说的)。第三:感觉组内实力达不到能做出这种东西。第四:感觉现在根本没有人关注网络层面的问题,排查问题就会 ping 和 telnet,根本不会考虑别的指标。

    26 条回复    2021-08-04 09:01:00 +08:00
    CallMeReznov
        1
    CallMeReznov  
       2021-08-03 09:38:44 +08:00
    领导:我没钱,但我要这个,我不听,我必须要这个!

    虚拟机监控上 zabbix 不就完了嘛..
    ChevalierLxc
        2
    ChevalierLxc  
       2021-08-03 09:42:16 +08:00
    从你们公司感觉,ping 和 telnet 就够用了。。
    firemiles
        3
    firemiles  
       2021-08-03 09:42:17 +08:00
    推荐一个开源工具可以试试,虽然也要求 4.14 https://github.com/cloudflare/ebpf_exporter
    nuk
        4
    nuk  
       2021-08-03 09:48:29 +08:00
    3.10 支持 kprobe 的,原理类似,你用 systemtap 或者 ktap 也是一样的
    salmon5
        5
    salmon5  
       2021-08-03 10:11:46 +08:00
    这玩意公有云厂商有用(协助客户分析问题,扯皮的时候用),一般的公司没什么用
    zhs227
        6
    zhs227  
       2021-08-03 10:19:16 +08:00
    一般没太大用处,另外这个 kernel 是真的要升级。
    cubecube
        7
    cubecube  
       2021-08-03 10:25:51 +08:00
    @zhs227 一看就是 centos7,不是 cto,一般没办法让公司升级
    liuxu
        8
    liuxu  
       2021-08-03 10:26:53 +08:00   ❤️ 1
    3.10 ,一看就是 centos,赶紧切 debian10 保平安
    ivyliner
        9
    ivyliner  
       2021-08-03 10:31:09 +08:00
    一直挺关注 eBPF 的.
    看了你发的公众号, 阿里选择 BCC 并不是特别 hardcore, 监控 daemon 调用一堆 python, 并不是特别优雅. 其实难度不是很大. 你说的不开源的话, 其实不是很能成立.
    1. BCC 是开源的, 里面的网络相关的指标其实已经有很多工具, 大部分是 Python + C 改改就好了.
    具体代码可以看看 https://github.com/iovisor/bcc/tree/master/tools 下面的 tcplife, tcpstate, tcprtt 等大概明白怎么做的. 另外文章说的 ss 也是开源的, 用心肯定能找到.
    2. 内核版本确实是个问题, 这个可以和领导沟通一下, 看看他的想法, 如果业务没有动力升级内核的话, 那么可能要改变技术方案, 采用 kernel module 等.
    3. 不要妄自菲薄, 大公司做的东西难度并不是高不可攀, 很多时候是因为业务迫使大公司要去解决 XXX 问题. 如果在小公司的心态是我们的业务很小, XXX 不重要, 那么自己其实挺难提高的.
    4. 网络层面的问题, 只能说你遇到的问题少, 排查问题就只会 ping 和 telnent 那是你自己会, 不代表别人不会 wireshark, bcc 等工具.
    swulling
        10
    swulling  
       2021-08-03 10:31:26 +08:00
    1. Kernel 不升是绝对做不到的。
    2. 这个东西的难度不算太高,但是也不低,对网络以及 eBPF 有深入的了解才行。
    agassi_yzh
        11
    agassi_yzh  
       2021-08-03 10:31:30 +08:00
    领导其实是找个借口把你干走?
    Jface
        12
    Jface  
       2021-08-03 11:41:16 +08:00
    这个需求得加钱,加入, 加时间
    不加 ? 那做不了(摊手)
    zhoudaiyu
        13
    zhoudaiyu  
    OP
       2021-08-03 12:05:54 +08:00 via iPhone
    @CallMeReznov 其实我们有 Falcon,但是上了容器以后不好使了,只能依赖 node-exporter
    @ChevalierLxc 我还会用 ss tcpdump nc dropwatch 啥的…不过也就这样了
    zhoudaiyu
        14
    zhoudaiyu  
    OP
       2021-08-03 12:13:18 +08:00 via iPhone
    @firemiles 内核硬伤,可能得用 systap 之类的
    @nuk 是的,但是开发起来有些困难
    @salmon5 阿里的公众号也是这么说的
    @zhs227 可能以后不想背锅了(从来没有想过
    @cubecube 准确来讲 rhel7
    @liuxu 估计我们部门老大说都不行,动作太大了,收益却没那么大,反正业务能跑
    @ivyliner 首先,谢谢大佬提供的项目!第二,确实不能用 bpf 方案。第三,我觉得小厂程序员都有这种想法吧?第四,我在用 wireshark nc dropwatch 等等工具,但是其他人好像比较爱用那俩
    @swulling 内核是不可能升级的。我身为运维,但是对网络不熟悉,说起来都惭愧
    @agassi_yzh 那倒没有,还是想先看看能不能找现成的东西
    @Jface 啥都没有,用爱发电
    janxin
        15
    janxin  
       2021-08-03 14:14:18 +08:00 via iPhone
    老板是要个样子,底层技术老板懂吗?
    zhoudaiyu
        16
    zhoudaiyu  
    OP
       2021-08-03 14:21:44 +08:00
    @janxin 懂啥啊,他早就不搞技术了,纯管理
    janxin
        17
    janxin  
       2021-08-03 14:34:09 +08:00
    @zhoudaiyu 额,我这是个陈述的意思
    zhoudaiyu
        18
    zhoudaiyu  
    OP
       2021-08-03 15:04:59 +08:00
    @janxin 我也是吐槽的意思 😹
    offswitch
        19
    offswitch  
       2021-08-03 16:08:12 +08:00
    刚刚看了一下公众号上这篇文章,说是过段时间就要开源
    tankren
        20
    tankren  
       2021-08-03 16:18:04 +08:00
    口头立项可还行 商业论证都不需要
    pengtdyd
        21
    pengtdyd  
       2021-08-03 18:04:11 +08:00
    最怕这种自己不懂,还觉得自己懂的老板
    levelworm
        22
    levelworm  
       2021-08-03 18:42:29 +08:00
    硬 hack 一个样子货,不知道技术上行不行?
    kekxv
        23
    kekxv  
       2021-08-03 20:07:36 +08:00 via iPhone
    其实,是不是想复杂了,他只是想要知道服务器有没有掉线(其他的他也不关心🐶),直接定时 curl 指定 url 记录时间,超过就发送微信通知🐶
    zhoudaiyu
        24
    zhoudaiyu  
    OP
       2021-08-03 20:30:06 +08:00 via iPhone
    @offswitch 咦,没看到
    @tankren 直接怼上去就完了
    @pengtdyd 可不么,瞎指挥
    @levelworm 估计也可以,功能覆盖就可以了
    @kekxv 那直接 blackbox-exporter 啊
    hasdream
        25
    hasdream  
       2021-08-04 08:47:53 +08:00
    bcc-tools rhel7 也是可以用的 但是一些高级特性就用不了。 基本的 memleak tcpstate tcplife 都是可以用
    offswitch
        26
    offswitch  
       2021-08-04 09:01:00 +08:00
    @zhoudaiyu 阿里技术下有一个叫豆包说的,内部已经开源,渡过孵化期之后会在公网开源。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4421 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 10:13 · PVG 18:13 · LAX 03:13 · JFK 06:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.