@oneuptime/common 11.0.2 → 11.0.3
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/DatabaseModels/Alert.ts +166 -0
- package/Models/DatabaseModels/AlertLabelRule.ts +38 -0
- package/Models/DatabaseModels/AlertOwnerRule.ts +38 -0
- package/Models/DatabaseModels/DockerSwarmCluster.ts +989 -0
- package/Models/DatabaseModels/DockerSwarmClusterLabelRule.ts +514 -0
- package/Models/DatabaseModels/DockerSwarmClusterOwnerRule.ts +596 -0
- package/Models/DatabaseModels/DockerSwarmClusterOwnerTeam.ts +487 -0
- package/Models/DatabaseModels/DockerSwarmClusterOwnerUser.ts +486 -0
- package/Models/DatabaseModels/DockerSwarmResource.ts +750 -0
- package/Models/DatabaseModels/Incident.ts +166 -0
- package/Models/DatabaseModels/IncidentLabelRule.ts +38 -0
- package/Models/DatabaseModels/IncidentOwnerRule.ts +38 -0
- package/Models/DatabaseModels/IncidentTemplate.ts +56 -0
- package/Models/DatabaseModels/Index.ts +24 -0
- package/Models/DatabaseModels/PodmanHost.ts +859 -0
- package/Models/DatabaseModels/PodmanHostLabelRule.ts +514 -0
- package/Models/DatabaseModels/PodmanHostOwnerRule.ts +596 -0
- package/Models/DatabaseModels/PodmanHostOwnerTeam.ts +487 -0
- package/Models/DatabaseModels/PodmanHostOwnerUser.ts +486 -0
- package/Models/DatabaseModels/PodmanResource.ts +498 -0
- package/Models/DatabaseModels/ScheduledMaintenance.ts +110 -0
- package/Models/DatabaseModels/ScheduledMaintenanceLabelRule.ts +38 -0
- package/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.ts +38 -0
- package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +56 -0
- package/Models/DatabaseModels/TelemetryException.ts +2 -0
- package/Server/API/DashboardAPI.ts +89 -0
- package/Server/API/DockerSwarmResourceAPI.ts +137 -0
- package/Server/API/TelemetryAPI.ts +8 -1
- package/Server/Infrastructure/Postgres/SchemaMigrations/1781587937032-MigrationName.ts +3199 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
- package/Server/Services/AlertLabelRuleEngineService.ts +29 -0
- package/Server/Services/AlertOwnerRuleEngineService.ts +67 -0
- package/Server/Services/DockerSwarmClusterLabelRuleEngineService.ts +214 -0
- package/Server/Services/DockerSwarmClusterLabelRuleService.ts +14 -0
- package/Server/Services/DockerSwarmClusterOwnerRuleEngineService.ts +232 -0
- package/Server/Services/DockerSwarmClusterOwnerRuleService.ts +14 -0
- package/Server/Services/DockerSwarmClusterOwnerTeamService.ts +10 -0
- package/Server/Services/DockerSwarmClusterOwnerUserService.ts +10 -0
- package/Server/Services/DockerSwarmClusterService.ts +404 -0
- package/Server/Services/DockerSwarmResourceService.ts +381 -0
- package/Server/Services/ExceptionAggregationService.ts +1 -0
- package/Server/Services/IncidentLabelRuleEngineService.ts +27 -0
- package/Server/Services/IncidentOwnerRuleEngineService.ts +67 -0
- package/Server/Services/IncidentService.ts +11 -0
- package/Server/Services/Index.ts +14 -0
- package/Server/Services/LogAggregationService.ts +1 -0
- package/Server/Services/MetricAggregationService.ts +1 -0
- package/Server/Services/OpenTelemetryIngestService.ts +37 -0
- package/Server/Services/PodmanHostLabelRuleEngineService.ts +198 -0
- package/Server/Services/PodmanHostLabelRuleService.ts +14 -0
- package/Server/Services/PodmanHostOwnerRuleEngineService.ts +216 -0
- package/Server/Services/PodmanHostOwnerRuleService.ts +14 -0
- package/Server/Services/PodmanHostOwnerTeamService.ts +10 -0
- package/Server/Services/PodmanHostOwnerUserService.ts +10 -0
- package/Server/Services/PodmanHostService.ts +368 -0
- package/Server/Services/PodmanResourceService.ts +310 -0
- package/Server/Services/ScheduledMaintenanceLabelRuleEngineService.ts +29 -0
- package/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.ts +67 -0
- package/Server/Services/TelemetryUsageBillingService.ts +18 -0
- package/Server/Services/TraceAggregationService.ts +1 -0
- package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +13 -0
- package/Server/Utils/Monitor/MonitorAlert.ts +10 -0
- package/Server/Utils/Monitor/MonitorClusterContext.ts +35 -6
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +306 -0
- package/Server/Utils/Monitor/MonitorIncident.ts +45 -0
- package/Server/Utils/Monitor/MonitorMaintenanceSuppression.ts +17 -0
- package/Server/Utils/Monitor/MonitorTemplateUtil.ts +3 -0
- package/Server/Utils/Monitor/SeriesResourceLabels.ts +26 -0
- package/Server/Utils/Telemetry/ResourceFacetResolver.ts +49 -0
- package/Server/Utils/Telemetry/Telemetry.ts +10 -0
- package/Server/Utils/Telemetry/TelemetryEntity.ts +22 -0
- package/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.ts +1 -0
- package/Tests/Types/DockerSwarm/DockerSwarmInventoryExtractor.test.ts +667 -0
- package/Tests/Types/Monitor/DockerSwarmAlertTemplates.test.ts +528 -0
- package/Types/Dashboard/DashboardComponentType.ts +7 -0
- package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +2 -0
- package/Types/Dashboard/DashboardComponents/DashboardDockerSwarmNodeListComponent.ts +17 -0
- package/Types/Dashboard/DashboardComponents/DashboardDockerSwarmServiceListComponent.ts +17 -0
- package/Types/Dashboard/DashboardComponents/DashboardPodmanContainerListComponent.ts +16 -0
- package/Types/Dashboard/DashboardComponents/DashboardPodmanHostListComponent.ts +15 -0
- package/Types/Dashboard/DashboardComponents/DashboardPodmanImageListComponent.ts +16 -0
- package/Types/Dashboard/DashboardComponents/DashboardPodmanNetworkListComponent.ts +15 -0
- package/Types/Dashboard/DashboardComponents/DashboardPodmanVolumeListComponent.ts +15 -0
- package/Types/Dashboard/DashboardTemplates.ts +194 -0
- package/Types/DockerSwarm/DockerSwarmInventoryExtractor.ts +452 -0
- package/Types/Icon/IconProp.ts +1 -0
- package/Types/Monitor/DockerSwarmAlertTemplates.ts +461 -0
- package/Types/Monitor/DockerSwarmMetricCatalog.ts +139 -0
- package/Types/Monitor/HostAlertTemplates.ts +455 -0
- package/Types/Monitor/HostMetricCatalog.ts +177 -0
- package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +21 -0
- package/Types/Monitor/MonitorStep.ts +99 -0
- package/Types/Monitor/MonitorStepDockerSwarmMonitor.ts +74 -0
- package/Types/Monitor/MonitorStepHostMonitor.ts +30 -0
- package/Types/Monitor/MonitorStepPodmanMonitor.ts +38 -0
- package/Types/Monitor/MonitorType.ts +42 -0
- package/Types/Monitor/PodmanAlertTemplates.ts +507 -0
- package/Types/Monitor/PodmanMetricCatalog.ts +226 -0
- package/Types/Permission.ts +465 -4
- package/Types/Podman/PodmanInventoryExtractor.ts +343 -0
- package/Types/Telemetry/EntityType.ts +12 -0
- package/Types/Telemetry/ServiceType.ts +2 -0
- package/UI/Components/Icon/Icon.tsx +57 -0
- package/UI/Components/LogsViewer/LogsViewer.tsx +44 -1
- package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +28 -0
- package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +6 -0
- package/UI/Utils/TelemetryService.ts +1 -0
- package/Utils/Dashboard/Components/DashboardDockerSwarmNodeListComponent.ts +70 -0
- package/Utils/Dashboard/Components/DashboardDockerSwarmResourceListShared.ts +61 -0
- package/Utils/Dashboard/Components/DashboardDockerSwarmServiceListComponent.ts +71 -0
- package/Utils/Dashboard/Components/DashboardPodmanContainerListComponent.ts +100 -0
- package/Utils/Dashboard/Components/DashboardPodmanHostListComponent.ts +88 -0
- package/Utils/Dashboard/Components/DashboardPodmanImageListComponent.ts +97 -0
- package/Utils/Dashboard/Components/DashboardPodmanNetworkListComponent.ts +87 -0
- package/Utils/Dashboard/Components/DashboardPodmanVolumeListComponent.ts +87 -0
- package/Utils/Dashboard/Components/Index.ts +51 -0
- package/Utils/Telemetry/EntityKey.ts +18 -0
- package/build/dist/Models/DatabaseModels/Alert.js +162 -0
- package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertLabelRule.js +39 -0
- package/build/dist/Models/DatabaseModels/AlertLabelRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertOwnerRule.js +39 -0
- package/build/dist/Models/DatabaseModels/AlertOwnerRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js +1018 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js.map +1 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmClusterLabelRule.js +522 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmClusterLabelRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerRule.js +603 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerTeam.js +503 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerUser.js +502 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerUser.js.map +1 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmResource.js +787 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmResource.js.map +1 -0
- package/build/dist/Models/DatabaseModels/Incident.js +162 -0
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentLabelRule.js +39 -0
- package/build/dist/Models/DatabaseModels/IncidentLabelRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentOwnerRule.js +39 -0
- package/build/dist/Models/DatabaseModels/IncidentOwnerRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js +54 -0
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +24 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/PodmanHost.js +885 -0
- package/build/dist/Models/DatabaseModels/PodmanHost.js.map +1 -0
- package/build/dist/Models/DatabaseModels/PodmanHostLabelRule.js +522 -0
- package/build/dist/Models/DatabaseModels/PodmanHostLabelRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/PodmanHostOwnerRule.js +603 -0
- package/build/dist/Models/DatabaseModels/PodmanHostOwnerRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/PodmanHostOwnerTeam.js +503 -0
- package/build/dist/Models/DatabaseModels/PodmanHostOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/PodmanHostOwnerUser.js +502 -0
- package/build/dist/Models/DatabaseModels/PodmanHostOwnerUser.js.map +1 -0
- package/build/dist/Models/DatabaseModels/PodmanResource.js +526 -0
- package/build/dist/Models/DatabaseModels/PodmanResource.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +108 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceLabelRule.js +39 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceLabelRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.js +39 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +54 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryException.js +2 -0
- package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
- package/build/dist/Server/API/DashboardAPI.js +89 -0
- package/build/dist/Server/API/DashboardAPI.js.map +1 -1
- package/build/dist/Server/API/DockerSwarmResourceAPI.js +100 -0
- package/build/dist/Server/API/DockerSwarmResourceAPI.js.map +1 -0
- package/build/dist/Server/API/TelemetryAPI.js +8 -1
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781587937032-MigrationName.js +1100 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781587937032-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/AlertLabelRuleEngineService.js +30 -4
- package/build/dist/Server/Services/AlertLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertOwnerRuleEngineService.js +62 -5
- package/build/dist/Server/Services/AlertOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js +168 -0
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleService.js +13 -0
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleService.js.map +1 -0
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js +188 -0
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleService.js +13 -0
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleService.js.map +1 -0
- package/build/dist/Server/Services/DockerSwarmClusterOwnerTeamService.js +9 -0
- package/build/dist/Server/Services/DockerSwarmClusterOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/DockerSwarmClusterOwnerUserService.js +9 -0
- package/build/dist/Server/Services/DockerSwarmClusterOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/DockerSwarmClusterService.js +353 -0
- package/build/dist/Server/Services/DockerSwarmClusterService.js.map +1 -0
- package/build/dist/Server/Services/DockerSwarmResourceService.js +258 -0
- package/build/dist/Server/Services/DockerSwarmResourceService.js.map +1 -0
- package/build/dist/Server/Services/ExceptionAggregationService.js +1 -0
- package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
- package/build/dist/Server/Services/IncidentLabelRuleEngineService.js +28 -4
- package/build/dist/Server/Services/IncidentLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js +62 -5
- package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +8 -0
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +14 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/LogAggregationService.js +1 -0
- package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
- package/build/dist/Server/Services/MetricAggregationService.js +1 -0
- package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
- package/build/dist/Server/Services/OpenTelemetryIngestService.js +43 -13
- package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js +166 -0
- package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/PodmanHostLabelRuleService.js +13 -0
- package/build/dist/Server/Services/PodmanHostLabelRuleService.js.map +1 -0
- package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js +186 -0
- package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/PodmanHostOwnerRuleService.js +13 -0
- package/build/dist/Server/Services/PodmanHostOwnerRuleService.js.map +1 -0
- package/build/dist/Server/Services/PodmanHostOwnerTeamService.js +9 -0
- package/build/dist/Server/Services/PodmanHostOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/PodmanHostOwnerUserService.js +9 -0
- package/build/dist/Server/Services/PodmanHostOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/PodmanHostService.js +319 -0
- package/build/dist/Server/Services/PodmanHostService.js.map +1 -0
- package/build/dist/Server/Services/PodmanResourceService.js +196 -0
- package/build/dist/Server/Services/PodmanResourceService.js.map +1 -0
- package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js +30 -4
- package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js +62 -5
- package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryUsageBillingService.js +13 -0
- package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
- package/build/dist/Server/Services/TraceAggregationService.js +1 -0
- package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +13 -0
- package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +8 -0
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +35 -7
- package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +194 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +35 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js +9 -0
- package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +3 -0
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +16 -0
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js +30 -0
- package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/Telemetry.js +6 -0
- package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +18 -0
- package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponentType.js +7 -0
- package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmNodeListComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmNodeListComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmServiceListComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmServiceListComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanContainerListComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanContainerListComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanHostListComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanHostListComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanImageListComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanImageListComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanNetworkListComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanNetworkListComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanVolumeListComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanVolumeListComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js +168 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
- package/build/dist/Types/DockerSwarm/DockerSwarmInventoryExtractor.js +359 -0
- package/build/dist/Types/DockerSwarm/DockerSwarmInventoryExtractor.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/Monitor/DockerSwarmAlertTemplates.js +358 -0
- package/build/dist/Types/Monitor/DockerSwarmAlertTemplates.js.map +1 -0
- package/build/dist/Types/Monitor/DockerSwarmMetricCatalog.js +103 -0
- package/build/dist/Types/Monitor/DockerSwarmMetricCatalog.js.map +1 -0
- package/build/dist/Types/Monitor/HostAlertTemplates.js +365 -0
- package/build/dist/Types/Monitor/HostAlertTemplates.js.map +1 -0
- package/build/dist/Types/Monitor/HostMetricCatalog.js +138 -0
- package/build/dist/Types/Monitor/HostMetricCatalog.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorStep.js +69 -0
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepDockerSwarmMonitor.js +21 -0
- package/build/dist/Types/Monitor/MonitorStepDockerSwarmMonitor.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorStepHostMonitor.js +20 -0
- package/build/dist/Types/Monitor/MonitorStepHostMonitor.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorStepPodmanMonitor.js +21 -0
- package/build/dist/Types/Monitor/MonitorStepPodmanMonitor.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorType.js +39 -0
- package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
- package/build/dist/Types/Monitor/PodmanAlertTemplates.js +410 -0
- package/build/dist/Types/Monitor/PodmanAlertTemplates.js.map +1 -0
- package/build/dist/Types/Monitor/PodmanMetricCatalog.js +192 -0
- package/build/dist/Types/Monitor/PodmanMetricCatalog.js.map +1 -0
- package/build/dist/Types/Permission.js +420 -4
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Podman/PodmanInventoryExtractor.js +293 -0
- package/build/dist/Types/Podman/PodmanInventoryExtractor.js.map +1 -0
- package/build/dist/Types/Telemetry/EntityType.js +12 -0
- package/build/dist/Types/Telemetry/EntityType.js.map +1 -1
- package/build/dist/Types/Telemetry/ServiceType.js +2 -0
- package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
- package/build/dist/UI/Components/Icon/Icon.js +16 -0
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js +30 -2
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +22 -0
- package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +6 -0
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
- package/build/dist/UI/Utils/TelemetryService.js +1 -0
- package/build/dist/UI/Utils/TelemetryService.js.map +1 -1
- package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmNodeListComponent.js +55 -0
- package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmNodeListComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmResourceListShared.js +46 -0
- package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmResourceListShared.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmServiceListComponent.js +55 -0
- package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmServiceListComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardPodmanContainerListComponent.js +77 -0
- package/build/dist/Utils/Dashboard/Components/DashboardPodmanContainerListComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardPodmanHostListComponent.js +71 -0
- package/build/dist/Utils/Dashboard/Components/DashboardPodmanHostListComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardPodmanImageListComponent.js +77 -0
- package/build/dist/Utils/Dashboard/Components/DashboardPodmanImageListComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardPodmanNetworkListComponent.js +68 -0
- package/build/dist/Utils/Dashboard/Components/DashboardPodmanNetworkListComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardPodmanVolumeListComponent.js +68 -0
- package/build/dist/Utils/Dashboard/Components/DashboardPodmanVolumeListComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/Index.js +28 -0
- package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
- package/build/dist/Utils/Telemetry/EntityKey.js +14 -0
- package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
import ObjectID from "../ObjectID";
|
|
2
|
+
import MonitorStep from "./MonitorStep";
|
|
3
|
+
import MonitorCriteria from "./MonitorCriteria";
|
|
4
|
+
import MonitorCriteriaInstance from "./MonitorCriteriaInstance";
|
|
5
|
+
import FilterCondition from "../Filter/FilterCondition";
|
|
6
|
+
import { CheckOn, FilterType, EvaluateOverTimeType } from "./CriteriaFilter";
|
|
7
|
+
import RollingTime from "../RollingTime/RollingTime";
|
|
8
|
+
import MetricsAggregationType from "../Metrics/MetricsAggregationType";
|
|
9
|
+
/*
|
|
10
|
+
* Filter contract: the docker_stats receiver keeps container identity in
|
|
11
|
+
* datapoint labels (stored unprefixed in ClickHouse): `container.name`
|
|
12
|
+
* (a Swarm task's container is `<service>.<slot>.<taskid>`) and
|
|
13
|
+
* `container.image.name`. The whole batch is scoped by the
|
|
14
|
+
* `docker.swarm.cluster.name` RESOURCE attribute the agent stamps (the
|
|
15
|
+
* worker adds `resource.docker.swarm.cluster.name` from the step's
|
|
16
|
+
* clusterIdentifier). Templates group by `container.name` so one incident
|
|
17
|
+
* fires per task. There is NO `container.runtime` filter — the Docker
|
|
18
|
+
* Swarm agent does not stamp it.
|
|
19
|
+
*/
|
|
20
|
+
export function buildDockerSwarmMonitorStep(args) {
|
|
21
|
+
const monitorStep = new MonitorStep();
|
|
22
|
+
const monitorCriteria = new MonitorCriteria();
|
|
23
|
+
monitorCriteria.data = {
|
|
24
|
+
monitorCriteriaInstanceArray: [
|
|
25
|
+
args.offlineCriteriaInstance,
|
|
26
|
+
args.onlineCriteriaInstance,
|
|
27
|
+
],
|
|
28
|
+
};
|
|
29
|
+
monitorStep.data = {
|
|
30
|
+
id: ObjectID.generate().toString(),
|
|
31
|
+
monitorDestination: undefined,
|
|
32
|
+
doNotFollowRedirects: undefined,
|
|
33
|
+
monitorDestinationPort: undefined,
|
|
34
|
+
monitorCriteria: monitorCriteria,
|
|
35
|
+
requestType: "GET",
|
|
36
|
+
requestHeaders: undefined,
|
|
37
|
+
requestBody: undefined,
|
|
38
|
+
customCode: undefined,
|
|
39
|
+
screenSizeTypes: undefined,
|
|
40
|
+
browserTypes: undefined,
|
|
41
|
+
retryCountOnError: undefined,
|
|
42
|
+
logMonitor: undefined,
|
|
43
|
+
traceMonitor: undefined,
|
|
44
|
+
metricMonitor: undefined,
|
|
45
|
+
exceptionMonitor: undefined,
|
|
46
|
+
snmpMonitor: undefined,
|
|
47
|
+
dnsMonitor: undefined,
|
|
48
|
+
domainMonitor: undefined,
|
|
49
|
+
externalStatusPageMonitor: undefined,
|
|
50
|
+
kubernetesMonitor: undefined,
|
|
51
|
+
profileMonitor: undefined,
|
|
52
|
+
dockerMonitor: undefined,
|
|
53
|
+
proxmoxMonitor: undefined,
|
|
54
|
+
dockerSwarmMonitor: args.dockerSwarmMonitor,
|
|
55
|
+
};
|
|
56
|
+
return monitorStep;
|
|
57
|
+
}
|
|
58
|
+
export function buildDockerSwarmOfflineCriteriaInstance(args) {
|
|
59
|
+
const instance = new MonitorCriteriaInstance();
|
|
60
|
+
const incidentTitle = args.incidentTitle || `${args.monitorName} - Alert Triggered`;
|
|
61
|
+
const incidentDescription = args.incidentDescription ||
|
|
62
|
+
`${args.monitorName} has triggered an alert condition. See root cause for detailed Docker Swarm cluster information.`;
|
|
63
|
+
instance.data = {
|
|
64
|
+
id: ObjectID.generate().toString(),
|
|
65
|
+
monitorStatusId: args.offlineMonitorStatusId,
|
|
66
|
+
filterCondition: FilterCondition.Any,
|
|
67
|
+
filters: [
|
|
68
|
+
{
|
|
69
|
+
checkOn: CheckOn.MetricValue,
|
|
70
|
+
filterType: args.filterType,
|
|
71
|
+
metricMonitorOptions: {
|
|
72
|
+
metricAggregationType: EvaluateOverTimeType.AnyValue,
|
|
73
|
+
metricAlias: args.metricAlias,
|
|
74
|
+
},
|
|
75
|
+
value: args.value,
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
incidents: [
|
|
79
|
+
{
|
|
80
|
+
title: incidentTitle,
|
|
81
|
+
description: incidentDescription,
|
|
82
|
+
incidentSeverityId: args.incidentSeverityId,
|
|
83
|
+
autoResolveIncident: true,
|
|
84
|
+
id: ObjectID.generate().toString(),
|
|
85
|
+
onCallPolicyIds: [],
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
alerts: [
|
|
89
|
+
{
|
|
90
|
+
title: incidentTitle,
|
|
91
|
+
description: incidentDescription,
|
|
92
|
+
alertSeverityId: args.alertSeverityId,
|
|
93
|
+
autoResolveAlert: true,
|
|
94
|
+
id: ObjectID.generate().toString(),
|
|
95
|
+
onCallPolicyIds: [],
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
changeMonitorStatus: true,
|
|
99
|
+
createIncidents: true,
|
|
100
|
+
createAlerts: true,
|
|
101
|
+
name: args.criteriaName || `${args.monitorName} - Unhealthy`,
|
|
102
|
+
description: args.criteriaDescription || `Criteria for detecting unhealthy state.`,
|
|
103
|
+
};
|
|
104
|
+
return instance;
|
|
105
|
+
}
|
|
106
|
+
export function buildDockerSwarmOnlineCriteriaInstance(args) {
|
|
107
|
+
const instance = new MonitorCriteriaInstance();
|
|
108
|
+
instance.data = {
|
|
109
|
+
id: ObjectID.generate().toString(),
|
|
110
|
+
monitorStatusId: args.onlineMonitorStatusId,
|
|
111
|
+
filterCondition: FilterCondition.Any,
|
|
112
|
+
filters: [
|
|
113
|
+
{
|
|
114
|
+
checkOn: CheckOn.MetricValue,
|
|
115
|
+
filterType: args.filterType,
|
|
116
|
+
metricMonitorOptions: {
|
|
117
|
+
metricAggregationType: EvaluateOverTimeType.AnyValue,
|
|
118
|
+
metricAlias: args.metricAlias,
|
|
119
|
+
},
|
|
120
|
+
value: args.value,
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
incidents: [],
|
|
124
|
+
alerts: [],
|
|
125
|
+
changeMonitorStatus: true,
|
|
126
|
+
createIncidents: false,
|
|
127
|
+
createAlerts: false,
|
|
128
|
+
name: "Healthy",
|
|
129
|
+
description: "Criteria for healthy state.",
|
|
130
|
+
};
|
|
131
|
+
return instance;
|
|
132
|
+
}
|
|
133
|
+
export function buildDockerSwarmMonitorConfig(args) {
|
|
134
|
+
return {
|
|
135
|
+
clusterIdentifier: args.clusterIdentifier,
|
|
136
|
+
resourceFilters: {},
|
|
137
|
+
metricViewConfig: {
|
|
138
|
+
queryConfigs: [
|
|
139
|
+
{
|
|
140
|
+
metricAliasData: {
|
|
141
|
+
metricVariable: args.metricAlias,
|
|
142
|
+
title: args.metricAlias,
|
|
143
|
+
description: args.metricAlias,
|
|
144
|
+
legend: args.metricAlias,
|
|
145
|
+
legendUnit: undefined,
|
|
146
|
+
},
|
|
147
|
+
metricQueryData: Object.assign({ filterData: {
|
|
148
|
+
metricName: args.metricName,
|
|
149
|
+
attributes: args.attributes || {},
|
|
150
|
+
aggegationType: args.aggregationType,
|
|
151
|
+
aggregateBy: {},
|
|
152
|
+
} }, (args.groupByAttributeKey
|
|
153
|
+
? { groupByAttributeKeys: [args.groupByAttributeKey] }
|
|
154
|
+
: {})),
|
|
155
|
+
},
|
|
156
|
+
],
|
|
157
|
+
formulaConfigs: [],
|
|
158
|
+
},
|
|
159
|
+
rollingTime: args.rollingTime,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
// --- Template Definitions ---
|
|
163
|
+
/*
|
|
164
|
+
* Every template groups by `container.name` so each Swarm task is
|
|
165
|
+
* evaluated independently — one incident per task container. The worker
|
|
166
|
+
* always adds the cluster scope (`resource.docker.swarm.cluster.name`)
|
|
167
|
+
* from the step's clusterIdentifier; no container.runtime filter.
|
|
168
|
+
*/
|
|
169
|
+
const highCpuTemplate = {
|
|
170
|
+
id: "docker-swarm-high-cpu",
|
|
171
|
+
name: "High Task CPU Usage",
|
|
172
|
+
description: "Alert when any Swarm task's container CPU utilization exceeds 80% (container.cpu.utilization). One incident per task.",
|
|
173
|
+
category: "Resource",
|
|
174
|
+
severity: "Warning",
|
|
175
|
+
getMonitorStep: (args) => {
|
|
176
|
+
const metricAlias = "container_cpu";
|
|
177
|
+
return buildDockerSwarmMonitorStep({
|
|
178
|
+
dockerSwarmMonitor: buildDockerSwarmMonitorConfig({
|
|
179
|
+
clusterIdentifier: args.clusterIdentifier,
|
|
180
|
+
metricName: "container.cpu.utilization",
|
|
181
|
+
metricAlias,
|
|
182
|
+
rollingTime: RollingTime.Past5Minutes,
|
|
183
|
+
/*
|
|
184
|
+
* Avg per task — container.cpu.utilization is already a
|
|
185
|
+
* percentage per container, so the per-minute average is the
|
|
186
|
+
* sustained utilization regardless of scrape count.
|
|
187
|
+
*/
|
|
188
|
+
aggregationType: MetricsAggregationType.Avg,
|
|
189
|
+
groupByAttributeKey: "container.name",
|
|
190
|
+
}),
|
|
191
|
+
offlineCriteriaInstance: buildDockerSwarmOfflineCriteriaInstance({
|
|
192
|
+
offlineMonitorStatusId: args.offlineMonitorStatusId,
|
|
193
|
+
incidentSeverityId: args.defaultIncidentSeverityId,
|
|
194
|
+
alertSeverityId: args.defaultAlertSeverityId,
|
|
195
|
+
monitorName: args.monitorName,
|
|
196
|
+
metricAlias,
|
|
197
|
+
filterType: FilterType.GreaterThan,
|
|
198
|
+
value: 80,
|
|
199
|
+
incidentTitle: `[Docker Swarm] High Task CPU Usage (>80%) - ${args.monitorName}`,
|
|
200
|
+
incidentDescription: `A Docker Swarm task's container CPU utilization has exceeded 80%. Sustained high CPU degrades the service and can trigger Swarm to reschedule the task. Check the root cause for the affected task container, then consider scaling the service or raising its CPU reservation/limit.`,
|
|
201
|
+
criteriaName: "High Task CPU - Utilization > 80%",
|
|
202
|
+
criteriaDescription: "Triggers when any task's average CPU utilization exceeds 80% over the monitoring window.",
|
|
203
|
+
}),
|
|
204
|
+
onlineCriteriaInstance: buildDockerSwarmOnlineCriteriaInstance({
|
|
205
|
+
onlineMonitorStatusId: args.onlineMonitorStatusId,
|
|
206
|
+
metricAlias,
|
|
207
|
+
filterType: FilterType.LessThanOrEqualTo,
|
|
208
|
+
value: 80,
|
|
209
|
+
}),
|
|
210
|
+
});
|
|
211
|
+
},
|
|
212
|
+
};
|
|
213
|
+
const highMemoryTemplate = {
|
|
214
|
+
id: "docker-swarm-high-memory",
|
|
215
|
+
name: "High Task Memory Usage",
|
|
216
|
+
description: "Alert when any Swarm task's container memory usage exceeds 85% of its limit (container.memory.percent). One incident per task.",
|
|
217
|
+
category: "Resource",
|
|
218
|
+
severity: "Warning",
|
|
219
|
+
getMonitorStep: (args) => {
|
|
220
|
+
const metricAlias = "container_memory";
|
|
221
|
+
return buildDockerSwarmMonitorStep({
|
|
222
|
+
dockerSwarmMonitor: buildDockerSwarmMonitorConfig({
|
|
223
|
+
clusterIdentifier: args.clusterIdentifier,
|
|
224
|
+
metricName: "container.memory.percent",
|
|
225
|
+
metricAlias,
|
|
226
|
+
rollingTime: RollingTime.Past5Minutes,
|
|
227
|
+
/*
|
|
228
|
+
* Avg per task — container.memory.percent is already a true
|
|
229
|
+
* percentage per container.
|
|
230
|
+
*/
|
|
231
|
+
aggregationType: MetricsAggregationType.Avg,
|
|
232
|
+
groupByAttributeKey: "container.name",
|
|
233
|
+
}),
|
|
234
|
+
offlineCriteriaInstance: buildDockerSwarmOfflineCriteriaInstance({
|
|
235
|
+
offlineMonitorStatusId: args.offlineMonitorStatusId,
|
|
236
|
+
incidentSeverityId: args.defaultIncidentSeverityId,
|
|
237
|
+
alertSeverityId: args.defaultAlertSeverityId,
|
|
238
|
+
monitorName: args.monitorName,
|
|
239
|
+
metricAlias,
|
|
240
|
+
filterType: FilterType.GreaterThan,
|
|
241
|
+
value: 85,
|
|
242
|
+
incidentTitle: `[Docker Swarm] High Task Memory Usage (>85%) - ${args.monitorName}`,
|
|
243
|
+
incidentDescription: `A Docker Swarm task's container is using more than 85% of its memory limit. Memory pressure on a task can trigger an OOM kill, which Swarm sees as a task failure and reschedules. Check the root cause for the affected task container, then raise the service's memory limit or investigate the workload.`,
|
|
244
|
+
criteriaName: "High Task Memory - Usage > 85%",
|
|
245
|
+
criteriaDescription: "Triggers when any task's memory usage exceeds 85% of its limit over the monitoring window.",
|
|
246
|
+
}),
|
|
247
|
+
onlineCriteriaInstance: buildDockerSwarmOnlineCriteriaInstance({
|
|
248
|
+
onlineMonitorStatusId: args.onlineMonitorStatusId,
|
|
249
|
+
metricAlias,
|
|
250
|
+
filterType: FilterType.LessThanOrEqualTo,
|
|
251
|
+
value: 85,
|
|
252
|
+
}),
|
|
253
|
+
});
|
|
254
|
+
},
|
|
255
|
+
};
|
|
256
|
+
const highProcessCountTemplate = {
|
|
257
|
+
id: "docker-swarm-high-pids",
|
|
258
|
+
name: "High Task Process Count",
|
|
259
|
+
description: "Alert when any Swarm task's container has an unusually high number of processes (container.pids.count > 500), which may indicate a fork bomb or resource leak. One incident per task.",
|
|
260
|
+
category: "Container",
|
|
261
|
+
severity: "Warning",
|
|
262
|
+
getMonitorStep: (args) => {
|
|
263
|
+
const metricAlias = "container_pids";
|
|
264
|
+
return buildDockerSwarmMonitorStep({
|
|
265
|
+
dockerSwarmMonitor: buildDockerSwarmMonitorConfig({
|
|
266
|
+
clusterIdentifier: args.clusterIdentifier,
|
|
267
|
+
metricName: "container.pids.count",
|
|
268
|
+
metricAlias,
|
|
269
|
+
rollingTime: RollingTime.Past5Minutes,
|
|
270
|
+
// Max per task — any scrape over the threshold trips it.
|
|
271
|
+
aggregationType: MetricsAggregationType.Max,
|
|
272
|
+
groupByAttributeKey: "container.name",
|
|
273
|
+
}),
|
|
274
|
+
offlineCriteriaInstance: buildDockerSwarmOfflineCriteriaInstance({
|
|
275
|
+
offlineMonitorStatusId: args.offlineMonitorStatusId,
|
|
276
|
+
incidentSeverityId: args.defaultIncidentSeverityId,
|
|
277
|
+
alertSeverityId: args.defaultAlertSeverityId,
|
|
278
|
+
monitorName: args.monitorName,
|
|
279
|
+
metricAlias,
|
|
280
|
+
filterType: FilterType.GreaterThan,
|
|
281
|
+
value: 500,
|
|
282
|
+
incidentTitle: `[Docker Swarm] High Task Process Count (>500) - ${args.monitorName}`,
|
|
283
|
+
incidentDescription: `A Docker Swarm task's container has an unusually high number of processes (>500). This may indicate a fork bomb, a thread/connection leak, or a misconfigured application. Check the root cause for the affected task container and inspect it for runaway processes.`,
|
|
284
|
+
criteriaName: "High Task PIDs - Count > 500",
|
|
285
|
+
criteriaDescription: "Triggers when any task's process count exceeds 500 over the monitoring window.",
|
|
286
|
+
}),
|
|
287
|
+
onlineCriteriaInstance: buildDockerSwarmOnlineCriteriaInstance({
|
|
288
|
+
onlineMonitorStatusId: args.onlineMonitorStatusId,
|
|
289
|
+
metricAlias,
|
|
290
|
+
filterType: FilterType.LessThanOrEqualTo,
|
|
291
|
+
value: 500,
|
|
292
|
+
}),
|
|
293
|
+
});
|
|
294
|
+
},
|
|
295
|
+
};
|
|
296
|
+
const taskDownTemplate = {
|
|
297
|
+
id: "docker-swarm-task-down",
|
|
298
|
+
name: "Task Down (Low Uptime)",
|
|
299
|
+
description: "Alert when any Swarm task's container uptime drops to zero, indicating the task has been rescheduled, restarted, or crashed (container.uptime = 0). One incident per task.",
|
|
300
|
+
category: "Availability",
|
|
301
|
+
severity: "Critical",
|
|
302
|
+
getMonitorStep: (args) => {
|
|
303
|
+
const metricAlias = "container_uptime";
|
|
304
|
+
return buildDockerSwarmMonitorStep({
|
|
305
|
+
dockerSwarmMonitor: buildDockerSwarmMonitorConfig({
|
|
306
|
+
clusterIdentifier: args.clusterIdentifier,
|
|
307
|
+
metricName: "container.uptime",
|
|
308
|
+
metricAlias,
|
|
309
|
+
rollingTime: RollingTime.Past1Minute,
|
|
310
|
+
/*
|
|
311
|
+
* Min per task — a single zero-uptime scrape (a fresh restart)
|
|
312
|
+
* trips the threshold instead of being masked by scrapes where
|
|
313
|
+
* the task had been running for a while.
|
|
314
|
+
*/
|
|
315
|
+
aggregationType: MetricsAggregationType.Min,
|
|
316
|
+
groupByAttributeKey: "container.name",
|
|
317
|
+
}),
|
|
318
|
+
offlineCriteriaInstance: buildDockerSwarmOfflineCriteriaInstance({
|
|
319
|
+
offlineMonitorStatusId: args.offlineMonitorStatusId,
|
|
320
|
+
incidentSeverityId: args.defaultIncidentSeverityId,
|
|
321
|
+
alertSeverityId: args.defaultAlertSeverityId,
|
|
322
|
+
monitorName: args.monitorName,
|
|
323
|
+
metricAlias,
|
|
324
|
+
filterType: FilterType.EqualTo,
|
|
325
|
+
value: 0,
|
|
326
|
+
incidentTitle: `[Docker Swarm] Task Down - ${args.monitorName}`,
|
|
327
|
+
incidentDescription: `A Docker Swarm task's container uptime has dropped to zero — the task was rescheduled, restarted, or crashed. Repeated restarts mean the service is flapping. Check the root cause for the affected task container, then inspect the task's logs and the service's update/restart policy.`,
|
|
328
|
+
criteriaName: "Task Down - Uptime = 0",
|
|
329
|
+
criteriaDescription: "Triggers when any task's container uptime drops to zero.",
|
|
330
|
+
}),
|
|
331
|
+
onlineCriteriaInstance: buildDockerSwarmOnlineCriteriaInstance({
|
|
332
|
+
onlineMonitorStatusId: args.onlineMonitorStatusId,
|
|
333
|
+
metricAlias,
|
|
334
|
+
filterType: FilterType.GreaterThan,
|
|
335
|
+
value: 0,
|
|
336
|
+
}),
|
|
337
|
+
});
|
|
338
|
+
},
|
|
339
|
+
};
|
|
340
|
+
export function getAllDockerSwarmAlertTemplates() {
|
|
341
|
+
return [
|
|
342
|
+
taskDownTemplate,
|
|
343
|
+
highCpuTemplate,
|
|
344
|
+
highMemoryTemplate,
|
|
345
|
+
highProcessCountTemplate,
|
|
346
|
+
];
|
|
347
|
+
}
|
|
348
|
+
export function getDockerSwarmAlertTemplatesByCategory(category) {
|
|
349
|
+
return getAllDockerSwarmAlertTemplates().filter((template) => {
|
|
350
|
+
return template.category === category;
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
export function getDockerSwarmAlertTemplateById(id) {
|
|
354
|
+
return getAllDockerSwarmAlertTemplates().find((template) => {
|
|
355
|
+
return template.id === id;
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
//# sourceMappingURL=DockerSwarmAlertTemplates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DockerSwarmAlertTemplates.js","sourceRoot":"","sources":["../../../../Types/Monitor/DockerSwarmAlertTemplates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import MetricsAggregationType from "../Metrics/MetricsAggregationType";
|
|
2
|
+
/*
|
|
3
|
+
* Metric names follow the OpenTelemetry docker_stats receiver naming
|
|
4
|
+
* scheme. The OneUptime Docker Swarm Agent runs the docker_stats receiver
|
|
5
|
+
* against the Swarm manager node, so the series that actually arrive are
|
|
6
|
+
* the standard `container.*` container-runtime metrics — there are NO
|
|
7
|
+
* `docker_swarm_*` or `pve_*` metrics. Each datapoint carries the owning
|
|
8
|
+
* container's identity labels (`container.name`,
|
|
9
|
+
* `container.image.name`); for a Swarm service task the container name is
|
|
10
|
+
* `<service>.<slot>.<taskid>`. The whole batch is scoped by the
|
|
11
|
+
* `docker.swarm.cluster.name` resource attribute the agent stamps.
|
|
12
|
+
*/
|
|
13
|
+
const dockerSwarmMetricCatalog = [
|
|
14
|
+
// CPU Metrics
|
|
15
|
+
{
|
|
16
|
+
id: "container-cpu-utilization",
|
|
17
|
+
friendlyName: "Container CPU Utilization",
|
|
18
|
+
description: "CPU utilization of a Swarm task's container as a percentage (100% = one full CPU core).",
|
|
19
|
+
metricName: "container.cpu.utilization",
|
|
20
|
+
category: "CPU",
|
|
21
|
+
defaultAggregation: MetricsAggregationType.Avg,
|
|
22
|
+
unit: "%",
|
|
23
|
+
},
|
|
24
|
+
// Memory Metrics
|
|
25
|
+
{
|
|
26
|
+
id: "container-memory-usage-total",
|
|
27
|
+
friendlyName: "Container Memory Usage",
|
|
28
|
+
description: "Total memory usage of a Swarm task's container.",
|
|
29
|
+
metricName: "container.memory.usage.total",
|
|
30
|
+
category: "Memory",
|
|
31
|
+
defaultAggregation: MetricsAggregationType.Avg,
|
|
32
|
+
unit: "bytes",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: "container-memory-percent",
|
|
36
|
+
friendlyName: "Container Memory Percent",
|
|
37
|
+
description: "Memory usage of a Swarm task's container as a percentage of its limit or the host total.",
|
|
38
|
+
metricName: "container.memory.percent",
|
|
39
|
+
category: "Memory",
|
|
40
|
+
defaultAggregation: MetricsAggregationType.Avg,
|
|
41
|
+
unit: "%",
|
|
42
|
+
},
|
|
43
|
+
// Network Metrics
|
|
44
|
+
{
|
|
45
|
+
id: "container-network-rx-bytes",
|
|
46
|
+
friendlyName: "Container Network Received",
|
|
47
|
+
description: "Bytes received over the network by a Swarm task's container. Chart as a rate to see throughput.",
|
|
48
|
+
metricName: "container.network.io.usage.rx_bytes",
|
|
49
|
+
category: "Network",
|
|
50
|
+
defaultAggregation: MetricsAggregationType.Sum,
|
|
51
|
+
unit: "bytes",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: "container-network-tx-bytes",
|
|
55
|
+
friendlyName: "Container Network Transmitted",
|
|
56
|
+
description: "Bytes transmitted over the network by a Swarm task's container. Chart as a rate to see throughput.",
|
|
57
|
+
metricName: "container.network.io.usage.tx_bytes",
|
|
58
|
+
category: "Network",
|
|
59
|
+
defaultAggregation: MetricsAggregationType.Sum,
|
|
60
|
+
unit: "bytes",
|
|
61
|
+
},
|
|
62
|
+
// Container Info Metrics
|
|
63
|
+
{
|
|
64
|
+
id: "container-pids-count",
|
|
65
|
+
friendlyName: "Container Process Count",
|
|
66
|
+
description: "Number of processes running inside a Swarm task's container. A sudden spike can indicate a fork bomb or resource leak.",
|
|
67
|
+
metricName: "container.pids.count",
|
|
68
|
+
category: "Container",
|
|
69
|
+
defaultAggregation: MetricsAggregationType.Avg,
|
|
70
|
+
unit: "count",
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
id: "container-uptime",
|
|
74
|
+
friendlyName: "Container Uptime",
|
|
75
|
+
description: "How long a Swarm task's container has been running. Drops to zero when the task is rescheduled, restarted, or crashes.",
|
|
76
|
+
metricName: "container.uptime",
|
|
77
|
+
category: "Container",
|
|
78
|
+
defaultAggregation: MetricsAggregationType.Max,
|
|
79
|
+
unit: "seconds",
|
|
80
|
+
},
|
|
81
|
+
];
|
|
82
|
+
export function getAllDockerSwarmMetrics() {
|
|
83
|
+
return dockerSwarmMetricCatalog;
|
|
84
|
+
}
|
|
85
|
+
export function getDockerSwarmMetricsByCategory(category) {
|
|
86
|
+
return dockerSwarmMetricCatalog.filter((m) => {
|
|
87
|
+
return m.category === category;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
export function getDockerSwarmMetricById(id) {
|
|
91
|
+
return dockerSwarmMetricCatalog.find((m) => {
|
|
92
|
+
return m.id === id;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
export function getDockerSwarmMetricByMetricName(metricName) {
|
|
96
|
+
return dockerSwarmMetricCatalog.find((m) => {
|
|
97
|
+
return m.metricName === metricName;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
export function getAllDockerSwarmMetricCategories() {
|
|
101
|
+
return ["CPU", "Memory", "Network", "Container"];
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=DockerSwarmMetricCatalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DockerSwarmMetricCatalog.js","sourceRoot":"","sources":["../../../../Types/Monitor/DockerSwarmMetricCatalog.ts"],"names":[],"mappings":"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"}
|