@oneuptime/common 12.0.33 → 12.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Models/AnalyticsModels/RumSession.ts +117 -1
- package/Models/AnalyticsModels/RumSessionChunk.ts +13 -0
- package/Models/DatabaseModels/AlertCustomField.ts +77 -3
- package/Models/DatabaseModels/ApiKeyPermission.ts +3 -27
- package/Models/DatabaseModels/IncidentCustomField.ts +77 -3
- package/Models/DatabaseModels/InventoryItemCustomField.ts +77 -3
- package/Models/DatabaseModels/MonitorCustomField.ts +77 -3
- package/Models/DatabaseModels/OnCallDutyPolicyCustomField.ts +77 -3
- package/Models/DatabaseModels/RumApplication.ts +6 -6
- package/Models/DatabaseModels/ScheduledMaintenanceCustomField.ts +77 -3
- package/Models/DatabaseModels/StatusPageCustomField.ts +77 -3
- package/Models/DatabaseModels/TeamCustomField.ts +77 -3
- package/Models/DatabaseModels/TeamMember.ts +0 -9
- package/Models/DatabaseModels/TeamMemberCustomField.ts +77 -3
- package/Models/DatabaseModels/TeamPermission.ts +3 -24
- package/Models/DatabaseModels/TelemetryIngestionKey.ts +260 -0
- package/Models/DatabaseModels/UserTelegram.ts +0 -4
- package/Scripts/benchmark-fanin-capacity.js +181 -0
- package/Server/API/TelemetryAPI.ts +1284 -164
- package/Server/API/UserNotificationSettingAPI.ts +55 -0
- package/Server/API/UserTelegramAPI.ts +48 -4
- package/Server/EnvironmentConfig.ts +35 -2
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791300000000-AddTelemetryIngestionKeyType.ts +91 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791400000000-SessionReplayRecordEverySessionByDefault.ts +67 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791500000000-WidenCustomFieldDropdownOptions.ts +139 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791600000000-AddCustomFieldValueMapping.ts +121 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
- package/Server/Infrastructure/QueueWorker.ts +20 -14
- package/Server/Infrastructure/Semaphore.ts +2 -0
- package/Server/Middleware/TelemetryIngest.ts +453 -7
- package/Server/Services/AccessTokenService.ts +1 -0
- package/Server/Services/AlertCustomFieldService.ts +98 -0
- package/Server/Services/AlertService.ts +37 -0
- package/Server/Services/ApiKeyPermissionService.ts +461 -29
- package/Server/Services/CustomFieldMappingService.ts +879 -0
- package/Server/Services/GlobalConfigService.ts +194 -0
- package/Server/Services/IncidentCustomFieldService.ts +98 -0
- package/Server/Services/IncidentService.ts +35 -0
- package/Server/Services/MetricService.ts +194 -0
- package/Server/Services/MonitorService.ts +32 -0
- package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +78 -25
- package/Server/Services/ProjectService.ts +22 -0
- package/Server/Services/RoutineEmailSettingsService.ts +73 -0
- package/Server/Services/RumSessionReplayViewService.ts +104 -24
- package/Server/Services/ScheduledMaintenanceCustomFieldService.ts +98 -0
- package/Server/Services/ScheduledMaintenanceService.ts +32 -0
- package/Server/Services/TeamMemberService.ts +78 -0
- package/Server/Services/TeamPermissionService.ts +235 -3
- package/Server/Services/TelemetryIngestionKeyService.ts +722 -19
- package/Server/Services/UserNotificationSettingService.ts +34 -6
- package/Server/Services/UserTelegramService.ts +326 -5
- package/Server/Types/Database/QueryHelper.ts +2 -0
- package/Server/Utils/APIKey/AccessPermission.ts +5 -2
- package/Server/Utils/CustomField/CustomFieldDefinitionMappingHooks.ts +54 -0
- package/Server/Utils/CustomField/CustomFieldMappingRegistry.ts +415 -0
- package/Server/Utils/CustomField/CustomFieldMappingValidator.ts +335 -0
- package/Server/Utils/DataSource/EgressGuard.ts +177 -8
- package/Server/Utils/EmailRollup/EmailRollupConstants.ts +38 -5
- package/Server/Utils/EmailRollup/EmailRollupFlushRunner.ts +57 -4
- package/Server/Utils/FrontendEnvironment.ts +40 -0
- package/Server/Utils/LogRedaction.ts +20 -0
- package/Server/Utils/Logger.ts +11 -0
- package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +338 -77
- package/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.ts +30 -4
- package/Server/Utils/Monitor/MonitorAlert.ts +29 -6
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +110 -15
- package/Server/Utils/Monitor/MonitorIncident.ts +22 -6
- package/Server/Utils/Monitor/MonitorTemplateUtil.ts +29 -0
- package/Server/Utils/Monitor/SeriesContextEnricher.ts +304 -0
- package/Server/Utils/SSRFProtection.ts +217 -10
- package/Server/Utils/SessionReplay/SessionReplayGateCache.ts +239 -138
- package/Server/Utils/SessionReplay/SessionReplayHealthCounters.ts +305 -0
- package/Server/Utils/SessionReplay/SessionReplayReadService.ts +1430 -289
- package/Server/Utils/StartServer.ts +2 -17
- package/Server/Utils/TelegramVerificationToken.ts +185 -0
- package/Server/Utils/Telemetry/PinServiceName.ts +197 -0
- package/Server/Utils/Telemetry/TelemetryFanInWriter.ts +38 -16
- package/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.ts +92 -0
- package/Server/Utils/Telemetry/TelemetryIngestionKeyRateLimiter.ts +217 -0
- package/Server/Utils/VM/VMAPI.ts +1 -0
- package/Server/Utils/VM/VMRunner.ts +975 -95
- package/Tests/App/AdminDashboard/AdminHeaderSmallScreens.test.tsx +202 -0
- package/Tests/App/Dashboard/DashboardHeaderSmallScreens.test.tsx +404 -0
- package/Tests/App/Dashboard/DiscoveryScanWizardValidation.test.tsx +468 -0
- package/Tests/App/Dashboard/NotificationEmailPreferences.test.tsx +399 -0
- package/Tests/App/StatusPage/StatusPageLastUpdated.test.tsx +263 -0
- package/Tests/App/StatusPage/StatusPageOverviewLiveAndSearch.test.tsx +753 -0
- package/Tests/App/StatusPage/StatusPageResourceSearchBox.test.tsx +224 -0
- package/Tests/Models/AnalyticsModels/RumSessionReplayColumns.test.ts +262 -0
- package/Tests/Models/CustomFieldMappingColumns.test.ts +166 -0
- package/Tests/Models/DatabaseModels/SessionReplayModels.test.ts +20 -6
- package/Tests/ResponsiveVisibility.test.ts +115 -0
- package/Tests/ResponsiveVisibility.ts +183 -0
- package/Tests/Server/API/SessionReplayAPI.test.ts +1940 -216
- package/Tests/Server/API/UserNotificationSettingAPI.test.ts +186 -0
- package/Tests/Server/API/UserTelegramAPISecurity.test.ts +231 -0
- package/Tests/Server/EnvironmentConfigFrontendSecurity.test.ts +234 -0
- package/Tests/Server/Infrastructure/Postgres/CustomFieldValueMappingMigration.test.ts +202 -0
- package/Tests/Server/Infrastructure/Postgres/InventoryItemArchiveMigration.test.ts +41 -0
- package/Tests/Server/Infrastructure/Postgres/SessionReplayRecordEverySessionByDefaultMigration.test.ts +169 -0
- package/Tests/Server/Infrastructure/QueueWorkerTimeout.test.ts +210 -0
- package/Tests/Server/Infrastructure/TelemetryExporterDeploymentConfig.test.ts +130 -0
- package/Tests/Server/Middleware/ProjectAuthorizationApiKeyMiddleware.test.ts +4 -1
- package/Tests/Server/Middleware/TelemetryIngestBrowserKey.test.ts +1163 -0
- package/Tests/Server/Middleware/TelemetryIngestTokenLog.test.ts +5 -3
- package/Tests/Server/Services/AddTelemetryIngestionKeyTypeMigration.test.ts +555 -0
- package/Tests/Server/Services/ApiKeyPermissionSecurity.test.ts +678 -0
- package/Tests/Server/Services/ApiKeyPermissionService.test.ts +276 -28
- package/Tests/Server/Services/CustomFieldDropdownOptionsColumnWidth.test.ts +431 -0
- package/Tests/Server/Services/CustomFieldMappingService.test.ts +850 -0
- package/Tests/Server/Services/DiscoveryScanClaimHookFreeSafety.test.ts +32 -0
- package/Tests/Server/Services/GlobalConfigService.test.ts +414 -1
- package/Tests/Server/Services/MetricRawEntityKeyPrune.test.ts +592 -0
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +226 -1
- package/Tests/Server/Services/RoutineEmailSettingsPostgres.test.ts +329 -0
- package/Tests/Server/Services/RumSessionReplayViewService.test.ts +267 -0
- package/Tests/Server/Services/TeamMemberAutoAcceptInvitation.test.ts +9 -0
- package/Tests/Server/Services/TeamMemberInviteRegistrationToken.test.ts +9 -0
- package/Tests/Server/Services/TeamPrivilegeEscalation.test.ts +834 -0
- package/Tests/Server/Services/TelemetryIngestionKeyPolicyResolution.test.ts +814 -0
- package/Tests/Server/Services/TelemetryIngestionKeyValidation.test.ts +998 -0
- package/Tests/Server/Services/UserNotificationSettingRollupRouting.test.ts +141 -0
- package/Tests/Server/Services/UserNotificationSettingWorkspaceChannels.test.ts +18 -10
- package/Tests/Server/Services/UserTelegramVerificationSecurity.test.ts +688 -0
- package/Tests/Server/Utils/AI/SRE/Insights/FixRouting.test.ts +497 -0
- package/Tests/Server/Utils/AI/Toolbox/Serializer.test.ts +383 -0
- package/Tests/Server/Utils/APIKey/AccessPermission.test.ts +7 -3
- package/Tests/Server/Utils/AnalyticsDatabase/ClusterConfig.test.ts +315 -0
- package/Tests/Server/Utils/CustomField/CustomFieldMappingValidator.test.ts +437 -0
- package/Tests/Server/Utils/DataSource/EgressGuard.test.ts +300 -11
- package/Tests/Server/Utils/EmailRollup/EmailRollupBurstWindow.test.ts +83 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerBehaviour.test.ts +1 -1
- package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerPreferences.test.ts +362 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupTestHarness.ts +77 -1
- package/Tests/Server/Utils/FrontendEnvironment.test.ts +190 -0
- package/Tests/Server/Utils/LogRedaction.test.ts +26 -0
- package/Tests/Server/Utils/LoggerCredentialLeak.test.ts +23 -9
- package/Tests/Server/Utils/Monitor/Criteria/CompareCriteriaAggregation.test.ts +584 -0
- package/Tests/Server/Utils/Monitor/Criteria/IncomingRequestHeaderCriteria.test.ts +236 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluator.test.ts +437 -0
- package/Tests/Server/Utils/Monitor/MonitorTemplateUtilSeriesContext.test.ts +176 -0
- package/Tests/Server/Utils/Monitor/SeriesContextEnricher.test.ts +356 -0
- package/Tests/Server/Utils/SSRFProtectionCloudServiceAddresses.test.ts +595 -0
- package/Tests/Server/Utils/SessionReplay/SessionReplayGateCachePolicy.test.ts +198 -1
- package/Tests/Server/Utils/SessionReplay/SessionReplayHealthCounters.test.ts +453 -0
- package/Tests/Server/Utils/SessionReplay/SessionReplayReadServiceQueries.test.ts +1378 -0
- package/Tests/Server/Utils/SessionReplayOriginAllowListRefactor.test.ts +420 -0
- package/Tests/Server/Utils/TelegramVerificationToken.test.ts +253 -0
- package/Tests/Server/Utils/Telemetry/PinServiceName.test.ts +666 -0
- package/Tests/Server/Utils/Telemetry/TelemetryFanInWriterCapacity.test.ts +458 -0
- package/Tests/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.test.ts +424 -0
- package/Tests/Server/Utils/Telemetry/TelemetryIngestionKeyRateLimiter.test.ts +528 -0
- package/Tests/Server/Utils/TelemetryExporterEnvironment.test.ts +56 -0
- package/Tests/Server/Utils/VM/VMRunnerHostBridgeLatency.test.ts +74 -0
- package/Tests/Server/Utils/VM/VMRunnerPrivateNetworkWiring.test.ts +100 -7
- package/Tests/Server/Utils/VM/VMRunnerSsrf.test.ts +1176 -6
- package/Tests/Types/CustomField/CustomFieldMappingCatalog.test.ts +220 -0
- package/Tests/Types/CustomField/CustomFieldValueMapping.test.ts +348 -0
- package/Tests/Types/JSONFunctions.test.ts +260 -0
- package/Tests/Types/Monitor/CephAlertTemplates.test.ts +422 -53
- package/Tests/Types/Monitor/DockerAlertTemplates.test.ts +495 -15
- package/Tests/Types/Monitor/DockerSwarmAlertTemplates.test.ts +191 -45
- package/Tests/Types/Monitor/HostAlertTemplates.test.ts +370 -42
- package/Tests/Types/Monitor/IotAlertTemplates.test.ts +375 -20
- package/Tests/Types/Monitor/KubernetesAlertTemplates.test.ts +636 -42
- package/Tests/Types/Monitor/KubernetesMetricCatalog.test.ts +189 -0
- package/Tests/Types/Monitor/KubernetesTemplateGroupByKeys.test.ts +95 -14
- package/Tests/Types/Monitor/PodmanAlertTemplates.test.ts +190 -21
- package/Tests/Types/Monitor/ProxmoxAlertTemplates.test.ts +352 -22
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationAlertDebuggability.test.ts +363 -0
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationNotificationMode.test.ts +93 -18
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.test.ts +259 -0
- package/Tests/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.test.ts +476 -0
- package/Tests/Types/Monitor/RumAlertTemplates.test.ts +136 -0
- package/Tests/Types/Monitor/SeriesContext/SeriesDebugHints.test.ts +661 -0
- package/Tests/Types/Monitor/SeriesContext/SeriesLabelDisplay.test.ts +507 -0
- package/Tests/Types/Monitor/ServiceAlertTemplates.test.ts +270 -0
- package/Tests/Types/Monitor/TemplateGroupByKeys.test.ts +38 -10
- package/Tests/Types/Monitor/Utils/RecommendationCriteriaAssertions.ts +102 -0
- package/Tests/Types/NotificationSetting/RoutineEmailEvents.test.ts +47 -0
- package/Tests/Types/Rum/SessionReplayApiContracts.test.ts +608 -0
- package/Tests/Types/Rum/SessionReplayCustomEvents.test.ts +434 -0
- package/Tests/Types/WebsiteRequest.test.ts +285 -3
- package/Tests/UI/Components/Charts/ChartBucketIdentity.test.ts +16 -3
- package/Tests/UI/Components/Charts/ChartTrailingBucketGap.test.ts +691 -0
- package/Tests/UI/Components/ComponentsModal.test.tsx +12 -4
- package/Tests/UI/Components/ComponentsModalUsability.test.tsx +518 -0
- package/Tests/UI/Components/CustomFields/CustomFieldsDetailMapping.test.tsx +324 -0
- package/Tests/UI/Components/CustomFields/MapFromCustomFieldInput.test.tsx +176 -0
- package/Tests/UI/Components/Graphs/DayUptimeGraph.test.tsx +484 -0
- package/Tests/UI/Components/HeaderRightRail.test.tsx +157 -0
- package/Tests/UI/Components/IconDropdownItem.test.tsx +102 -0
- package/Tests/UI/Components/JSONTablePrototypePollution.test.tsx +117 -0
- package/Tests/UI/Components/KeyboardShortcutsModal.test.tsx +214 -0
- package/Tests/UI/Components/ModelTable/ModelTableWrapContent.test.tsx +561 -0
- package/Tests/UI/Components/MonitorGraphs/UptimeBarDayModal.test.tsx +302 -0
- package/Tests/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.test.ts +28 -12
- package/Tests/UI/Components/ShortcutDialogGuard.test.tsx +74 -0
- package/Tests/UI/Components/StatusPage/ResourceGroupSectionAutoExpand.test.tsx +248 -0
- package/Tests/UI/Components/TableCellWrapping.test.tsx +625 -0
- package/Tests/UI/Components/TableLoadingStates.test.tsx +205 -0
- package/Tests/UI/Components/Workflow/NodePlacement.test.ts +148 -0
- package/Tests/UI/Components/Workflow/Workflow.test.tsx +981 -0
- package/Tests/UI/ConfigBrowserTelemetry.test.ts +70 -0
- package/Tests/UI/Rum/ChunkLoader.test.ts +1036 -2
- package/Tests/UI/Rum/FidelityNotices.test.ts +187 -0
- package/Tests/UI/Rum/InactivityMap.test.ts +341 -0
- package/Tests/UI/Rum/PrivacySummaryCard.test.tsx +259 -0
- package/Tests/UI/Rum/RecordingHealthCard.test.tsx +855 -0
- package/Tests/UI/Rum/RecordingHealthStrip.test.tsx +594 -0
- package/Tests/UI/Rum/ReplayCard.test.tsx +451 -0
- package/Tests/UI/Rum/ReplayCorrelationPanel.test.tsx +536 -0
- package/Tests/UI/Rum/ReplayEngine.test.ts +2503 -0
- package/Tests/UI/Rum/ReplayEngineTypes.test.ts +171 -0
- package/Tests/UI/Rum/ReplayHeader.test.tsx +711 -0
- package/Tests/UI/Rum/ReplayLink.test.tsx +119 -0
- package/Tests/UI/Rum/ReplayPinControl.test.tsx +408 -0
- package/Tests/UI/Rum/ReplayPlaybackIntent.test.ts +152 -0
- package/Tests/UI/Rum/ReplayRail.test.tsx +1296 -0
- package/Tests/UI/Rum/ReplayRailDetail.test.tsx +900 -0
- package/Tests/UI/Rum/ReplayScrubber.test.tsx +763 -147
- package/Tests/UI/Rum/ReplaySignalTypes.test.ts +189 -0
- package/Tests/UI/Rum/ReplaySignals.test.ts +1579 -0
- package/Tests/UI/Rum/ReplayStage.test.tsx +396 -473
- package/Tests/UI/Rum/ReplayStageOverlays.test.tsx +918 -0
- package/Tests/UI/Rum/ReplayTimeline.test.tsx +696 -0
- package/Tests/UI/Rum/SessionReplayEmptyState.test.tsx +499 -0
- package/Tests/UI/Rum/SessionReplaySearchBar.test.tsx +346 -0
- package/Tests/UI/Rum/SessionReplaySetupGuide.test.tsx +545 -0
- package/Tests/UI/Rum/SessionReplayTable.test.tsx +991 -0
- package/Tests/UI/Rum/TargetedCapturePanel.test.tsx +254 -0
- package/Tests/UI/Telemetry/BrowserExporterIsolation.test.ts +71 -0
- package/Tests/UI/Utils/GlobalKeyboardShortcut.test.ts +344 -0
- package/Tests/Utils/API.test.ts +308 -0
- package/Tests/Utils/HTTPResponseBodyReader.test.ts +323 -0
- package/Tests/Utils/NetworkDiscovery/DiscoveryScanStatus.test.ts +117 -0
- package/Tests/Utils/Rum/ChunkMath.test.ts +83 -0
- package/Tests/Utils/Rum/SessionReplayHealthDiagnosis.test.ts +993 -0
- package/Tests/Utils/Rum/SessionReplayStringMap.test.ts +245 -0
- package/Tests/Utils/StatusPage/ResourceSearch.test.ts +631 -0
- package/Tests/Utils/Telemetry/OriginAllowList.test.ts +633 -0
- package/Tests/Utils/Uptime/DayUptimeGraphUtil.test.ts +461 -0
- package/Tests/Utils/ValueFormatter.test.ts +148 -0
- package/Types/CustomField/CustomFieldMappingCatalog.ts +161 -0
- package/Types/CustomField/CustomFieldMappingSourceResource.ts +19 -0
- package/Types/CustomField/CustomFieldValueMapping.ts +288 -0
- package/Types/Icon/IconProp.ts +1 -0
- package/Types/JSONFunctions.ts +189 -43
- package/Types/Monitor/CephAlertTemplates.ts +157 -195
- package/Types/Monitor/DockerAlertTemplates.ts +338 -128
- package/Types/Monitor/DockerSwarmAlertTemplates.ts +95 -112
- package/Types/Monitor/HostAlertTemplates.ts +302 -130
- package/Types/Monitor/IotAlertTemplates.ts +112 -104
- package/Types/Monitor/KubernetesAlertTemplates.ts +415 -224
- package/Types/Monitor/KubernetesMetricCatalog.ts +23 -19
- package/Types/Monitor/PodmanAlertTemplates.ts +116 -163
- package/Types/Monitor/ProxmoxAlertTemplates.ts +217 -99
- package/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.ts +98 -6
- package/Types/Monitor/Recommendation/MonitorRecommendationUtil.ts +44 -7
- package/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.ts +383 -0
- package/Types/Monitor/RumAlertTemplates.ts +46 -7
- package/Types/Monitor/SeriesContext/SeriesDebugHints.ts +596 -0
- package/Types/Monitor/SeriesContext/SeriesLabelDisplay.ts +554 -0
- package/Types/Monitor/ServiceAlertTemplates.ts +98 -11
- package/Types/Monitor/UptimeHistoryLabels.ts +56 -0
- package/Types/NotificationSetting/RoutineEmailEvents.ts +30 -0
- package/Types/Rum/SessionReplay.ts +209 -0
- package/Types/Rum/SessionReplayApi.ts +722 -0
- package/Types/Rum/SessionReplayCaptureTrigger.ts +21 -12
- package/Types/Rum/SessionReplayConsentMode.ts +11 -7
- package/Types/Rum/SessionReplayCustomEvents.ts +549 -0
- package/Types/Rum/SessionReplayHealth.ts +238 -0
- package/Types/Telemetry/TelemetryIngestSurface.ts +95 -0
- package/Types/Telemetry/TelemetryIngestionKeyPolicy.ts +75 -0
- package/Types/Telemetry/TelemetryIngestionKeyType.ts +29 -0
- package/Types/WebsiteRequest.ts +85 -3
- package/UI/Components/Charts/Area/AreaChart.tsx +13 -2
- package/UI/Components/Charts/Bar/BarChart.tsx +6 -2
- package/UI/Components/Charts/Line/LineChart.tsx +13 -2
- package/UI/Components/Charts/Types/XAxis/XAxis.ts +29 -0
- package/UI/Components/Charts/Utils/DataPoint.ts +22 -3
- package/UI/Components/Charts/Utils/TimeAnnotation.ts +76 -9
- package/UI/Components/Charts/Utils/XAxis.ts +217 -0
- package/UI/Components/CustomFields/CustomFieldsDetail.tsx +143 -25
- package/UI/Components/CustomFields/MapFromCustomFieldInput.tsx +216 -0
- package/UI/Components/Graphs/DayUptimeGraph.tsx +173 -8
- package/UI/Components/Graphs/UptimeBarTooltip.tsx +22 -278
- package/UI/Components/Graphs/UptimeDaySummary.tsx +327 -0
- package/UI/Components/Header/Header.tsx +25 -9
- package/UI/Components/Header/IconDropdown/IconDropdownItem.tsx +10 -1
- package/UI/Components/Header/IconDropdown/IconDropdownMenu.tsx +6 -1
- package/UI/Components/Header/ProjectPicker/ProjectPicker.tsx +6 -1
- package/UI/Components/HeaderAlert/NotificationBell/NotificationBellDropdown.tsx +6 -1
- package/UI/Components/Icon/Icon.tsx +11 -0
- package/UI/Components/JSONTable/JSONTable.tsx +2 -2
- package/UI/Components/KeyboardShortcut/KeyboardShortcutsModal.tsx +125 -0
- package/UI/Components/KeyboardShortcut/Screenshots/README.md +19 -0
- package/UI/Components/KeyboardShortcut/Screenshots/keyboard-shortcuts-command-palette.png +0 -0
- package/UI/Components/KeyboardShortcut/Screenshots/keyboard-shortcuts-dialog-dark.png +0 -0
- package/UI/Components/KeyboardShortcut/Screenshots/keyboard-shortcuts-dialog.png +0 -0
- package/UI/Components/KeyboardShortcut/Screenshots/keyboard-shortcuts-help-menu.png +0 -0
- package/UI/Components/KeyboardShortcut/Screenshots/keyboard-shortcuts-narrow.png +0 -0
- package/UI/Components/ModelTable/Column.ts +15 -0
- package/UI/Components/Monitor/SeriesDebugCommandsViewer.tsx +64 -0
- package/UI/Components/Monitor/SeriesLabelsViewer.tsx +93 -0
- package/UI/Components/MonitorGraphs/Uptime.tsx +14 -2
- package/UI/Components/MonitorGraphs/UptimeBarDayModal.tsx +63 -10
- package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +44 -0
- package/UI/Components/StatusPage/ResourceGroupSection.tsx +40 -0
- package/UI/Components/Table/CellClassName.ts +81 -0
- package/UI/Components/Table/TableRow.tsx +20 -14
- package/UI/Components/Table/TableSkeletonRows.tsx +9 -9
- package/UI/Components/Table/Types/Column.ts +36 -0
- package/UI/Components/Tooltip/Tooltip.tsx +11 -1
- package/UI/Components/Workflow/ComponentsModal.tsx +60 -39
- package/UI/Components/Workflow/NodePlacement.ts +57 -0
- package/UI/Components/Workflow/Workflow.tsx +47 -18
- package/UI/Config.ts +15 -33
- package/UI/Utils/GlobalKeyboardShortcut.ts +208 -0
- package/UI/Utils/Telemetry/BrowserTelemetryConfig.ts +28 -0
- package/UI/Utils/Telemetry/Telemetry.ts +10 -8
- package/Utils/API.ts +129 -3
- package/Utils/HTTPResponseBodyReader.ts +221 -0
- package/Utils/NetworkDiscovery/DiscoveryScanStatus.ts +77 -0
- package/Utils/Rum/ChunkMath.ts +106 -0
- package/Utils/Rum/SessionReplayHealth.ts +732 -0
- package/Utils/Rum/SessionReplayStringMap.ts +226 -0
- package/Utils/Schema/ModelSchema.ts +1 -0
- package/Utils/StatusPage/ResourceSearch.ts +290 -0
- package/Utils/Telemetry/OriginAllowList.ts +355 -0
- package/Utils/Uptime/DayUptimeGraphUtil.ts +205 -0
- package/Utils/ValueFormatter.ts +35 -1
- package/build/dist/Models/AnalyticsModels/RumSession.js +102 -19
- package/build/dist/Models/AnalyticsModels/RumSession.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/RumSessionChunk.js +11 -9
- package/build/dist/Models/AnalyticsModels/RumSessionChunk.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/AlertCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ApiKeyPermission.js +3 -27
- package/build/dist/Models/DatabaseModels/ApiKeyPermission.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/InventoryItemCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/InventoryItemCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/MonitorCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/RumApplication.js +6 -6
- package/build/dist/Models/DatabaseModels/RumApplication.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/StatusPageCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/TeamCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamMember.js +0 -9
- package/build/dist/Models/DatabaseModels/TeamMember.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamPermission.js +3 -24
- package/build/dist/Models/DatabaseModels/TeamPermission.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js +267 -0
- package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserTelegram.js +0 -4
- package/build/dist/Models/DatabaseModels/UserTelegram.js.map +1 -1
- package/build/dist/Server/API/TelemetryAPI.js +769 -109
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/API/UserNotificationSettingAPI.js +35 -0
- package/build/dist/Server/API/UserNotificationSettingAPI.js.map +1 -0
- package/build/dist/Server/API/UserTelegramAPI.js +28 -6
- package/build/dist/Server/API/UserTelegramAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +29 -2
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791300000000-AddTelemetryIngestionKeyType.js +60 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791300000000-AddTelemetryIngestionKeyType.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791400000000-SessionReplayRecordEverySessionByDefault.js +53 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791400000000-SessionReplayRecordEverySessionByDefault.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791500000000-WidenCustomFieldDropdownOptions.js +82 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791500000000-WidenCustomFieldDropdownOptions.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791600000000-AddCustomFieldValueMapping.js +46 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791600000000-AddCustomFieldValueMapping.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Infrastructure/QueueWorker.js +19 -7
- package/build/dist/Server/Infrastructure/QueueWorker.js.map +1 -1
- package/build/dist/Server/Infrastructure/Semaphore.js +1 -0
- package/build/dist/Server/Infrastructure/Semaphore.js.map +1 -1
- package/build/dist/Server/Middleware/TelemetryIngest.js +315 -8
- package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
- package/build/dist/Server/Services/AccessTokenService.js +1 -0
- package/build/dist/Server/Services/AccessTokenService.js.map +1 -1
- package/build/dist/Server/Services/AlertCustomFieldService.js +93 -0
- package/build/dist/Server/Services/AlertCustomFieldService.js.map +1 -1
- package/build/dist/Server/Services/AlertService.js +34 -0
- package/build/dist/Server/Services/AlertService.js.map +1 -1
- package/build/dist/Server/Services/ApiKeyPermissionService.js +331 -28
- package/build/dist/Server/Services/ApiKeyPermissionService.js.map +1 -1
- package/build/dist/Server/Services/CustomFieldMappingService.js +614 -0
- package/build/dist/Server/Services/CustomFieldMappingService.js.map +1 -0
- package/build/dist/Server/Services/GlobalConfigService.js +133 -0
- package/build/dist/Server/Services/GlobalConfigService.js.map +1 -1
- package/build/dist/Server/Services/IncidentCustomFieldService.js +93 -0
- package/build/dist/Server/Services/IncidentCustomFieldService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +32 -0
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/MetricService.js +163 -0
- package/build/dist/Server/Services/MetricService.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +29 -0
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +79 -27
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +22 -0
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/RoutineEmailSettingsService.js +69 -0
- package/build/dist/Server/Services/RoutineEmailSettingsService.js.map +1 -0
- package/build/dist/Server/Services/RumSessionReplayViewService.js +86 -24
- package/build/dist/Server/Services/RumSessionReplayViewService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceCustomFieldService.js +93 -0
- package/build/dist/Server/Services/ScheduledMaintenanceCustomFieldService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceService.js +29 -0
- package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
- package/build/dist/Server/Services/TeamMemberService.js +62 -2
- package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
- package/build/dist/Server/Services/TeamPermissionService.js +166 -3
- package/build/dist/Server/Services/TeamPermissionService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryIngestionKeyService.js +562 -18
- package/build/dist/Server/Services/TelemetryIngestionKeyService.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationSettingService.js +26 -6
- package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
- package/build/dist/Server/Services/UserTelegramService.js +257 -4
- package/build/dist/Server/Services/UserTelegramService.js.map +1 -1
- package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
- package/build/dist/Server/Utils/APIKey/AccessPermission.js +2 -2
- package/build/dist/Server/Utils/APIKey/AccessPermission.js.map +1 -1
- package/build/dist/Server/Utils/CustomField/CustomFieldDefinitionMappingHooks.js +27 -0
- package/build/dist/Server/Utils/CustomField/CustomFieldDefinitionMappingHooks.js.map +1 -0
- package/build/dist/Server/Utils/CustomField/CustomFieldMappingRegistry.js +226 -0
- package/build/dist/Server/Utils/CustomField/CustomFieldMappingRegistry.js.map +1 -0
- package/build/dist/Server/Utils/CustomField/CustomFieldMappingValidator.js +189 -0
- package/build/dist/Server/Utils/CustomField/CustomFieldMappingValidator.js.map +1 -0
- package/build/dist/Server/Utils/DataSource/EgressGuard.js +121 -7
- package/build/dist/Server/Utils/DataSource/EgressGuard.js.map +1 -1
- package/build/dist/Server/Utils/EmailRollup/EmailRollupConstants.js +38 -5
- package/build/dist/Server/Utils/EmailRollup/EmailRollupConstants.js.map +1 -1
- package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js +44 -2
- package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js.map +1 -1
- package/build/dist/Server/Utils/FrontendEnvironment.js +33 -0
- package/build/dist/Server/Utils/FrontendEnvironment.js.map +1 -0
- package/build/dist/Server/Utils/LogRedaction.js +20 -0
- package/build/dist/Server/Utils/LogRedaction.js.map +1 -1
- package/build/dist/Server/Utils/Logger.js +10 -0
- package/build/dist/Server/Utils/Logger.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +287 -68
- package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.js +20 -4
- package/build/dist/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +29 -6
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +88 -13
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +22 -6
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +22 -0
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/SeriesContextEnricher.js +237 -0
- package/build/dist/Server/Utils/Monitor/SeriesContextEnricher.js.map +1 -0
- package/build/dist/Server/Utils/SSRFProtection.js +136 -9
- package/build/dist/Server/Utils/SSRFProtection.js.map +1 -1
- package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCache.js +174 -89
- package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCache.js.map +1 -1
- package/build/dist/Server/Utils/SessionReplay/SessionReplayHealthCounters.js +223 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayHealthCounters.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js +945 -164
- package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js.map +1 -1
- package/build/dist/Server/Utils/StartServer.js +3 -14
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/TelegramVerificationToken.js +129 -0
- package/build/dist/Server/Utils/TelegramVerificationToken.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/PinServiceName.js +163 -0
- package/build/dist/Server/Utils/Telemetry/PinServiceName.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/TelemetryFanInWriter.js +28 -15
- package/build/dist/Server/Utils/Telemetry/TelemetryFanInWriter.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.js +64 -0
- package/build/dist/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/TelemetryIngestionKeyRateLimiter.js +171 -0
- package/build/dist/Server/Utils/Telemetry/TelemetryIngestionKeyRateLimiter.js.map +1 -0
- package/build/dist/Server/Utils/VM/VMAPI.js.map +1 -1
- package/build/dist/Server/Utils/VM/VMRunner.js +780 -69
- package/build/dist/Server/Utils/VM/VMRunner.js.map +1 -1
- package/build/dist/Types/CustomField/CustomFieldMappingCatalog.js +60 -0
- package/build/dist/Types/CustomField/CustomFieldMappingCatalog.js.map +1 -0
- package/build/dist/Types/CustomField/CustomFieldMappingSourceResource.js +20 -0
- package/build/dist/Types/CustomField/CustomFieldMappingSourceResource.js.map +1 -0
- package/build/dist/Types/CustomField/CustomFieldValueMapping.js +141 -0
- package/build/dist/Types/CustomField/CustomFieldValueMapping.js.map +1 -0
- package/build/dist/Types/Icon/IconProp.js +1 -0
- package/build/dist/Types/Icon/IconProp.js.map +1 -1
- package/build/dist/Types/JSONFunctions.js +118 -37
- package/build/dist/Types/JSONFunctions.js.map +1 -1
- package/build/dist/Types/Monitor/CephAlertTemplates.js +130 -171
- package/build/dist/Types/Monitor/CephAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/DockerAlertTemplates.js +286 -121
- package/build/dist/Types/Monitor/DockerAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/DockerSwarmAlertTemplates.js +84 -105
- package/build/dist/Types/Monitor/DockerSwarmAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/HostAlertTemplates.js +250 -122
- package/build/dist/Types/Monitor/HostAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/IotAlertTemplates.js +81 -81
- package/build/dist/Types/Monitor/IotAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/KubernetesAlertTemplates.js +375 -215
- package/build/dist/Types/Monitor/KubernetesAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/KubernetesMetricCatalog.js +19 -19
- package/build/dist/Types/Monitor/KubernetesMetricCatalog.js.map +1 -1
- package/build/dist/Types/Monitor/PodmanAlertTemplates.js +104 -153
- package/build/dist/Types/Monitor/PodmanAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js +156 -91
- package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.js +67 -6
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js +38 -7
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.js +261 -0
- package/build/dist/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.js.map +1 -0
- package/build/dist/Types/Monitor/RumAlertTemplates.js +46 -7
- package/build/dist/Types/Monitor/RumAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/SeriesContext/SeriesDebugHints.js +422 -0
- package/build/dist/Types/Monitor/SeriesContext/SeriesDebugHints.js.map +1 -0
- package/build/dist/Types/Monitor/SeriesContext/SeriesLabelDisplay.js +441 -0
- package/build/dist/Types/Monitor/SeriesContext/SeriesLabelDisplay.js.map +1 -0
- package/build/dist/Types/Monitor/ServiceAlertTemplates.js +79 -15
- package/build/dist/Types/Monitor/ServiceAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/UptimeHistoryLabels.js +17 -0
- package/build/dist/Types/Monitor/UptimeHistoryLabels.js.map +1 -0
- package/build/dist/Types/NotificationSetting/RoutineEmailEvents.js +29 -0
- package/build/dist/Types/NotificationSetting/RoutineEmailEvents.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplay.js +117 -0
- package/build/dist/Types/Rum/SessionReplay.js.map +1 -1
- package/build/dist/Types/Rum/SessionReplayApi.js +181 -0
- package/build/dist/Types/Rum/SessionReplayApi.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplayCaptureTrigger.js +21 -12
- package/build/dist/Types/Rum/SessionReplayCaptureTrigger.js.map +1 -1
- package/build/dist/Types/Rum/SessionReplayConsentMode.js +11 -7
- package/build/dist/Types/Rum/SessionReplayConsentMode.js.map +1 -1
- package/build/dist/Types/Rum/SessionReplayCustomEvents.js +172 -0
- package/build/dist/Types/Rum/SessionReplayCustomEvents.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplayHealth.js +37 -0
- package/build/dist/Types/Rum/SessionReplayHealth.js.map +1 -0
- package/build/dist/Types/Telemetry/TelemetryIngestSurface.js +85 -0
- package/build/dist/Types/Telemetry/TelemetryIngestSurface.js.map +1 -0
- package/build/dist/Types/Telemetry/TelemetryIngestionKeyPolicy.js +15 -0
- package/build/dist/Types/Telemetry/TelemetryIngestionKeyPolicy.js.map +1 -0
- package/build/dist/Types/Telemetry/TelemetryIngestionKeyType.js +30 -0
- package/build/dist/Types/Telemetry/TelemetryIngestionKeyType.js.map +1 -0
- package/build/dist/Types/WebsiteRequest.js +55 -3
- package/build/dist/Types/WebsiteRequest.js.map +1 -1
- package/build/dist/UI/Components/Charts/Area/AreaChart.js +13 -2
- package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Bar/BarChart.js +6 -2
- package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Line/LineChart.js +13 -2
- package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Types/XAxis/XAxis.js.map +1 -1
- package/build/dist/UI/Components/Charts/Utils/DataPoint.js +15 -3
- package/build/dist/UI/Components/Charts/Utils/DataPoint.js.map +1 -1
- package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js +40 -9
- package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js.map +1 -1
- package/build/dist/UI/Components/Charts/Utils/XAxis.js +186 -0
- package/build/dist/UI/Components/Charts/Utils/XAxis.js.map +1 -1
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +80 -6
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
- package/build/dist/UI/Components/CustomFields/MapFromCustomFieldInput.js +118 -0
- package/build/dist/UI/Components/CustomFields/MapFromCustomFieldInput.js.map +1 -0
- package/build/dist/UI/Components/Graphs/DayUptimeGraph.js +112 -7
- package/build/dist/UI/Components/Graphs/DayUptimeGraph.js.map +1 -1
- package/build/dist/UI/Components/Graphs/UptimeBarTooltip.js +5 -162
- package/build/dist/UI/Components/Graphs/UptimeBarTooltip.js.map +1 -1
- package/build/dist/UI/Components/Graphs/UptimeDaySummary.js +181 -0
- package/build/dist/UI/Components/Graphs/UptimeDaySummary.js.map +1 -0
- package/build/dist/UI/Components/Header/Header.js +2 -3
- package/build/dist/UI/Components/Header/Header.js.map +1 -1
- package/build/dist/UI/Components/Header/IconDropdown/IconDropdownItem.js +2 -1
- package/build/dist/UI/Components/Header/IconDropdown/IconDropdownItem.js.map +1 -1
- package/build/dist/UI/Components/Header/IconDropdown/IconDropdownMenu.js +7 -1
- package/build/dist/UI/Components/Header/IconDropdown/IconDropdownMenu.js.map +1 -1
- package/build/dist/UI/Components/Header/ProjectPicker/ProjectPicker.js +7 -1
- package/build/dist/UI/Components/Header/ProjectPicker/ProjectPicker.js.map +1 -1
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellDropdown.js +7 -1
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellDropdown.js.map +1 -1
- package/build/dist/UI/Components/Icon/Icon.js +5 -0
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/UI/Components/JSONTable/JSONTable.js +2 -2
- package/build/dist/UI/Components/JSONTable/JSONTable.js.map +1 -1
- package/build/dist/UI/Components/KeyboardShortcut/KeyboardShortcutsModal.js +35 -0
- package/build/dist/UI/Components/KeyboardShortcut/KeyboardShortcutsModal.js.map +1 -0
- package/build/dist/UI/Components/Monitor/SeriesDebugCommandsViewer.js +34 -0
- package/build/dist/UI/Components/Monitor/SeriesDebugCommandsViewer.js.map +1 -0
- package/build/dist/UI/Components/Monitor/SeriesLabelsViewer.js +49 -0
- package/build/dist/UI/Components/Monitor/SeriesLabelsViewer.js.map +1 -0
- package/build/dist/UI/Components/MonitorGraphs/Uptime.js +1 -1
- package/build/dist/UI/Components/MonitorGraphs/Uptime.js.map +1 -1
- package/build/dist/UI/Components/MonitorGraphs/UptimeBarDayModal.js +32 -6
- package/build/dist/UI/Components/MonitorGraphs/UptimeBarDayModal.js.map +1 -1
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +38 -0
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
- package/build/dist/UI/Components/StatusPage/ResourceGroupSection.js +22 -1
- package/build/dist/UI/Components/StatusPage/ResourceGroupSection.js.map +1 -1
- package/build/dist/UI/Components/Table/CellClassName.js +55 -0
- package/build/dist/UI/Components/Table/CellClassName.js.map +1 -0
- package/build/dist/UI/Components/Table/TableRow.js +16 -13
- package/build/dist/UI/Components/Table/TableRow.js.map +1 -1
- package/build/dist/UI/Components/Table/TableSkeletonRows.js +9 -8
- package/build/dist/UI/Components/Table/TableSkeletonRows.js.map +1 -1
- package/build/dist/UI/Components/Tooltip/Tooltip.js +25 -1
- package/build/dist/UI/Components/Tooltip/Tooltip.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ComponentsModal.js +47 -30
- package/build/dist/UI/Components/Workflow/ComponentsModal.js.map +1 -1
- package/build/dist/UI/Components/Workflow/NodePlacement.js +37 -0
- package/build/dist/UI/Components/Workflow/NodePlacement.js.map +1 -0
- package/build/dist/UI/Components/Workflow/Workflow.js +35 -18
- package/build/dist/UI/Components/Workflow/Workflow.js.map +1 -1
- package/build/dist/UI/Config.js +10 -20
- package/build/dist/UI/Config.js.map +1 -1
- package/build/dist/UI/Utils/GlobalKeyboardShortcut.js +138 -0
- package/build/dist/UI/Utils/GlobalKeyboardShortcut.js.map +1 -0
- package/build/dist/UI/Utils/Telemetry/BrowserTelemetryConfig.js +14 -0
- package/build/dist/UI/Utils/Telemetry/BrowserTelemetryConfig.js.map +1 -0
- package/build/dist/UI/Utils/Telemetry/Telemetry.js +7 -5
- package/build/dist/UI/Utils/Telemetry/Telemetry.js.map +1 -1
- package/build/dist/Utils/API.js +67 -5
- package/build/dist/Utils/API.js.map +1 -1
- package/build/dist/Utils/HTTPResponseBodyReader.js +157 -0
- package/build/dist/Utils/HTTPResponseBodyReader.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/DiscoveryScanStatus.js +69 -0
- package/build/dist/Utils/NetworkDiscovery/DiscoveryScanStatus.js.map +1 -0
- package/build/dist/Utils/Rum/ChunkMath.js +76 -0
- package/build/dist/Utils/Rum/ChunkMath.js.map +1 -1
- package/build/dist/Utils/Rum/SessionReplayHealth.js +534 -0
- package/build/dist/Utils/Rum/SessionReplayHealth.js.map +1 -0
- package/build/dist/Utils/Rum/SessionReplayStringMap.js +165 -0
- package/build/dist/Utils/Rum/SessionReplayStringMap.js.map +1 -0
- package/build/dist/Utils/Schema/ModelSchema.js +1 -0
- package/build/dist/Utils/Schema/ModelSchema.js.map +1 -1
- package/build/dist/Utils/StatusPage/ResourceSearch.js +200 -0
- package/build/dist/Utils/StatusPage/ResourceSearch.js.map +1 -0
- package/build/dist/Utils/Telemetry/OriginAllowList.js +299 -0
- package/build/dist/Utils/Telemetry/OriginAllowList.js.map +1 -0
- package/build/dist/Utils/Uptime/DayUptimeGraphUtil.js +147 -0
- package/build/dist/Utils/Uptime/DayUptimeGraphUtil.js.map +1 -0
- package/build/dist/Utils/ValueFormatter.js +32 -1
- package/build/dist/Utils/ValueFormatter.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,36 @@
|
|
|
1
1
|
import ObjectID from "../ObjectID";
|
|
2
2
|
import MonitorStep from "./MonitorStep";
|
|
3
3
|
import MonitorCriteria from "./MonitorCriteria";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { CheckOn, FilterType, EvaluateOverTimeType } from "./CriteriaFilter";
|
|
4
|
+
import { buildHealthyCriteriaInstance, buildUnhealthyCriteriaInstance, } from "./Recommendation/RecommendationCriteriaBuilder";
|
|
5
|
+
import { FilterType, EvaluateOverTimeType } from "./CriteriaFilter";
|
|
7
6
|
import RollingTime from "../RollingTime/RollingTime";
|
|
8
7
|
import MetricsAggregationType from "../Metrics/MetricsAggregationType";
|
|
8
|
+
/*
|
|
9
|
+
* What an incident/alert title says after the condition.
|
|
10
|
+
*
|
|
11
|
+
* Titles used to end in `- ${args.monitorName}`, and for a monitor created
|
|
12
|
+
* from the Recommendations page that name is ALREADY
|
|
13
|
+
* "<resource> - <template name>"
|
|
14
|
+
* (MonitorRecommendationUtil.getMonitorName), so the rendered title stated
|
|
15
|
+
* the same fact twice:
|
|
16
|
+
*
|
|
17
|
+
* "[Docker] High CPU Usage (>80%) - docker-host-01 - High Container CPU Usage"
|
|
18
|
+
*
|
|
19
|
+
* SeriesContextEnricher then appends the container identity on top of that,
|
|
20
|
+
* which pushes the one thing that differs between two alerts — WHICH
|
|
21
|
+
* container — off the end of a phone notification.
|
|
22
|
+
*
|
|
23
|
+
* The host is the half worth keeping, and it is the half the alert email
|
|
24
|
+
* never renders otherwise (the email shows the alert title, the affected
|
|
25
|
+
* SERIES, severity, root cause and description — never the monitor's own
|
|
26
|
+
* name), so name it directly. Guarded because the in-form template picker
|
|
27
|
+
* can build a step before a host is chosen (DockerMonitorStepForm passes
|
|
28
|
+
* `hostIdentifier || ""`), and a title ending in a bare dash reads like a
|
|
29
|
+
* bug.
|
|
30
|
+
*/
|
|
31
|
+
function dockerTitleSuffix(args) {
|
|
32
|
+
return args.hostIdentifier ? ` - ${args.hostIdentifier}` : "";
|
|
33
|
+
}
|
|
9
34
|
/*
|
|
10
35
|
* Filter contract: the Docker agent stamps container identity as OTLP
|
|
11
36
|
* RESOURCE attributes, so ClickHouse stores them `resource.`-prefixed:
|
|
@@ -17,9 +42,16 @@ import MetricsAggregationType from "../Metrics/MetricsAggregationType";
|
|
|
17
42
|
* independently — one incident per container instead of one incident for
|
|
18
43
|
* the whole host, where the busiest container silences every other one.
|
|
19
44
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
45
|
+
* The Docker SWARM agent runs the SAME docker_stats receiver with no
|
|
46
|
+
* attribute-moving transform (DockerSwarmAgent/otel-collector-config.yaml:
|
|
47
|
+
* receivers `[docker_stats]`, processors `[memory_limiter, resource,
|
|
48
|
+
* batch]`, where `resource` only upserts `docker.swarm.cluster.name` and
|
|
49
|
+
* `oneuptime.agent.version`), so Swarm container identity is stored
|
|
50
|
+
* `resource.`-prefixed too. DockerSwarmAlertTemplates.ts groups by the bare
|
|
51
|
+
* `container.name`; that key matches no stored attribute, and
|
|
52
|
+
* aggregatePerSeriesFromRawMetrics labels a missing key "" — collapsing
|
|
53
|
+
* every Swarm container into ONE series with an empty label. Do not copy
|
|
54
|
+
* that spelling.
|
|
23
55
|
*/
|
|
24
56
|
export function buildDockerMonitorStep(args) {
|
|
25
57
|
const monitorStep = new MonitorStep();
|
|
@@ -58,79 +90,10 @@ export function buildDockerMonitorStep(args) {
|
|
|
58
90
|
return monitorStep;
|
|
59
91
|
}
|
|
60
92
|
export function buildDockerOfflineCriteriaInstance(args) {
|
|
61
|
-
|
|
62
|
-
const incidentTitle = args.incidentTitle || `${args.monitorName} - Alert Triggered`;
|
|
63
|
-
const incidentDescription = args.incidentDescription ||
|
|
64
|
-
`${args.monitorName} has triggered an alert condition. See root cause for detailed Docker container information.`;
|
|
65
|
-
instance.data = {
|
|
66
|
-
id: ObjectID.generate().toString(),
|
|
67
|
-
monitorStatusId: args.offlineMonitorStatusId,
|
|
68
|
-
filterCondition: FilterCondition.Any,
|
|
69
|
-
filters: [
|
|
70
|
-
{
|
|
71
|
-
checkOn: CheckOn.MetricValue,
|
|
72
|
-
filterType: args.filterType,
|
|
73
|
-
metricMonitorOptions: {
|
|
74
|
-
metricAggregationType: EvaluateOverTimeType.AnyValue,
|
|
75
|
-
metricAlias: args.metricAlias,
|
|
76
|
-
},
|
|
77
|
-
value: args.value,
|
|
78
|
-
},
|
|
79
|
-
],
|
|
80
|
-
incidents: [
|
|
81
|
-
{
|
|
82
|
-
title: incidentTitle,
|
|
83
|
-
description: incidentDescription,
|
|
84
|
-
incidentSeverityId: args.incidentSeverityId,
|
|
85
|
-
autoResolveIncident: true,
|
|
86
|
-
id: ObjectID.generate().toString(),
|
|
87
|
-
onCallPolicyIds: [],
|
|
88
|
-
},
|
|
89
|
-
],
|
|
90
|
-
alerts: [
|
|
91
|
-
{
|
|
92
|
-
title: incidentTitle,
|
|
93
|
-
description: incidentDescription,
|
|
94
|
-
alertSeverityId: args.alertSeverityId,
|
|
95
|
-
autoResolveAlert: true,
|
|
96
|
-
id: ObjectID.generate().toString(),
|
|
97
|
-
onCallPolicyIds: [],
|
|
98
|
-
},
|
|
99
|
-
],
|
|
100
|
-
changeMonitorStatus: true,
|
|
101
|
-
createIncidents: true,
|
|
102
|
-
createAlerts: true,
|
|
103
|
-
name: args.criteriaName || `${args.monitorName} - Unhealthy`,
|
|
104
|
-
description: args.criteriaDescription || `Criteria for detecting unhealthy state.`,
|
|
105
|
-
};
|
|
106
|
-
return instance;
|
|
93
|
+
return buildUnhealthyCriteriaInstance(Object.assign(Object.assign({}, args), { resourceNoun: "container" }));
|
|
107
94
|
}
|
|
108
95
|
export function buildDockerOnlineCriteriaInstance(args) {
|
|
109
|
-
|
|
110
|
-
instance.data = {
|
|
111
|
-
id: ObjectID.generate().toString(),
|
|
112
|
-
monitorStatusId: args.onlineMonitorStatusId,
|
|
113
|
-
filterCondition: FilterCondition.Any,
|
|
114
|
-
filters: [
|
|
115
|
-
{
|
|
116
|
-
checkOn: CheckOn.MetricValue,
|
|
117
|
-
filterType: args.filterType,
|
|
118
|
-
metricMonitorOptions: {
|
|
119
|
-
metricAggregationType: EvaluateOverTimeType.AnyValue,
|
|
120
|
-
metricAlias: args.metricAlias,
|
|
121
|
-
},
|
|
122
|
-
value: args.value,
|
|
123
|
-
},
|
|
124
|
-
],
|
|
125
|
-
incidents: [],
|
|
126
|
-
alerts: [],
|
|
127
|
-
changeMonitorStatus: true,
|
|
128
|
-
createIncidents: false,
|
|
129
|
-
createAlerts: false,
|
|
130
|
-
name: "Healthy",
|
|
131
|
-
description: "Criteria for healthy state.",
|
|
132
|
-
};
|
|
133
|
-
return instance;
|
|
96
|
+
return buildHealthyCriteriaInstance(args);
|
|
134
97
|
}
|
|
135
98
|
export function buildDockerMonitorConfig(args) {
|
|
136
99
|
return {
|
|
@@ -161,11 +124,125 @@ export function buildDockerMonitorConfig(args) {
|
|
|
161
124
|
rollingTime: args.rollingTime,
|
|
162
125
|
};
|
|
163
126
|
}
|
|
127
|
+
/*
|
|
128
|
+
* Two queries over the SAME cumulative counter, differenced per bucket.
|
|
129
|
+
*
|
|
130
|
+
* Some Docker signals are monotonic LIFETIME counters, not levels.
|
|
131
|
+
* `container.cpu.throttling_data.throttled_time` is the total nanoseconds
|
|
132
|
+
* the cgroup has ever been throttled; `container.restarts` is Docker's
|
|
133
|
+
* lifetime RestartCount. Thresholding either one directly has two failure
|
|
134
|
+
* modes, and BOTH shipped:
|
|
135
|
+
*
|
|
136
|
+
* - it fires on history. A container throttled once an hour ago, or that
|
|
137
|
+
* crash-looped last week, still reports a non-zero lifetime total
|
|
138
|
+
* forever — so "> 0" / "> 5" is true for essentially every container
|
|
139
|
+
* that has ever had a bad day. Sustained evaluation makes this worse,
|
|
140
|
+
* not better: every per-minute bucket of a lifetime counter breaches.
|
|
141
|
+
* - it can never recover. A monotonic counter cannot come back down, so
|
|
142
|
+
* the complementary healthy comparison ("= 0", "<= 4.5") is unreachable
|
|
143
|
+
* by construction. The alert stays open until a human closes it, and
|
|
144
|
+
* the next evaluation reopens it.
|
|
145
|
+
*
|
|
146
|
+
* The alerting path has no rate operator. `transformAsRate` on
|
|
147
|
+
* MetricQueryConfigData is CHART-only (MetricCharts.tsx is its only reader;
|
|
148
|
+
* monitorDocker never looks at it), and `transformValue` is a function, so
|
|
149
|
+
* it cannot survive the JSON round-trip a monitor step takes through
|
|
150
|
+
* Postgres. Nothing between ingest and alerting differences a cumulative
|
|
151
|
+
* OTLP sum either — OtelMetricsIngestService only RECORDS
|
|
152
|
+
* `aggregationTemporality`/`isMonotonic` so the browser can suggest a rate
|
|
153
|
+
* view. So the delta has to be built from what the worker does honour: two
|
|
154
|
+
* queries over the same metric, one Max and one Min, plus a formula
|
|
155
|
+
* subtracting them. `aggregatePerSeriesFromRawMetrics` buckets rows per
|
|
156
|
+
* (series, minute) using EACH query's own aggregation, so `max - min` is
|
|
157
|
+
* the counter's increase WITHIN each minute, and the criteria's
|
|
158
|
+
* `EvaluateOverTimeType.Sum` totals those increases across the window.
|
|
159
|
+
*
|
|
160
|
+
* READ THE THRESHOLD AGAINST THE AGENT'S SCRAPE INTERVAL. Two consequences:
|
|
161
|
+
*
|
|
162
|
+
* 1. The delta only sees growth BETWEEN samples inside one bucket. The
|
|
163
|
+
* shipped agent scrapes every 30s
|
|
164
|
+
* (DockerAgent/otel-collector-config.yaml), giving exactly two samples
|
|
165
|
+
* per one-minute bucket, so roughly HALF the window's growth is
|
|
166
|
+
* counted. That is not a rounding error — every threshold below is
|
|
167
|
+
* effectively "about twice this much real activity". It only ever
|
|
168
|
+
* UNDERCOUNTS, so ordinary data cannot manufacture a breach. Do not
|
|
169
|
+
* raise a threshold to "compensate"; it is already compensated for.
|
|
170
|
+
* 2. At a scrape interval of 60s or slower each bucket holds a single
|
|
171
|
+
* sample, `max - min` is identically 0, and every template built on
|
|
172
|
+
* this helper stops alerting entirely, silently. Anyone raising
|
|
173
|
+
* `collection_interval` past 30s has to revisit these.
|
|
174
|
+
*
|
|
175
|
+
* It CAN spike on a counter RESET. A container restart recreates the
|
|
176
|
+
* cgroup, so a bucket straddling the restart sees [large, small] and
|
|
177
|
+
* reports the whole pre-restart lifetime total as one minute of growth — a
|
|
178
|
+
* spurious alert that clears itself once that minute leaves the rolling
|
|
179
|
+
* window. Prometheus-style reset detection would need consecutive raw
|
|
180
|
+
* samples the worker never exposes, so this is accepted rather than fixed.
|
|
181
|
+
* It is bounded, unlike the permanent alert it replaces.
|
|
182
|
+
*
|
|
183
|
+
* If the formula fails to evaluate, appendFormulaResults pushes an empty
|
|
184
|
+
* result and NEITHER criteria fires (NoDataPolicy.Ignore): the monitor
|
|
185
|
+
* holds its previous status rather than flipping.
|
|
186
|
+
*/
|
|
187
|
+
export function buildDockerDeltaMonitorConfig(args) {
|
|
188
|
+
const buildQueryConfig = (alias, aggregationType) => {
|
|
189
|
+
return {
|
|
190
|
+
metricAliasData: {
|
|
191
|
+
metricVariable: alias,
|
|
192
|
+
title: alias,
|
|
193
|
+
description: alias,
|
|
194
|
+
legend: alias,
|
|
195
|
+
// Unset so MetricResultUnitConverter passes the raw value through.
|
|
196
|
+
legendUnit: undefined,
|
|
197
|
+
},
|
|
198
|
+
metricQueryData: Object.assign({ filterData: {
|
|
199
|
+
metricName: args.metricName,
|
|
200
|
+
attributes: {},
|
|
201
|
+
aggegationType: aggregationType,
|
|
202
|
+
aggregateBy: {},
|
|
203
|
+
} }, (args.groupByAttributeKey
|
|
204
|
+
? { groupByAttributeKeys: [args.groupByAttributeKey] }
|
|
205
|
+
: {})),
|
|
206
|
+
};
|
|
207
|
+
};
|
|
208
|
+
const expression = args.scaleDivisor
|
|
209
|
+
? `(${args.maxAlias} - ${args.minAlias}) / ${args.scaleDivisor}`
|
|
210
|
+
: `${args.maxAlias} - ${args.minAlias}`;
|
|
211
|
+
return {
|
|
212
|
+
hostIdentifier: args.hostIdentifier,
|
|
213
|
+
containerFilters: {},
|
|
214
|
+
metricViewConfig: {
|
|
215
|
+
/*
|
|
216
|
+
* The Max query is FIRST so `queryConfigs[0]` still describes the
|
|
217
|
+
* underlying metric, the way it does for a single-query template.
|
|
218
|
+
*/
|
|
219
|
+
queryConfigs: [
|
|
220
|
+
buildQueryConfig(args.maxAlias, MetricsAggregationType.Max),
|
|
221
|
+
buildQueryConfig(args.minAlias, MetricsAggregationType.Min),
|
|
222
|
+
],
|
|
223
|
+
formulaConfigs: [
|
|
224
|
+
{
|
|
225
|
+
metricAliasData: {
|
|
226
|
+
metricVariable: args.resultAlias,
|
|
227
|
+
title: args.resultLegend,
|
|
228
|
+
description: args.resultLegend,
|
|
229
|
+
legend: args.resultLegend,
|
|
230
|
+
legendUnit: args.resultLegendUnit,
|
|
231
|
+
},
|
|
232
|
+
metricFormulaData: {
|
|
233
|
+
metricFormula: expression,
|
|
234
|
+
},
|
|
235
|
+
},
|
|
236
|
+
],
|
|
237
|
+
},
|
|
238
|
+
rollingTime: args.rollingTime,
|
|
239
|
+
};
|
|
240
|
+
}
|
|
164
241
|
// --- Template Definitions ---
|
|
165
242
|
const highCpuTemplate = {
|
|
166
243
|
id: "docker-high-cpu",
|
|
167
244
|
name: "High Container CPU Usage",
|
|
168
|
-
description: "Alert when container CPU usage
|
|
245
|
+
description: "Alert when a container's CPU usage stays above 80% of ONE CPU core for the whole window. This is the same number `docker stats` prints, so 100% is one full core and a container spread across several cores reads above 100. One alert per container.",
|
|
169
246
|
category: "Resource",
|
|
170
247
|
severity: "Warning",
|
|
171
248
|
getMonitorStep: (args) => {
|
|
@@ -192,10 +269,10 @@ const highCpuTemplate = {
|
|
|
192
269
|
metricAlias,
|
|
193
270
|
filterType: FilterType.GreaterThan,
|
|
194
271
|
value: 80,
|
|
195
|
-
incidentTitle: `[Docker] High CPU Usage (>80%
|
|
196
|
-
incidentDescription: `A Docker container's CPU usage
|
|
197
|
-
criteriaName: "High CPU - Usage > 80%",
|
|
198
|
-
criteriaDescription: "Triggers when
|
|
272
|
+
incidentTitle: `[Docker] High CPU Usage (>80% of one core)${dockerTitleSuffix(args)}`,
|
|
273
|
+
incidentDescription: `A Docker container's CPU usage stayed above 80% of a single CPU core for the whole evaluation window. \`container.cpu.utilization\` is the figure \`docker stats\` reports: 100% is one full core, NOT 100% of the host, so a container using two cores reads 200. On a multi-core host this threshold is therefore an absolute CPU budget rather than a share of the machine — raise it if this container is meant to use more than one core. Check the root cause for the container and the observed values.`,
|
|
274
|
+
criteriaName: "High CPU - Usage > 80% of one core",
|
|
275
|
+
criteriaDescription: "Triggers when a container's CPU usage stays above 80% of one CPU core across the monitoring window.",
|
|
199
276
|
}),
|
|
200
277
|
onlineCriteriaInstance: buildDockerOnlineCriteriaInstance({
|
|
201
278
|
onlineMonitorStatusId: args.onlineMonitorStatusId,
|
|
@@ -209,7 +286,7 @@ const highCpuTemplate = {
|
|
|
209
286
|
const highMemoryTemplate = {
|
|
210
287
|
id: "docker-high-memory",
|
|
211
288
|
name: "High Container Memory Usage",
|
|
212
|
-
description: "Alert when container memory usage
|
|
289
|
+
description: "Alert when container memory usage stays above 85% of its memory limit — or of HOST memory, when the container was started without a limit. One alert per container.",
|
|
213
290
|
category: "Resource",
|
|
214
291
|
severity: "Warning",
|
|
215
292
|
getMonitorStep: (args) => {
|
|
@@ -236,10 +313,10 @@ const highMemoryTemplate = {
|
|
|
236
313
|
metricAlias,
|
|
237
314
|
filterType: FilterType.GreaterThan,
|
|
238
315
|
value: 85,
|
|
239
|
-
incidentTitle: `[Docker] High Memory Usage (>85%)
|
|
240
|
-
incidentDescription: `A Docker container's memory usage
|
|
316
|
+
incidentTitle: `[Docker] High Memory Usage (>85%)${dockerTitleSuffix(args)}`,
|
|
317
|
+
incidentDescription: `A Docker container's memory usage stayed above 85% for the whole evaluation window. \`container.memory.percent\` divides by the container's memory limit when one is set and by the HOST's total memory when it is not, so check whether this container was started with \`--memory\` before treating this as an impending OOM kill: an unlimited container at 86% is using 86% of the machine and will not be OOM-killed for hitting a limit that does not exist. Check the root cause for the container and the observed values.`,
|
|
241
318
|
criteriaName: "High Memory - Usage > 85%",
|
|
242
|
-
criteriaDescription: "Triggers when
|
|
319
|
+
criteriaDescription: "Triggers when a container's memory usage stays above 85% of its limit (or of host memory when unlimited) across the monitoring window.",
|
|
243
320
|
}),
|
|
244
321
|
onlineCriteriaInstance: buildDockerOnlineCriteriaInstance({
|
|
245
322
|
onlineMonitorStatusId: args.onlineMonitorStatusId,
|
|
@@ -253,18 +330,43 @@ const highMemoryTemplate = {
|
|
|
253
330
|
const containerRestartLoopTemplate = {
|
|
254
331
|
id: "docker-restart-loop",
|
|
255
332
|
name: "Container Restart Loop",
|
|
256
|
-
description: "Alert when a container
|
|
333
|
+
description: "Alert when a container's restart count climbs by more than 3 within fifteen minutes, indicating a crash loop. One alert per container.",
|
|
257
334
|
category: "Container",
|
|
258
335
|
severity: "Critical",
|
|
259
336
|
getMonitorStep: (args) => {
|
|
260
337
|
const metricAlias = "container_restarts";
|
|
261
338
|
return buildDockerMonitorStep({
|
|
262
|
-
|
|
339
|
+
/*
|
|
340
|
+
* `container.restarts` is Docker's LIFETIME RestartCount, not a
|
|
341
|
+
* windowed count, and nothing in the pipeline deltas it. Comparing it
|
|
342
|
+
* to a constant asks "has this container ever crash-looped" — true
|
|
343
|
+
* forever once true, and unrecoverable against a counter that only
|
|
344
|
+
* goes up. The loop signal is how much the counter GREW. See
|
|
345
|
+
* buildDockerDeltaMonitorConfig.
|
|
346
|
+
*/
|
|
347
|
+
dockerMonitor: buildDockerDeltaMonitorConfig({
|
|
263
348
|
hostIdentifier: args.hostIdentifier,
|
|
264
349
|
metricName: "container.restarts",
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
350
|
+
maxAlias: "container_restarts_max",
|
|
351
|
+
minAlias: "container_restarts_min",
|
|
352
|
+
resultAlias: metricAlias,
|
|
353
|
+
resultLegend: "Container Restarts (in window)",
|
|
354
|
+
/*
|
|
355
|
+
* Deliberately no resultLegendUnit: a restart count is
|
|
356
|
+
* dimensionless, and MetricMonitorCriteria reads a formula's
|
|
357
|
+
* legendUnit as the sample unit to convert from.
|
|
358
|
+
*/
|
|
359
|
+
/*
|
|
360
|
+
* Fifteen minutes, not five. The per-minute Max-minus-Min delta is
|
|
361
|
+
* a LOWER BOUND: the agent scrapes every 30s and buckets are one
|
|
362
|
+
* minute, so an isolated restart is only counted when it lands
|
|
363
|
+
* between the two samples of the SAME minute — roughly half are
|
|
364
|
+
* missed. Bursts inside one 30s gap are counted in full, and
|
|
365
|
+
* Docker's restart backoff (doubling, capped at 60s) puts a real
|
|
366
|
+
* crash loop at ~20 restarts per fifteen minutes, so the threshold
|
|
367
|
+
* below still clears with room to spare.
|
|
368
|
+
*/
|
|
369
|
+
rollingTime: RollingTime.Past15Minutes,
|
|
268
370
|
groupByAttributeKey: "resource.container.name",
|
|
269
371
|
}),
|
|
270
372
|
offlineCriteriaInstance: buildDockerOfflineCriteriaInstance({
|
|
@@ -274,17 +376,34 @@ const containerRestartLoopTemplate = {
|
|
|
274
376
|
monitorName: args.monitorName,
|
|
275
377
|
metricAlias,
|
|
276
378
|
filterType: FilterType.GreaterThan,
|
|
277
|
-
value:
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
379
|
+
value: 3,
|
|
380
|
+
/*
|
|
381
|
+
* Sum over the window, not the sustained AllValues default: each
|
|
382
|
+
* sample is ONE MINUTE'S restart increment, and most minutes of a
|
|
383
|
+
* crash loop are zero, so "every bucket breached" is unreachable.
|
|
384
|
+
* The window total is the loop count. This is the semantics the
|
|
385
|
+
* docs have always described for this template ("> 3 / Sum" in
|
|
386
|
+
* App/FeatureSet/Docs/Content/en/monitor/docker-monitor.md) and
|
|
387
|
+
* which the code never implemented.
|
|
388
|
+
*/
|
|
389
|
+
metricAggregationType: EvaluateOverTimeType.Sum,
|
|
390
|
+
incidentTitle: `[Docker] Container Restart Loop Detected${dockerTitleSuffix(args)}`,
|
|
391
|
+
incidentDescription: `A Docker container restarted more than 3 times in the last fifteen minutes — it is crash-looping, not recovering from a one-off failure. Check the root cause for the specific container, then read that container's logs and its restart policy.`,
|
|
392
|
+
criteriaName: "Restart Loop - Restarts > 3 in 15 min",
|
|
393
|
+
criteriaDescription: "Triggers when a container's restart counter increases by more than 3 across the monitoring window.",
|
|
282
394
|
}),
|
|
283
395
|
onlineCriteriaInstance: buildDockerOnlineCriteriaInstance({
|
|
284
396
|
onlineMonitorStatusId: args.onlineMonitorStatusId,
|
|
285
397
|
metricAlias,
|
|
286
398
|
filterType: FilterType.LessThanOrEqualTo,
|
|
287
|
-
value:
|
|
399
|
+
value: 3,
|
|
400
|
+
/*
|
|
401
|
+
* Must match the unhealthy side. A pair evaluating the same alias
|
|
402
|
+
* under different window aggregations is not complementary, and the
|
|
403
|
+
* dead band derived from 3 (recover at 2.7) would be measuring a
|
|
404
|
+
* different quantity from the one that fired.
|
|
405
|
+
*/
|
|
406
|
+
metricAggregationType: EvaluateOverTimeType.Sum,
|
|
288
407
|
}),
|
|
289
408
|
});
|
|
290
409
|
},
|
|
@@ -292,23 +411,29 @@ const containerRestartLoopTemplate = {
|
|
|
292
411
|
const highCpuThrottlingTemplate = {
|
|
293
412
|
id: "docker-cpu-throttling",
|
|
294
413
|
name: "Container CPU Throttling",
|
|
295
|
-
description: "Alert when a container
|
|
414
|
+
description: "Alert when a container accumulates more than a second of CPU throttling in five minutes, meaning it is hitting its CPU limit. One alert per container.",
|
|
296
415
|
category: "Resource",
|
|
297
416
|
severity: "Warning",
|
|
298
417
|
getMonitorStep: (args) => {
|
|
299
418
|
const metricAlias = "cpu_throttled";
|
|
300
419
|
return buildDockerMonitorStep({
|
|
301
|
-
|
|
420
|
+
/*
|
|
421
|
+
* throttled_time is a lifetime NANOSECOND counter, so this template
|
|
422
|
+
* alerts on how much it GREW in the window, not on its value. See
|
|
423
|
+
* buildDockerDeltaMonitorConfig for why the value itself is unusable,
|
|
424
|
+
* and for what the delta does and does not see.
|
|
425
|
+
*/
|
|
426
|
+
dockerMonitor: buildDockerDeltaMonitorConfig({
|
|
302
427
|
hostIdentifier: args.hostIdentifier,
|
|
303
428
|
metricName: "container.cpu.throttling_data.throttled_time",
|
|
304
|
-
|
|
429
|
+
maxAlias: "cpu_throttled_max",
|
|
430
|
+
minAlias: "cpu_throttled_min",
|
|
431
|
+
resultAlias: metricAlias,
|
|
432
|
+
resultLegend: "CPU Throttled Time",
|
|
433
|
+
resultLegendUnit: "ms",
|
|
434
|
+
// The counter is nanoseconds; report the growth in milliseconds.
|
|
435
|
+
scaleDivisor: 1000000,
|
|
305
436
|
rollingTime: RollingTime.Past5Minutes,
|
|
306
|
-
/*
|
|
307
|
-
* Max WITHIN each container's series, so throttled time is never
|
|
308
|
-
* summed across containers — grouping by container name attributes
|
|
309
|
-
* the throttling to the container that actually suffered it.
|
|
310
|
-
*/
|
|
311
|
-
aggregationType: MetricsAggregationType.Max,
|
|
312
437
|
groupByAttributeKey: "resource.container.name",
|
|
313
438
|
}),
|
|
314
439
|
offlineCriteriaInstance: buildDockerOfflineCriteriaInstance({
|
|
@@ -318,17 +443,35 @@ const highCpuThrottlingTemplate = {
|
|
|
318
443
|
monitorName: args.monitorName,
|
|
319
444
|
metricAlias,
|
|
320
445
|
filterType: FilterType.GreaterThan,
|
|
321
|
-
value:
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
446
|
+
value: 1000,
|
|
447
|
+
/*
|
|
448
|
+
* Sum, not the AllValues default. Each sample here is ONE MINUTE'S
|
|
449
|
+
* growth, so "how much throttling in the window" is their total.
|
|
450
|
+
* AllValues would instead demand a full second of throttling in
|
|
451
|
+
* every single minute — a much rarer event than the one this
|
|
452
|
+
* template is named for, so the default would quietly disable it.
|
|
453
|
+
* Note the threshold is MEASURED, not real, throttling: at the
|
|
454
|
+
* agent's 30s scrape roughly half is captured, so 1000 ms here is
|
|
455
|
+
* about two seconds of actual throttling per five minutes.
|
|
456
|
+
*/
|
|
457
|
+
metricAggregationType: EvaluateOverTimeType.Sum,
|
|
458
|
+
incidentTitle: `[Docker] CPU Throttling Detected${dockerTitleSuffix(args)}`,
|
|
459
|
+
incidentDescription: `A Docker container accumulated more than 1000 ms of CPU throttling in the last 5 minutes. The container is hitting its CPU limit and the kernel's CFS quota is stalling it — throttling is silent, so it surfaces as latency rather than as an error. Consider raising the container's CPU limit or reducing its work. Check the root cause for the container and the throttled time observed.`,
|
|
460
|
+
criteriaName: "CPU Throttling - Throttled Time > 1000 ms per 5 min",
|
|
461
|
+
criteriaDescription: "Triggers when a container's CPU throttled time grows by more than 1000 ms over the monitoring window.",
|
|
326
462
|
}),
|
|
327
463
|
onlineCriteriaInstance: buildDockerOnlineCriteriaInstance({
|
|
328
464
|
onlineMonitorStatusId: args.onlineMonitorStatusId,
|
|
329
465
|
metricAlias,
|
|
330
|
-
filterType: FilterType.
|
|
331
|
-
value:
|
|
466
|
+
filterType: FilterType.LessThanOrEqualTo,
|
|
467
|
+
value: 1000,
|
|
468
|
+
/*
|
|
469
|
+
* Must match the unhealthy side. A pair evaluating the same alias
|
|
470
|
+
* under different window aggregations is not complementary, and the
|
|
471
|
+
* dead band derived from 1000 (recover at 900) would be measuring a
|
|
472
|
+
* different quantity from the one that fired.
|
|
473
|
+
*/
|
|
474
|
+
metricAggregationType: EvaluateOverTimeType.Sum,
|
|
332
475
|
}),
|
|
333
476
|
});
|
|
334
477
|
},
|
|
@@ -336,7 +479,7 @@ const highCpuThrottlingTemplate = {
|
|
|
336
479
|
const highProcessCountTemplate = {
|
|
337
480
|
id: "docker-high-pids",
|
|
338
481
|
name: "High Container Process Count",
|
|
339
|
-
description: "Alert when a container
|
|
482
|
+
description: "Alert when a container's task count (processes PLUS threads) stays above 2000, which may indicate a fork bomb, a thread leak, or an unbounded worker pool. One alert per container.",
|
|
340
483
|
category: "Container",
|
|
341
484
|
severity: "Warning",
|
|
342
485
|
getMonitorStep: (args) => {
|
|
@@ -357,21 +500,43 @@ const highProcessCountTemplate = {
|
|
|
357
500
|
monitorName: args.monitorName,
|
|
358
501
|
metricAlias,
|
|
359
502
|
filterType: FilterType.GreaterThan,
|
|
360
|
-
value:
|
|
361
|
-
incidentTitle: `[Docker] High Process Count (>
|
|
362
|
-
incidentDescription: `A Docker container
|
|
363
|
-
criteriaName: "High PIDs - Count >
|
|
364
|
-
criteriaDescription: "Triggers when container process count
|
|
503
|
+
value: 2000,
|
|
504
|
+
incidentTitle: `[Docker] High Process/Thread Count (>2000)${dockerTitleSuffix(args)}`,
|
|
505
|
+
incidentDescription: `A Docker container held more than 2000 tasks for the whole evaluation window. \`container.pids.count\` reads the cgroup pids controller, which counts TASKS — kernel threads as well as processes — so a JVM, an nginx with a large worker pool, or a Go binary sits far above its process count. Sustained above 2000 usually means a fork bomb, a thread leak, or a pool sized without a ceiling. Check the root cause for the container and the observed counts.`,
|
|
506
|
+
criteriaName: "High PIDs - Task Count > 2000",
|
|
507
|
+
criteriaDescription: "Triggers when a container's task (process + thread) count stays above 2000 across the monitoring window.",
|
|
365
508
|
}),
|
|
366
509
|
onlineCriteriaInstance: buildDockerOnlineCriteriaInstance({
|
|
367
510
|
onlineMonitorStatusId: args.onlineMonitorStatusId,
|
|
368
511
|
metricAlias,
|
|
369
512
|
filterType: FilterType.LessThanOrEqualTo,
|
|
370
|
-
value:
|
|
513
|
+
value: 2000,
|
|
371
514
|
}),
|
|
372
515
|
});
|
|
373
516
|
},
|
|
374
517
|
};
|
|
518
|
+
/*
|
|
519
|
+
* KNOWN INERT — do not copy this shape, and do not assume it gives adopters
|
|
520
|
+
* container-down coverage.
|
|
521
|
+
*
|
|
522
|
+
* `container.uptime` is seconds-since-start from the docker_stats receiver,
|
|
523
|
+
* which only scrapes RUNNING containers, so the value is a positive double
|
|
524
|
+
* and `= 0` is unreachable. Absence cannot substitute either: a stopped
|
|
525
|
+
* container emits no datapoint, so it produces no series, and
|
|
526
|
+
* MonitorCriteriaEvaluator discards a grouped criteria whose per-series
|
|
527
|
+
* match list is empty — `onNoDataPolicy: Trigger` would be inert too. The
|
|
528
|
+
* worker's only absent-series injectors are host- and IoT-device-scoped
|
|
529
|
+
* (injectExpectedAbsentHostSeries / injectExpectedAbsentIoTDeviceSeries,
|
|
530
|
+
* gated by HostAbsenceSeries.getHostAbsenceGroupByKey).
|
|
531
|
+
*
|
|
532
|
+
* Real per-container down detection needs an absent-CONTAINER injector in
|
|
533
|
+
* App/FeatureSet/Workers/Jobs/TelemetryMonitor/MonitorTelemetryMonitor.ts.
|
|
534
|
+
* Until that exists this template cannot fire. Removing it is the honest
|
|
535
|
+
* alternative, but that also touches TemplateGroupByKeys.test.ts and six
|
|
536
|
+
* localised docs tables, so it is deliberately left for a follow-up rather
|
|
537
|
+
* than half-done here. PodmanAlertTemplates and DockerSwarmAlertTemplates
|
|
538
|
+
* carry the identical inert design.
|
|
539
|
+
*/
|
|
375
540
|
const containerUptimeTemplate = {
|
|
376
541
|
id: "docker-container-down",
|
|
377
542
|
name: "Container Down (Low Uptime)",
|
|
@@ -397,7 +562,7 @@ const containerUptimeTemplate = {
|
|
|
397
562
|
metricAlias,
|
|
398
563
|
filterType: FilterType.EqualTo,
|
|
399
564
|
value: 0,
|
|
400
|
-
incidentTitle: `[Docker] Container Down
|
|
565
|
+
incidentTitle: `[Docker] Container Down${dockerTitleSuffix(args)}`,
|
|
401
566
|
incidentDescription: `A Docker container has stopped running. The container uptime is zero, indicating it has crashed, been stopped, or been removed. Check the container status and logs for details.`,
|
|
402
567
|
criteriaName: "Container Down - Uptime = 0",
|
|
403
568
|
criteriaDescription: "Triggers when container uptime drops to zero.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DockerAlertTemplates.js","sourceRoot":"","sources":["../../../../Types/Monitor/DockerAlertTemplates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DockerAlertTemplates.js","sourceRoot":"","sources":["../../../../Types/Monitor/DockerAlertTemplates.ts"],"names":[],"mappings":"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"}
|