本工具可用于自动检测指定帐号和区域下的腾讯云轻量应用服务器的流量包使用情况。 根据设置,当某个轻量应用服务器的流量包使用率达到一定值时,可以告警、自动关闭轻量应用服务器。
-
API帐号
- lighthouse:DescribeInstances 用于读取轻量云实例信息
- lighthouse:DescribeInstancesTrafficPackages 用于读取轻量云流量包信息
- lighthouse:StopInstances 用于自动关机(如果不需要自动关机功能,可以不授予此项权限,见下面的配置说明)
-
配置文件 首先要准备一个 yaml 配置文件,格式如下:
notify_method: sct # 使用 sct 渠道进行通知 sct_key: SCT63835...RhMSG # 从 sct.ftqq.com 获取的 sendkey 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(企业微信群机器人)、notifyx(NotifyX)、telegram(Telegram机器人),四选一- 根据
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,没有可留空
- notifyx: (https://www.notifyx.cn)
notify_method: notifyx notifyx_key: YOUR_NOTIFYX_KEY # NotifyX 的推送 Key(必填,到 https://www.notifyx.cn 注册获取) notifyx_team: YOUR_TEAM # NotifyX 推送目标团队(可选,留空则推送到默认团队)
- telegram:
notify_method: telegram telegram_bot_token: 123456:ABC-DEF... # Telegram 机器人的 Bot Token(通过 @BotFather 创建) telegram_user_id: "987654321" # 接收通知的 Telegram 用户 ID(可通过 @userinfobot 获取)
- 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 界面进行管理配置和查看流量使用历史记录