本工具可用于自动检测指定帐号和区域下的腾讯云轻量应用服务器的流量包使用情况。 根据设置,当某个轻量应用服务器的流量包使用率达到一定值时,可以告警、自动关闭轻量应用服务器。
-
API帐号
- lighthouse:DescribeInstances 用于读取轻量云实例信息
- lighthouse:DescribeInstancesTrafficPackages 用于读取轻量云流量包信息
- lighthouse:StopInstances 用于自动关机(如果不需要自动关机功能,可以不授予此项权限,见下面的配置说明)
-
配置文件 首先要准备一个 yaml 配置文件,格式如下:
notify_method: nextrt # 使用 nextrt 渠道进行通知 nextrt_type: email # NextRT 的推送使用 Email 方式 nextrt_token: 3413d...0ad1 # NextRT 的推送 Token(到 https://app.nextrt.com 注册) warn_rate: 0.75 # 报警通知的流量使用率,如果设为 0 表示不使用报警功能 shutdown_rate: 0.9 # 自动关机的流量使用率,如果设为 0 表示不使用自动关机功能 check_interval: 30 # 检查间隔,单位:秒 accounts: # 要检查的账户列表 - name: "账户一" # 账户名称 secret_id: "secret_id_1" # 该帐户的 secretId secret_key: "secret_key_1" # 该账户的 secretKey regions: [ "ap-hongkong", "ap-guangzhou" ] # 要监控的区域 - name: "账户二" # 账户名称 secret_id: "secret_id_2" # 该帐户的 secretId secret_key: "secret_key_2" # 该账户的 secretKey regions: [ "ap-guangzhou" ] # 要监控的区域
配置文件特别说明:
notify_method
目前可选的值有:sct(Server酱)、werobot(企业微信群机器人)、NextRT,三选一- 根据
notify_method
的不同,需要配置做对应的配置:- sct: (https://sct.ftqq.com/)
notify_method: sct sct_key: SCT63835...RhMSG # 从 sct.ftqq.com 获取的 sendkey
- werobot:
notify_method: werobot werobot_webhook: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=077...5f4 # 企业微信群机器人的 webhook 地址 werobot_chatid: # 企业微信群机器人推送通知的 chatid,没有可留空
- nextrt:
notify_method: nextrt nextrt_type: Telegram # NextRT 的推送类型:Email,Telegram,WorkWechat,Lark,Dingding,Android nextrt_token: 3413...0ad1 # NextRT 的推送 Token,从 https://app.nextrt.com/ 注册获取
- sct: (https://sct.ftqq.com/)
-
启动 Docker 容器:
docker run -itd --name lhmon -v ${yaml配置文件路径}:/etc/lhmon/conf.yml -v /etc/localtime:/etc/localtime kairee/lhmon:latest
如果担心日志文件大小,可以用
--log-opt max-size=5m --log-opt max-file=3
来指定(注意:仅限默认未配置 docker 日志参数的情况,如果你已全局配置,或者日志驱动不是json-file
,请根据自己的情况具体配置)。 -
或者使用 docker-compose:
version: "3" services: lhmon: image: kairee/lhmon:latest restart: unless-stopped volumes: - /etc/localtime:/etc/localtime - ${yaml配置文件路径}:/etc/lhmon/conf.yml logging: driver: "json-file" # 默认的日志驱动 options: max-size: "5m" # 单个日志文件最大尺寸 max-file: "5" # 最多保留日志文件数量
-
以上命令或配置中的
${yaml配置文件路径}
请自行替换为自己的路径
- 支持企业微信机器人直接推送通知到企业微信
- 提供 web 界面进行管理配置和查看流量使用历史记录