> For the complete documentation index, see [llms.txt](https://www.axisnow.io/zh/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.axisnow.io/zh/docs/edge/policies/rate-limiting/insight.md).

# 洞察与日志

速率控制的指标与 IP 封禁记录

速率控制的数据分两处看：规则列表页顶部的两张指标卡和每条规则的 24 小时趋势，用于日常巡检；洞察页的指标、图表和 IP 封禁记录，用于分析与排错；要看具体请求，从这两处的入口进入全局洞察的日志检索。

读数之前先分清两个口径：命中是请求匹配了规则条件、进入了计数；超限是这个 Key 的计数达到阈值、触发了动作。一条覆盖全站的兜底规则命中率可以接近 100%，而超限占比只有零点几，两者都正常。规则列表的指标卡统计的是超限数，规则表每行的 24 小时趋势是命中数，洞察页两者都有。下文里跳到的“日志检索”有两处：本插件洞察页底部的日志检索，和左侧导航里全局**洞察**模块的日志检索，后者下文称“全局洞察”。

## 规则列表上的指标 <a href="#rule-list" id="rule-list"></a>

页面顶部固定统计最近 24 小时，不随筛选变化：

<table data-search="false"><thead><tr><th width="200">指标</th><th>定义</th></tr></thead><tbody><tr><td>24 小时超限请求</td><td>四种动作处理的请求之和（阻断 + IP 封禁 + 观察 + 挑战），下方显示占总请求的百分比；四个分项分别列出。「阻断」「挑战」可点击，跳到[全局洞察](../../insight/log-explorer.md)的日志检索，按对应动作预筛选最近 24 小时。挑战分项按命中挑战动作统计，持有有效凭证被放行的请求也计入此数</td></tr><tr><td>其中实际发起</td><td>「挑战」分项下的小字：真正向客户端下发了验证页的请求数。「挑战」分项本身还包含已持有通过凭证、直接放行的请求，以及触发即封禁的请求</td></tr><tr><td>封禁中的 IP</td><td>此刻仍在封禁期内的 IP 数，分「规则封禁」（限速规则的 IP 封禁动作）和「挑战封禁」（挑战的自动封禁）。整卡可点击，跳到洞察页的 IP 封禁记录并只看封禁中的</td></tr></tbody></table>

规则表里每条规则有一列**24 小时命中趋势**：命中数、占总请求的百分比和一条迷你折线。这里是命中数而不是超限数，用来判断规则的条件是否覆盖了预期的流量；点击命中数会跳到[全局洞察](/zh/docs/edge/insight/log-explorer.md)的日志检索，按这条规则预筛选。右上角的**更新于**是数据的最后刷新时间，页面不自动轮询，点刷新按钮重新拉取。

## 洞察页 <a href="#insight-page" id="insight-page"></a>

从规则列表页右上角的**洞察**进入。顶部可选时间范围（最近 1 分钟到最近 1 周，默认最近 1 小时），并按 **Host**、**边缘**、**规则**筛选。在命中时间线上框选一段时间，整页的时间范围会跟着缩放。

### 指标卡 <a href="#kpis" id="kpis"></a>

两张卡。第一张是挑战通过率和封禁中的 IP：

<table data-search="false"><thead><tr><th width="160">指标</th><th>定义</th></tr></thead><tbody><tr><td>挑战通过率</td><td>通过 ÷ 发起挑战，封顶 100%。没有发起过挑战时显示 <code>-</code>；发起过时下方列出通过、未通过（发起 − 通过，含拿到验证页没有作答的）和触发封禁的数量，并提供**查看未通过的日志**</td></tr><tr><td>封禁中的 IP</td><td>此刻仍在封禁期内的 IP 数，下方分「挑战封禁」（挑战的自动封禁）和「直接封禁」（规则的 IP 封禁动作）；**查看封禁记录**跳到页面底部</td></tr></tbody></table>

第二张是四个动作各一格，**阻断**、**IP 封禁**、**挑战**、**观察**，每格显示时间范围内的请求数、较上一周期（上小时 / 上日 / 上周）的变化、占总请求的百分比（低于 0.01% 显示 `<0.01%`）和一条迷你趋势线，悬浮出现**查看日志**，跳到全局洞察的日志检索并按这个动作预筛选。

<table data-search="false"><thead><tr><th width="160">动作格</th><th>统计的是</th></tr></thead><tbody><tr><td>阻断</td><td>被「阻断」动作拒绝的请求数</td></tr><tr><td>IP 封禁</td><td>「IP 封禁」动作触发的次数。封禁期间该 IP 的请求不进入处理，不计入任何指标</td></tr><tr><td>挑战</td><td>实际向客户端发起挑战的请求数，不含已持有凭证、直接放行的请求</td></tr><tr><td>观察</td><td>「观察」动作下超限、但照常放行的请求数。新规则灰度期间主要看这个数</td></tr></tbody></table>

### 命中时间线 <a href="#hit-timeline" id="hit-timeline"></a>

柱状图按时间显示四种动作触发的次数，挑战同样只算实际发起的。切换到饼图显示四种动作的占比，中心是触发动作的合计。

### 命中来源 <a href="#hit-source" id="hit-source"></a>

按 **Host** 或**国家**列出规则命中最多的前 10 个来源，每行显示命中请求数和动作构成（阻断 / IP 封禁 / 挑战 / 观察的堆叠条）。点击一行跳到全局洞察的日志检索，按该 Host 或国家预筛选。

## IP 封禁记录 <a href="#ban-records" id="ban-records"></a>

列出时间范围内的每一次 IP 封禁，可按**客户端 IP**、**状态**（封禁中 / 已解封）和**规则**筛选。

<table data-search="false"><thead><tr><th width="120">列</th><th>含义</th></tr></thead><tbody><tr><td>客户端 IP</td><td>被封禁的 IP 及地理位置</td></tr><tr><td>触发边缘</td><td>触发并执行封禁的边缘节点。封禁只在这个节点生效，见<a href="/zh/docs/edge/policies/rate-limiting/how-it-works.md#scope">工作原理 › 计数的作用域</a></td></tr><tr><td>触发规则</td><td>触发封禁的原因、规则名、封禁开始时间和封禁时长。同一个 IP 在之前 24 小时内被封过，会带一个「24h 内第 N 次」标签，N 越大说明这个来源在持续重试</td></tr><tr><td>http_host</td><td>触发封禁的那个请求的 Host</td></tr><tr><td>状态</td><td>封禁中（含剩余时长）或已解封</td></tr></tbody></table>

展开一行可以看到完整记录（请求 ID、触发请求的客户端地址、节点等）；即使规则后来被修改或删除，展开记录仍能看到封禁发生时的规则配置。

封禁原因与来源的对应：

<table data-search="false"><thead><tr><th width="300">封禁原因</th><th>来源</th></tr></thead><tbody><tr><td>规则封禁</td><td>速率控制或<a href="/zh/docs/edge/policies/access-control/how-it-works.md#ban-details">通用访问控制</a>规则的「IP 封禁」动作</td></tr><tr><td>挑战（API 访问过于频繁）</td><td>挑战验证接口被同一 IP 高频调用</td></tr><tr><td>挑战（持续触发 JS 挑战但未完成）<br>挑战（持续触发交互式挑战但未完成）</td><td>AxisNow 挑战 / 第三方挑战的自动封禁：同一 IP 在窗口内被下发挑战的次数达到上限</td></tr></tbody></table>

记录是只读的，目前没有手动解封的入口，见[工作原理 › IP 封禁的细节](/zh/docs/edge/policies/rate-limiting/how-it-works.md#ip-ban-details)。

## 日志 <a href="#logs" id="logs"></a>

命中速率控制规则的请求明细在[全局洞察](/zh/docs/edge/insight/log-explorer.md)的日志检索里看，速率控制的页面不再单独列日志。入口有四个，都带着预筛选：规则列表指标卡的「阻断」「挑战」（最近 24 小时，按动作）、规则行的命中数（按这条规则）、洞察页动作格的**查看日志**（按动作）和命中来源的某一行（按 Host 或国家）。进去之后可以再叠加客户端 IP、URI、状态码等条件；每条日志列出命中的规则，一个请求命中多条时并列显示。

两点说明：

* 日志经过采样，部分请求查不到。采样影响的是明细，不影响指标。
* 处于 IP 封禁期内的来源不产生日志；封禁本身记录在 IP 封禁记录里。

## 下一步 <a href="#next-steps" id="next-steps"></a>

* [防护场景](/zh/docs/edge/policies/rate-limiting/use-cases.md)：根据观察数据调整阈值与动作。
* [常见问题](/zh/docs/edge/policies/rate-limiting/faq.md)：读数不符合预期时的排查。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://www.axisnow.io/zh/docs/edge/policies/rate-limiting/insight.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
