Dokploy/dokploy · warning · Error
No monitoring data available for "${input.appName}". This co
Error message
No monitoring data available for "${input.appName}". This could be because:
1. The container was recently started - wait a few minutes for data to be collected
2. The container is not running - verify its status
3. The service is not included in your monitoring configuration What it means
Thrown by Dokploy's monitoring query when the monitoring service responds 200 but the JSON body is not a non-empty array — i.e. no time-series data points exist for the requested app. Common after cold starts or when the service is excluded from scraping; the message enumerates the likely causes.
Source
Thrown at apps/dokploy/server/api/routers/user.ts:561
);
}
const url = new URL(`${input.url}/metrics/containers`);
url.searchParams.append("limit", input.dataPoints);
url.searchParams.append("appName", input.appName);
const response = await fetch(url.toString(), {
headers: {
Authorization: `Bearer ${input.token}`,
},
});
if (!response.ok) {
throw new Error(
`Error ${response.status}: ${response.statusText}. Please verify that the application "${input.appName}" is running and this service is included in the monitoring configuration.`,
);
}
const data = await response.json();
if (!Array.isArray(data) || data.length === 0) {
throw new Error(
[
`No monitoring data available for "${input.appName}". This could be because:`,
"",
"1. The container was recently started - wait a few minutes for data to be collected",
"2. The container is not running - verify its status",
"3. The service is not included in your monitoring configuration",
].join("\n"),
);
}
return data as {
containerId: string;
containerName: string;
containerImage: string;
containerLabels: string;
containerCommand: string;
containerCreated: string;
}[];
} catch (error) {View on GitHub (pinned to 546686ea35)
Solutions
- Wait a few minutes for scrape intervals to collect data, then retry
- Confirm the container is running and has been up across at least one scrape interval
- Verify the appName exactly matches the monitored service name/label
- Check the monitoring service's own targets page to confirm the service is being scraped
Defensive patterns
Strategy: retry
Validate before calling
// Optionally verify the app is running via Dokploy's app status query before fetching metrics
Type guard
const hasData = (d: unknown): d is unknown[] => Array.isArray(d) && d.length > 0;
Try / catch
catch (e) { if (/No monitoring data available/.test(e.message)) scheduleRetry(60_000); else throw e; } Prevention
- Wait one scrape interval after cold start before querying
- Show an empty-state UI for fresh containers
- Verify service label matches scrape config
When it happens
Trigger: Calling the monitoring data-points query for a container that started moments ago (no scrapes yet), a container that is not running, or a service name not present in the monitoring configuration's targets.
Common situations: Opening the monitoring dashboard immediately after deploying; querying a stopped/crashed container; typo'd or transformed appName that does not match the scrape job label; monitoring stack recently installed with no retention yet.
Related errors
- Error ${response.status}: ${response.statusText}. Please ver
- CONFLICT
- No Application Selected: Make Sure to select an application
- INTERNAL_SERVER_ERROR
- INNGEST_BASE_URL is required to list deployment jobs
AI-assisted analysis of Dokploy/dokploy@546686ea35 (2026-08-27).
Data as JSON: /api/errors/94494b88980a1aca.
Report an issue: GitHub.