Monitoring and troubleshooting
When a request fails, this page helps identify the credential and stage responsible.
Four tabs §
The monitoring page has four tabs, each with one purpose:
- Health - Which credentials are available now and which ones are broken?
- Usage and Cost - How many tokens were spent and how much
- Request Log - Detailed record of each request
- Route Check - Given conditions, see how the gateway will choose
Health §
The Health tab shows current availability status of each Group and each credential and a consolidated list of issues requiring attention.
Meaning of credential status:
- Available - Normal participation in rotation
- In cooldown — Temporarily skipped after an upstream rate limit or error, then restored automatically when the cooldown expires.
- Blocked — Removed automatically after consecutive failures exceed the threshold; restore it only after manual verification.
- Deactivated - you manually turned it off and will not participate in the rotation
See How scheduling works for cooldown and blacklisting triggers and recovery behavior.
Problem credentials are collected in one list, so you do not need to inspect every Group.
Request log §
Every request is recorded and filterable by time, Group, model, and status. Opening an item shows the selected credential, protocol conversion, retries, and upstream response.
The few fields most useful when troubleshooting:
- Routing Identity - Which Group and credential this request actually goes to
- Protocol conversion - When the protocol used by the client is different from the upstream protocol, you can see the conversion process here
- Error message - The original error returned by the upstream is more descriptive of the problem than the gateway's own error.
Log retention is configurable; see Runtime settings.
Route checking §
This is the fastest entry point for troubleshooting. Enter an AccessKey and model name to see whether the request can route, candidate Groups, available credential counts, or the reason routing fails.
Typical uses:
- "Why is it prompted that the model does not exist?" - The checker will tell you whether this model is open in the Group for which this key can be used.
- "Why are there no available credentials" - View the total number of credentials and the currently available number by candidate Group
- "A new group was added but it did not take effect" - Confirm whether the AccessKey is authorized to it
Inspect candidate Groups and available credentials without sending a real request.
Usage and cost §
View request volume, success and failure trends, cache hit rate, token categories, and cost estimates, grouped by Group, model, AccessKey, and other dimensions.
Token categories directly affect cost:
- Non-cached input - Input token for normal billing
- Cache Read - the part that hits the cache, usually far cheaper than non-cached
- Cache Write - The cost of establishing cache, some service providers bill it separately
- Output - the token generated by the model, usually the most expensive
Therefore, a high cache hit rate is a good thing: for the same request volume, a higher cache hit rate substantially reduces cost.
Cost is estimated from upstream token usage × model price for operational analysis and capacity planning; it is not equal to provider billing and cannot be used for financial reconciliation. Known gaps include requests without upstream usage, models without pricing data, and price changes that are not applied retroactively.
Data integrity §
The Usage tab includes a Quality metric. It measures not service quality, but how complete the statistical data itself is:
| Metrics | Meaning | Impact |
|---|---|---|
| Usage missing | Upstream did not return token usage | These requests are excluded from statistics and cost estimates |
| Usage section missing | Only returned partial dimensions | Cost is lower than the actual amount. |
| Unpriced cost | Has usage, but this model has no price data | Not counted in cost, usage is still recorded |
| Partial pricing | Only some token types have prices | Cost is too low. |
High values mean the reliability of cost estimation is declining. Unpriced usually indicates missing model pricing; see Model management.
Troubleshooting order §
Follow this order when troubleshooting; two or three steps usually identify the cause:
- Check your health first - Have all the credentials been cooled down or blocked? If so the problem is with upstream or the key itself
- Reuse route check - Are there candidate Groups and credentials available? If it doesn't work, it will tell you the reason directly.
- Finally read the request log - find the one that failed and look at the original error returned by the upstream
When you suspect one particular credential has gone bad, there is a more direct route: open the Group's credential page, run Test connection on it, and confirm on the spot with one real request; see Groups and channels.
If health is normal, routing checks also show candidate Groups and available credentials, but the request still fails, it is most likely an upstream issue (quota, model offline, regional restrictions). The original error information in the log will explain.