全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1139|回复: 9

阿里云国际轻量流量监控 关机 php

[复制链接]
发表于 2023-11-4 18:01:18 | 显示全部楼层 |阅读模式
本帖最后由 usbport 于 2023-11-4 20:05 编辑

原贴:https://hostloc.com/thread-677140-1-1.html

MJJ那个不适合轻量用,因为API不一样,网上搜了一下也没有,干脆就自己动手了。根据原贴MJJ那个改的,改动的代码很拉胯,毕竟我这水平算个1+1都得搜一下了,发出来也只是给需要的MJJ参考参考,毕竟比原本完全没法用强一点。

实例ID是数组,查询基本会返回全部,返回是实例ID+剩余流量。这个脚本只适合只有一台服务器的,如果多台就需要更改查询返回的流量判断,关机的API是批量的,另外还有一个不是批量关机的可以看官方API。

好像还有一种是在小鸡装流量监控脚本的,看到有AWS的,不过我没去捣鼓。

网上随便找了个在线代码

https://paste.org.cn/njdQbADHiC

不过实际上阿里云流量统计刷新的时间应该在一个小时(反正我每次看基本都不带变的,估计差不多这个时间吧),感觉小鸡直接装流量监控会更好一些,30M一个小时也能刷掉不少了。
发表于 2023-11-5 06:38:05 | 显示全部楼层
官方的轻量自带流量提醒和超流量关机 何必自己造轮子?
发表于 2023-11-4 18:03:03 | 显示全部楼层
本帖最后由 萌十七 于 2023-11-4 18:05 编辑

https://telegra.ph/%E9%98%BF%E9%87%8C%E4%BA%91%E5%9B%BD%E9%99%85%E8%BD%BB%E9%87%8F%E6%B5%81%E9%87%8F%E7%9B%91%E6%8E%A7-%E5%85%B3%E6%9C%BA-php-11-04

给你拷贝到telegra.ph了
发表于 2023-11-4 18:08:23 | 显示全部楼层
用gpt改成go什么的吧,装php环境也怪烦人的
 楼主| 发表于 2023-11-4 18:09:41 | 显示全部楼层
icon 发表于 2023-11-4 18:08
用gpt改成go什么的吧,装php环境也怪烦人的

php我还稍微会看的,其它就真不行了,就这改也还是大部分是原本MJJ的代码,就改了API地址 请求啥的
发表于 2023-11-4 18:16:17 | 显示全部楼层
usbport 发表于 2023-11-4 18:09
php我还稍微会看的,其它就真不行了,就这改也还是大部分是原本MJJ的代码,就改了API地址 请求啥的 ...


gpt写的  
package main

import (
        "fmt"
        "time"
        "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
        "github.com/aliyun/alibaba-cloud-sdk-go/services/ecs"
)

func main() {
        // 设置您的阿里云访问密钥 ID 和密钥 Secret
        accessKeyID := "your_access_key_id"
        accessKeySecret := "your_access_key_secret"

        // 创建 ECS 客户端
        client, err := ecs.NewClientWithAccessKey("cn-hangzhou", accessKeyID, accessKeySecret)
        if err != nil {
                fmt.Println("Error creating ECS client:", err)
                return
        }

        // 设置请求参数
        instanceID := "your_instance_id"
        maxTrafficThreshold := 100000000 // 设置流量阈值,单位为Byte,此处设置为100MB

        // 定期检查网络流量
        for {
                // 获取当前网络流量信息
                request := ecs.CreateDescribeInstanceMonitorDataRequest()
                request.InstanceId = instanceID
                request.Period = "60" // 设置时间间隔,单位为秒,此处设置为1分钟
                response, err := client.DescribeInstanceMonitorData(request)
                if err != nil {
                        fmt.Println("Error calling DescribeInstanceMonitorData:", err)
                        return
                }

                // 计算当前的总网络流量
                totalTraffic := int64(0)
                for _, dataPoint := range response.MonitorData {
                        totalTraffic += dataPoint.IntranetRX + dataPoint.IntranetTX
                }

                // 判断是否超过流量阈值
                if totalTraffic > int64(maxTrafficThreshold) {
                        fmt.Printf("网络流量超过阈值:%d Byte,正在关机...\n", totalTraffic)

                        // 关机实例
                        stopRequest := ecs.CreateStopInstanceRequest()
                        stopRequest.InstanceId = instanceID
                        _, err := client.StopInstance(stopRequest)
                        if err != nil {
                                fmt.Println("Error stopping instance:", err)
                                return
                        }
                        break
                }

                // 每隔一段时间检查一次,例如,每分钟检查一次
                time.Sleep(60 * time.Second)
        }
}
 楼主| 发表于 2023-11-4 18:23:44 | 显示全部楼层
icon 发表于 2023-11-4 18:16
gpt写的  
package main

可以可以 很稳
 楼主| 发表于 2023-11-5 08:24:02 | 显示全部楼层
xu81709752 发表于 2023-11-5 06:38
官方的轻量自带流量提醒和超流量关机 何必自己造轮子?

在哪设置?我记得没有吧,那得欠费不少才会自动关
发表于 2023-11-5 15:06:37 | 显示全部楼层
usbport 发表于 2023-11-5 08:24
在哪设置?我记得没有吧,那得欠费不少才会自动关


30M的口子跑一小时,最多欠费10来块就停机了
 楼主| 发表于 2023-11-5 17:45:41 | 显示全部楼层
本帖最后由 usbport 于 2023-11-5 17:56 编辑
柳寒城 发表于 2023-11-5 15:06
30M的口子跑一小时,最多欠费10来块就停机了


我看论坛有MJJ被薅了90多刀,以前我也有过一台跑超150多GB的,这就应该不止一个小时了。不过也是上一年的事情了,现在就不知道是不是了,这个感觉就得问客服了。不过我看说超流量停机那老哥是专业搞阿里云的,有可能现在就真是跑超就停吧,反正我是不敢试了,超出的流量都能顶多少台小鸡了。

翻到个官方说明,看了下更新日期,应该是新更新的了,那挺好,就是要确保默认支付不能留钱了吧。
“按量付费流量每一个小时整点结算一次费用,您需要确保账户默认支付方式能够结清费用,否则账户将会被判定为欠费,并且阿里云会提醒或通知您。建议您及时结清账单,避免因资源停机或释放而影响业务。”
https://www.alibabacloud.com/help/zh/simple-application-server/product-overview/expiration-and-overdue-payments
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-12-9 06:55 , Processed in 0.077680 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表