Files

356 lines
12 KiB
Markdown
Raw Permalink Normal View History

2026-06-24 09:35:46 +08:00
---
comments: true
description: Monitor deployed YOLO models on Ultralytics Platform with real-time metrics, request logs, and performance dashboards.
keywords: Ultralytics Platform, monitoring, metrics, logs, deployment, performance, YOLO, observability
---
# Monitoring
[Ultralytics Platform](https://platform.ultralytics.com) provides monitoring for deployed endpoints. Track request metrics, view logs, and check health status with automatic polling.
![Ultralytics Platform Deploy Page Overview Cards And World Map](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/deploy-page-overview-cards-and-world-map.avif)
## Deployments Dashboard
The `Deploy` page in the sidebar serves as the monitoring dashboard for all your deployments. It combines the world map, overview metrics, and deployment management in one view. See [Dedicated Endpoints](endpoints.md) for creating and managing deployments.
```mermaid
graph TB
subgraph Dashboard
Map[World Map] --- Cards[Overview Cards]
Cards --- List[Deployments List]
end
subgraph "Per Deployment"
Metrics[Metrics Row]
Health[Health Check]
Logs[Logs Tab]
Code[Code Tab]
Predict[Predict Tab]
end
List --> Metrics
List --> Health
List --> Logs
List --> Code
List --> Predict
style Dashboard fill:#f5f5f5,color:#333
style Map fill:#2196F3,color:#fff
style Cards fill:#FF9800,color:#fff
style List fill:#4CAF50,color:#fff
```
### Overview Cards
Four summary cards at the top of the page show:
![Ultralytics Platform Deploy Page Four Overview Cards](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/deploy-page-four-overview-cards.avif)
| Metric | Description |
| ------------------------ | ----------------------------- |
| **Total Requests (24h)** | Requests across all endpoints |
| **Active Deployments** | Currently running endpoints |
| **Error Rate (24h)** | Percentage of failed requests |
| **P95 Latency (24h)** | 95th percentile response time |
!!! warning "Error Rate Alert"
The error rate card highlights in red when the rate exceeds 5%. Check the `Logs` tab on individual deployments to diagnose errors.
### World Map
The interactive world map shows:
- **Region pins** for all 43 available regions
- **Green pins** for deployed regions
- **Animated blue pins** for regions with active deployments in progress
- **Pin size** varies based on deployment status and latency
![Ultralytics Platform Deploy Page World Map With Deployed Regions](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/deploy-page-world-map-with-deployed-regions.avif)
### Deployments List
Below the overview cards, the deployments list shows all endpoints across your projects. Use the view mode toggle to switch between:
| View | Description |
| ----------- | ---------------------------------------------------------------------------- |
| **Cards** | Full detail cards with metrics, logs, code, and predict tabs |
| **Compact** | Grid of smaller cards (1-4 columns) with key metrics |
| **Table** | DataTable with sortable columns: Name, Region, Status, Requests, P95, Errors |
!!! tip "Real-Time Updates"
The dashboard polls every 30 seconds for metric updates. When deployments are in a transitional state (creating, deploying), polling increases to every 3 seconds. Click the refresh button for immediate updates.
## Per-Deployment Metrics
Each deployment card (in cards view) shows real-time metrics:
### Metrics Row
| Metric | Description |
| --------------- | ----------------------------- |
| **Requests** | Request count (24h) with icon |
| **P95 Latency** | 95th percentile response time |
| **Error Rate** | Percentage of failed requests |
Metrics are fetched from the sparkline API endpoint and refresh every 60 seconds.
### Health Check
Running deployments show a health check indicator:
| Indicator | Meaning |
| ----------------- | -------------------------------- |
| **Green heart** | Healthy — shows response latency |
| **Red heart** | Unhealthy — shows error message |
| **Spinning icon** | Health check in progress |
Health checks auto-retry every 20 seconds when unhealthy. Click the refresh icon to manually trigger a health check. The health check uses a 55-second timeout to accommodate cold starts on scale-to-zero endpoints.
![Ultralytics Platform Deployment Card Health Check Healthy With Latency](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/deployment-card-health-check-healthy-with-latency.avif)
!!! info "Cold Start Tolerance"
The health check uses a 55-second timeout to account for cold starts on scale-to-zero endpoints (up to ~45 seconds in worst case). Once the endpoint warms up, health checks complete in milliseconds.
## Logs
Each deployment card includes a `Logs` tab for viewing recent log entries:
![Ultralytics Platform Deployment Card Logs Tab With Severity Filter](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/deployment-card-logs-tab-with-severity-filter.avif)
### Log Entries
Each log entry shows:
| Field | Description |
| ------------- | --------------------------------------- |
| **Severity** | Color-coded bar (see below) |
| **Timestamp** | Request time (local format) |
| **Message** | Log content |
| **HTTP info** | Status code and latency (if applicable) |
=== "Severity Levels"
Filter logs by severity using the filter buttons:
| Level | Color | Description |
| ------------ | -------- | ------------------- |
| **DEBUG** | Gray | Debug messages |
| **INFO** | Blue | Normal requests |
| **WARNING** | Yellow | Non-critical issues |
| **ERROR** | Red | Failed requests |
| **CRITICAL** | Dark Red | Critical failures |
=== "Log Controls"
| Control | Description |
| ----------- | ----------------------------------- |
| **Errors** | Filter to ERROR and WARNING entries |
| **All** | Show all log entries |
| **Copy** | Copy all visible logs to clipboard |
| **Refresh** | Reload log entries |
The UI shows the 20 most recent entries. The API defaults to 50 entries per request (max 200).
!!! tip "Debugging Workflow"
When investigating errors: first click **Errors** to filter to ERROR and WARNING entries, then review timestamps and HTTP status codes. Copy logs to clipboard for sharing with your team.
## Code Examples
Each deployment card includes a `Code` tab showing ready-to-use API code with your actual endpoint URL and API key:
=== "Python"
```python
import requests
# Deployment endpoint
url = "https://predict-abc123.run.app/predict"
# Headers with your deployment API key
headers = {"Authorization": "Bearer YOUR_API_KEY"}
# Inference parameters
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}
# Send image for inference
with open("image.jpg", "rb") as f:
response = requests.post(url, headers=headers, data=data, files={"file": f})
print(response.json())
```
=== "JavaScript"
```javascript
// Build form data with image and parameters
const formData = new FormData();
formData.append("file", fileInput.files[0]);
formData.append("conf", "0.25");
formData.append("iou", "0.7");
formData.append("imgsz", "640");
// Send image for inference
const response = await fetch(
"https://predict-abc123.run.app/predict",
{
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY" },
body: formData,
}
);
const result = await response.json();
console.log(result);
```
=== "cURL"
```bash
# Send image for inference
curl -X POST "https://predict-abc123.run.app/predict" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@image.jpg" \
-F "conf=0.25" \
-F "iou=0.7" \
-F "imgsz=640"
```
!!! note "Auto-Populated Credentials"
When viewing the `Code` tab in the platform, your actual endpoint URL and API key are automatically filled in. Copy the code and run it directly. See [API Keys](../account/api-keys.md) to generate a key.
## Deployment Predict
The `Predict` tab on each deployment card provides an inline predict panel — the same interface as the model's `Predict` tab, but running inference through the deployment endpoint instead of the shared service. This is useful for testing a deployed endpoint directly from the browser. See [Inference](inference.md) for parameter details and response formats.
## API Endpoints
### Monitoring Overview
```
GET /api/monitoring
```
Returns aggregated metrics for all deployments owned by the authenticated user. Workspace-aware via optional `owner` query parameter.
### Deployment Metrics
```
GET /api/deployments/{deploymentId}/metrics?sparkline=true&range=24h
```
Returns sparkline data and summary metrics for a specific deployment. Refresh interval: 60 seconds.
| Parameter | Type | Description |
| ----------- | ------ | --------------------------------------------- |
| `sparkline` | bool | Include sparkline data |
| `range` | string | Time range: `1h`, `6h`, `24h`, `7d`, or `30d` |
### Deployment Logs
```
GET /api/deployments/{deploymentId}/logs?limit=50&severity=ERROR,WARNING
```
Returns recent log entries with optional severity filter and pagination.
| Parameter | Type | Description |
| ----------- | ------ | --------------------------------------------- |
| `limit` | int | Max entries to return (default: 50, max: 200) |
| `severity` | string | Comma-separated severity filter |
| `pageToken` | string | Pagination token from previous response |
### Deployment Health
```
GET /api/deployments/{deploymentId}/health
```
Returns health check status with response latency.
```json
{
"healthy": true,
"status": 200,
"latencyMs": 142
}
```
## Performance Optimization
Use monitoring data to optimize your deployments:
=== "High Latency"
If latency is too high:
1. Check instance count (may need more)
2. Verify model size is appropriate
3. Consider a closer region
4. Check image sizes being sent
!!! example "Reducing Latency"
Switch from `imgsz=1280` to `imgsz=640` for a ~4x speedup with minimal accuracy loss for most use cases. Deploy to a region closer to your users for lower network latency.
=== "High Error Rate"
If errors are occurring:
1. Review error logs in the `Logs` tab
2. Check request format (multipart form required)
3. Verify API key is valid
4. Check rate limits
=== "Scaling Issues"
If hitting capacity:
1. Consider multiple regions
2. Optimize request batching
3. Increase CPU and memory resources
## FAQ
### How long is data retained?
| Data Type | Retention |
| ----------- | --------- |
| **Metrics** | 30 days |
| **Logs** | 7 days |
### Can I set up external monitoring?
Yes, endpoint URLs work with external monitoring tools:
- Uptime monitoring (Pingdom, UptimeRobot)
- APM tools (Datadog, New Relic)
- Custom health checks via the `/health` endpoint
### How accurate are the latency numbers?
Latency metrics measure:
- **P50**: Median response time
- **P95**: 95th percentile
- **P99**: 99th percentile
These represent server-side processing time, not including network latency to your users.
### Why are my metrics delayed?
Metrics have a ~2 minute delay due to:
- Metrics aggregation pipeline
- Aggregation windows
- Dashboard caching
For real-time debugging, check logs which are near-instant.
### Can I monitor multiple endpoints together?
Yes, the deployments page shows all endpoints with aggregated overview cards. Use the table view to compare performance across deployments.