logo NodeSeekbeta

阿里云 CDT 怎么感觉流量不对

1234
  • @Lynnwww #30 给你看看我的可以参考,然后放到crontab里每分钟跑一次。
    不过要注意,vnstat是从安装开始后才开始计时的

    #!/bin/bash
    
    # 设置网卡名称
    INTERFACE="eth0"
    
    # 设置流量限制(单位:GB)
    LIMIT=180
    
    # 获取当前月份的索引
    MONTH_INDEX=$(vnstat -i $INTERFACE --json | jq '.interfaces[0].traffic.month | length - 1')
    
    # 获取当月流量数据(单位:KB)
    TX=$(vnstat -i $INTERFACE --json | jq --argjson idx "$MONTH_INDEX" '.interfaces[0].traffic.month[$idx].tx')
    RX=$(vnstat -i $INTERFACE --json | jq --argjson idx "$MONTH_INDEX" '.interfaces[0].traffic.month[$idx].rx')
    
    # 计算总流量(单位:GB)
    GB1=$(echo "scale=2; $TX / 1024 / 1024 / 1024" | bc)
    GB2=$(echo "scale=2; $RX / 1024 / 1024 / 1024" | bc)
    GB1=$(printf "%.2f" $GB1)
    GB2=$(printf "%.2f" $GB2)
    echo "Total traffic out: $GB1 GB"
    echo "Total traffic in: $GB2 GB"
    
    # 比较并选择较大的流量值 共享带宽
    if (( $(echo "$GB2 > $GB1" | bc -l) )); then
      GB=$GB2
    else
      GB=$GB1
    fi
    
    # 选择出流量,eip。
    #GB=$GB1
    
    echo "CBWP traffic: $GB GB"
    #echo "EIP traffic: $GB GB"
    
    # 检查是否超过流量限制
    if (( $(echo "$GB >= $LIMIT" | bc -l) )); then
      echo "Traffic limit exceeded. Disabling network interface."
      ip link set $INTERFACE down
    fi
    
  • @陌生人 #31 这种本地的方式可以随时查询使用量吗

  • @qq82348074 #32 是的,而且用vnstat等,它是默认5分钟检统计一次,当然,你甚至可以改成1秒。它的数据与cdt api基本一致,但api就是时延太大。

    root@cdt:~# checkcdt.sh
    Total traffic out: 18.16 GB
    Total traffic in: 18.14 GB
    EIP traffic: 18.16 GB

  • @陌生人 #33 我也觉得延时大 不好用 看了你的发言 正在研究手动vnstat脚本的方式 感谢

  • 和统计没关系 既然自己不怎么用 就是可能是流量被偷了 看看是不是CFCDN的域名。。。

1234

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有71808位seeker

🎉欢迎新用户🎉