☰
Miasma指标监控指南:SQLite面板追踪每个AI爬虫吃了多少毒
2026/10/14 15:36:14 网站建设 项目流程

【免费下载链接】miasma

Trap AI web scrapers in an endless poison pit.

项目地址:https://gitcode.com/gh_mirrors/miasm/miasma
点击查看免费下载

Miasma 是一款反 AI 爬虫的"毒饵"服务器,而它的指标监控功能让你能像看仪表盘一样,追踪每个 AI 爬虫吃了多少毒。开启后,Miasma 会把每个 User-Agent 的请求数、毒药字节数持续写入本地SQLite 数据库,并通过一个带 Basic Auth 的网页面板展示——谁在你的站点上爬得最凶、吃掉了多少被污染的训练数据,一目了然 📊。

指标监控能告诉你什么?

Miasma 的指标面板按User-Agent(爬虫身份)聚合统计三类核心数据:

指标含义
Request Count该爬虫发出的请求总数
Poison Consumed该爬虫"吃掉"的毒药数据量(未压缩)
Total Data Consumed发送给该爬虫的全部数据量(未压缩)

数据按请求数从高到低排序,每页展示 50 条,支持分页翻页。想一眼认出"头号毒王"?排第一的那行就是了。

一键开启步骤:只需配置4个参数

指标功能默认关闭,需要同时提供以下 4 个参数(缺一不可):

参数说明示例
--metrics-db-pathSQLite 数据库文件路径miasma.db
--metrics-username面板 Basic Auth 用户名admin
--metrics-password面板 Basic Auth 密码change-me
--metrics-endpoint面板访问路径(默认/metrics)/metrics

启动命令示例:

miasma --link-prefix '/naughty-bots' -p 9855 \ --metrics-db-path miasma.db \ --metrics-username admin \ --metrics-password change-me \ --metrics-endpoint /request-metrics

启动成功后,Miasma 会在日志里直接告诉你面板地址和数据库位置,方便核对。Docker 部署时只需传入同样的参数即可。

不喜欢命令行?Miasma 支持 YAML / TOML / JSON 配置文件,在metrics段落下填写相同字段即可,官方示例见 config.yaml:

metrics: db_path: miasma.db username: admin password: change-me endpoint: /request-metrics

如何查看与使用监控面板

  1. 用浏览器访问http://<你的域名>/request-metrics(即你设置的 endpoint);
  2. 输入 Basic Auth 用户名和密码;
  3. 查看排行榜:第一列 User-Agent 是爬虫身份,后面三列依次是请求数、毒药消耗、总数据消耗。

没有携带正确凭证的请求会被直接拒绝(401),认证逻辑见 src/metrics/page.rs。面板页面由 HTML 流式渲染生成,样式来自 src/metrics/metrics.css。

爬虫一边啃毒一边被记录,日志里就是这么热闹的:

数据是怎么写入 SQLite 的?

理解实现原理能帮你更好用这个功能(源码都在 src/metrics/ 模块里):

  • 内存计数 + 批量落盘:请求计数先在内存中累加,每攒满 1000 条就交给后台线程异步写入 SQLite,不会阻塞爬虫响应流程,见 metrics_counter.rs;
  • 自动建表与迁移:数据库文件不存在会自动创建,旧版本库会自动升级表结构(user_agents表包含agent、request_count、poison_bytes_sent、total_bytes_sent四列),迁移逻辑见 migrations.rs;
  • 优雅持久化:Miasma 退出时会把内存中剩余的计数同步刷盘,数据不丢;
  • 防注入小细节:User-Agent 会截断到 1024 字符,页面展示时还会做 HTML 转义,防止爬虫用"带脚本的 UA"搞事情。

新手使用小贴士

  • 🔒面板地址尽量保密:虽然面板有 Basic Auth 保护,但--metrics-endpoint是公开可访问的 HTTP 路径,别把它挂在主站显眼位置;
  • 🤖保护正常搜索引擎:在robots.txt中禁止爬虫进入毒饵路径(如Disallow: /naughty-bots),指标面板帮你验证是否只有"不听话的"爬虫中招;
  • 📈数据库会持续膨胀:miasma.db按 User-Agent 聚合,条目数 = 见过的爬虫种类数,通常很小;如需归零统计,直接换一个新的 db 文件路径即可;
  • ⚙️ 完整参数说明请参考 README.md 中的 Configuration 章节。

部署完成后,每次看到排行榜上的数字跳动,就意味着又有一只 AI 爬虫在毒坑里多走了一圈。祝捕猎愉快 🌀

【免费下载链接】miasma

Trap AI web scrapers in an endless poison pit.

项目地址:https://gitcode.com/gh_mirrors/miasm/miasma
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询