{"record":{"id":"94494b88980a1aca","repo":"Dokploy/dokploy","slug":"no-monitoring-data-available-for-input-appname","errorCode":null,"errorMessage":"No monitoring data available for \"${input.appName}\". This could be because:\n\n1. The container was recently started - wait a few minutes for data to be collected\n2. The container is not running - verify its status\n3. The service is not included in your monitoring configuration","messagePattern":"No monitoring data available for \"(.+?)\"\\. This could be because:\n\n1\\. The container was recently started - wait a few minutes for data to be collected\n2\\. The container is not running - verify its status\n3\\. The service is not included in your monitoring configuration","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"warning","filePath":"apps/dokploy/server/api/routers/user.ts","lineNumber":561,"sourceCode":"\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst url = new URL(`${input.url}/metrics/containers`);\n\t\t\t\turl.searchParams.append(\"limit\", input.dataPoints);\n\t\t\t\turl.searchParams.append(\"appName\", input.appName);\n\t\t\t\tconst response = await fetch(url.toString(), {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAuthorization: `Bearer ${input.token}`,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tif (!response.ok) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Error ${response.status}: ${response.statusText}. Please verify that the application \"${input.appName}\" is running and this service is included in the monitoring configuration.`,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst data = await response.json();\n\t\t\t\tif (!Array.isArray(data) || data.length === 0) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t`No monitoring data available for \"${input.appName}\". This could be because:`,\n\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\"1. The container was recently started - wait a few minutes for data to be collected\",\n\t\t\t\t\t\t\t\"2. The container is not running - verify its status\",\n\t\t\t\t\t\t\t\"3. The service is not included in your monitoring configuration\",\n\t\t\t\t\t\t].join(\"\\n\"),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn data as {\n\t\t\t\t\tcontainerId: string;\n\t\t\t\t\tcontainerName: string;\n\t\t\t\t\tcontainerImage: string;\n\t\t\t\t\tcontainerLabels: string;\n\t\t\t\t\tcontainerCommand: string;\n\t\t\t\t\tcontainerCreated: string;\n\t\t\t\t}[];\n\t\t\t} catch (error) {","sourceCodeStart":543,"sourceCodeEnd":579,"githubUrl":"https://github.com/Dokploy/dokploy/blob/546686ea3587f12ec5652217dedd9f7960fb6d15/apps/dokploy/server/api/routers/user.ts#L543-L579","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","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"],"exampleFix":null,"handlingStrategy":"retry","validationCode":"// Optionally verify the app is running via Dokploy's app status query before fetching metrics","typeGuard":"const hasData = (d: unknown): d is unknown[] => Array.isArray(d) && d.length > 0;","tryCatchPattern":"catch (e) { if (/No monitoring data available/.test(e.message)) scheduleRetry(60_000); else throw e; }","preventionTips":["Wait one scrape interval after cold start before querying","Show an empty-state UI for fresh containers","Verify service label matches scrape config"],"tags":["dokploy","monitoring","empty-response","docker"],"backgroundTag":"empty-api-response","analyzedSha":"546686ea3587f12ec5652217dedd9f7960fb6d15","analyzedAt":"2026-08-27T05:18:58.095Z","schemaVersion":2},"datasetVersion":"2026-08-27T08:17:20.692Z"}