logo
1
0
Login
ForkfromBring/Tools/EdgeoneCount, ahead:main2 commits
chore: 更新密钥导入路径及微信机器人密钥变量名

EdgeoneCount

Python 脚本,用于调用腾讯云 EdgeOne (TEO) 的 DescribeTopL7AnalysisData 接口,统计指定域名在最近 24 小时(或自定义时间范围)内的 L7 流量与请求 Top URL,并生成 Markdown v2 兼容的表格,可同步推送到企业微信机器人。

  • 统计维度:域名总出流量、URL 出流量 Top、域名总请求数、URL 请求数 Top。
  • 输出方式:控制台打印 Markdown v2 文本,可选通过企业微信机器人 Webhook 推送。
  • 支持以环境变量或命令行参数方式配置 TEO 凭证、Zone 信息等。

环境要求

  • Python 3.8+
  • 依赖包见 requirements.txt
    pip install -r requirements.txt

快速开始

  1. 准备腾讯云密钥及 EdgeOne Zone 信息。必须拥有调用 DescribeTopL7AnalysisData 的权限。
  2. 可选:将凭证及常用配置写入环境变量,便于重复调用。
  3. 执行脚本:
python main.py \ --domain example.com \ --secret-id $TENCENT_SECRET_ID \ --secret-key $TENCENT_SECRET_KEY \ --region ap-guangzhou \ --zone-id zone-xxxxxxx

默认统计北京时间最近 24 小时的数据,并在终端输出两段 Markdown v2 表格:

  1. 域名总流量与 URL 出流量 Top
  2. 域名总请求与 URL 请求数 Top

若追加 --wecom-key <机器人key>,脚本会向企业微信机器人发送同样的内容。

命令行参数

参数说明
--domain必填。 需要统计的域名。
--secret-id / --secret-key / --token腾讯云 API 凭证,若为空则尝试读取环境变量。临时密钥需同时提供 --token
--regionTEO 客户端区域,默认为空(使用公共域名访问)。
--zone-idEdgeOne Zone ID,可留空。为空时按账号所有 Zone 汇总。
--start / --end数据时间窗口,ISO8601 格式(例:2024-06-01T00:00:00+08:00)。留空则统计最近 24 小时。
--topkTop URL 数量,默认 10。
--wecom-key企业微信机器人 key,若提供会自动推送。

环境变量(可选)

环境变量对应参数
TENCENT_SECRET_ID--secret-id
TENCENT_SECRET_KEY--secret-key
TENCENT_TOKEN--token
TENCENT_REGION--region
TEO_ZONE_ID--zone-id
WECOM_WEBHOOK_KEY--wecom-key

设置环境变量后无需在命令中重复传参,仍可通过命令行覆盖。

输出与异常处理

  • 正常情况下会在标准输出打印两段 Markdown v2 文本,显示域名、统计时间、总量及 Top URL 列表。
  • 当调用 API 失败时(例如权限不足、凭证错误),会捕获 TencentCloudSDKException,并输出 "内容违规" 的 Markdown v2 占位消息。

开发与扩展

  • 所有业务逻辑集中在 main.py,如需扩展统计维度,可参考 build_flux_message_tablebuild_requests_message_table 的实现。
  • 如需集成到其他通知渠道,可复用 payload_flux / payload_reqs 中的 Markdown v2 文本或基于字典结构自行处理。

About

No description, topics, or website provided.
Language
Python100%