You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何监控Amazon EC2 t4g.small实例的网络突发信用余额(Network Burst Credit Balance)?

如何监控Amazon EC2 t4g.small实例的网络突发信用余额(Network Burst Credit Balance)?

嗨,我来帮你搞定这个问题!正如你了解的那样,T系列实例启动时会获得最大额度的网络I/O信用,信用耗尽后就会降到基准带宽,平时用低于基准带宽的时候还能积累信用,但确实CloudWatch默认指标里只提供了CPU和EBS的CreditBalance,看不到网络的,这是很多T系列用户都会遇到的小坑。

下面给你几种可行的监控方法:

  • 通过EC2实例元数据实时查询
    这是获取当前网络信用余额最直接的方式,你只需要在你的t4g.small实例内部执行几条简单的命令就行:

    1. 先获取实例的网卡MAC地址:
      curl http://169.254.169.254/latest/meta-data/network/interfaces/macs/
    2. 用上一步得到的MAC地址替换下面命令里的[你的网卡MAC地址],就能查到当前的网络突发信用余额了:
      curl http://169.254.169.254/latest/meta-data/network/interfaces/macs/[你的网卡MAC地址]/burst-credit-balance
  • 推送到CloudWatch自定义指标长期监控
    如果你想持续追踪这个余额的变化,而不是每次手动查,可以写个简单的Shell脚本(Linux实例),定期调用上面的元数据命令获取数值,然后用AWS CLI把数据推送到CloudWatch的自定义指标里。这样你就能在CloudWatch控制台里创建专属仪表盘,像监控CPU信用余额那样,随时查看网络信用的消耗和积累情况了。

  • 为啥CloudWatch默认看不到这个指标?
    目前AWS并没有把网络突发信用余额设为CloudWatch的默认发布指标,只有CPU和EBS的信用余额是默认提供的,这就是你之前在CloudWatch里只看到那两项的原因。

另外,针对你遇到的网络超时问题,给你个小提示:当网络信用耗尽后,你的t4g.small实例网络带宽会降到0.25 Gbps的基准值(平时突发最高能到10 Gbps),如果你的服务此时需要更高的带宽,就容易出现超时情况,所以监控信用余额刚好能帮你提前预判这类问题。

备注:内容来源于stack exchange,提问作者dmchmk

火山引擎 最新活动