@oneuptime/common 12.0.11 → 12.0.13
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/DatabaseBaseModel/DatabaseBaseModel.ts +32 -5
- package/Models/DatabaseModels/NetworkDevice.ts +64 -0
- package/Models/DatabaseModels/StatusPage.ts +59 -0
- package/Models/DatabaseModels/StatusPageOidc.ts +2 -0
- package/Models/DatabaseModels/WorkspaceProjectAuthToken.ts +19 -2
- package/Server/API/AIChatAPI.ts +55 -56
- package/Server/API/CommonAPI.ts +89 -0
- package/Server/API/MicrosoftTeamsAPI.ts +20 -9
- package/Server/API/SlackAPI.ts +13 -10
- package/Server/API/StatusPageAPI.ts +2197 -2128
- package/Server/API/TelemetryAPI.ts +72 -3
- package/Server/Infrastructure/Postgres/SchemaMigrations/1787500000000-AddEnableSearchEngineIndexingToStatusPage.ts +30 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1787600000000-AddNetworkDeviceReachabilityColumns.ts +47 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +4 -0
- package/Server/Middleware/UserAuthorization.ts +11 -2
- package/Server/Services/ApiKeyPermissionService.ts +116 -2
- package/Server/Services/DatabaseService.ts +17 -6
- package/Server/Services/LogAggregationService.ts +34 -0
- package/Server/Services/LogService.ts +21 -0
- package/Server/Services/NetworkSiteService.ts +12 -0
- package/Server/Services/SpanService.ts +21 -0
- package/Server/Services/TraceAggregationService.ts +15 -0
- package/Server/Services/WorkspaceNotificationRuleService.ts +172 -220
- package/Server/Types/AnalyticsDatabase/ModelPermission.ts +9 -0
- package/Server/Types/Database/Permissions/AccessControlPermission.ts +47 -16
- package/Server/Types/Workflow/Components/Conditions/IfElse.ts +9 -0
- package/Server/Types/Workflow/Components/JavaScript.ts +9 -0
- package/Server/Utils/APIKey/AccessPermission.ts +16 -40
- package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +144 -0
- package/Server/Utils/LogRedaction.ts +576 -0
- package/Server/Utils/Logger.ts +123 -46
- package/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.ts +94 -23
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +12 -0
- package/Server/Utils/Monitor/MonitorResource.ts +29 -9
- package/Server/Utils/Monitor/NetworkInventoryUtil.ts +28 -7
- package/Server/Utils/SessionReplay/SessionReplayGateCacheStore.ts +56 -10
- package/Server/Utils/StartServer.ts +30 -9
- package/Server/Utils/StatusPageSearchEngineIndexing.ts +33 -0
- package/Server/Utils/Telemetry/ResourceEntityFilter.ts +441 -0
- package/Server/Utils/VM/VMRunner.ts +693 -874
- package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +488 -46
- package/Tests/App/Dashboard/MonitorTypePicker.test.tsx +300 -0
- package/Tests/App/StatusPage/StatusPageIndexPageRobotsMeta.test.ts +130 -0
- package/Tests/Models/DatabaseModels/DatabaseBaseModelToJSONObjectCache.test.ts +180 -0
- package/Tests/Models/StatusPageEnableSearchEngineIndexing.test.ts +157 -0
- package/Tests/Server/API/AIChatCancelAndFeedback.test.ts +23 -1
- package/Tests/Server/API/AIChatRouteAuthorization.test.ts +785 -0
- package/Tests/Server/API/BaseAPIApiKeyAuth.test.ts +21 -8
- package/Tests/Server/API/CommonAPIAuthGuard.test.ts +290 -0
- package/Tests/Server/API/MicrosoftTeamsManifest.test.ts +7 -1
- package/Tests/Server/API/StatusPageOverviewCache.test.ts +474 -0
- package/Tests/Server/API/StatusPageSeoSearchEngineIndexing.test.ts +189 -0
- package/Tests/Server/Infrastructure/InMemoryTTLCache.test.ts +158 -0
- package/Tests/Server/Infrastructure/Postgres/DeviceRoleAndDeclaredLinkParentMigration.test.ts +9 -60
- package/Tests/Server/Middleware/ProjectAuthorizationApiKeyMiddleware.test.ts +24 -15
- package/Tests/Server/Middleware/UserAuthorization.test.ts +79 -0
- package/Tests/Server/Services/AddNetworkDeviceReachabilityColumnsMigration.test.ts +332 -0
- package/Tests/Server/Services/ApiKeyPermissionService.test.ts +347 -0
- package/Tests/Server/Services/DatabaseServiceUpdateDebugLogging.test.ts +282 -0
- package/Tests/Server/Services/NetworkSiteService.test.ts +56 -2
- package/Tests/Server/Services/TelemetryResourceFacetFilters.test.ts +267 -0
- package/Tests/Server/Services/WorkspaceNotificationRuleTestRuleChannels.test.ts +702 -0
- package/Tests/Server/Types/Database/Permissions/AccessControlPermission.test.ts +165 -0
- package/Tests/Server/Types/Workflow/Components/CustomCodeScriptError.test.ts +121 -0
- package/Tests/Server/Utils/APIKey/AccessPermission.test.ts +48 -36
- package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +213 -0
- package/Tests/Server/Utils/LogRedaction.test.ts +415 -0
- package/Tests/Server/Utils/LoggerCredentialLeak.test.ts +245 -0
- package/Tests/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.test.ts +374 -4
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorJavascriptExpression.test.ts +92 -0
- package/Tests/Server/Utils/Monitor/MonitorResourceIngestedStepSelection.test.ts +455 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceReachabilityRoundTrip.test.ts +369 -0
- package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +86 -8
- package/Tests/Server/Utils/PrivacyFilterUtil.test.ts +64 -0
- package/Tests/Server/Utils/SessionReplay/SessionReplayGateCacheStore.test.ts +207 -0
- package/Tests/Server/Utils/StartServerBodyVerify.test.ts +335 -0
- package/Tests/Server/Utils/StatusPageSearchEngineIndexing.test.ts +60 -0
- package/Tests/Server/Utils/Telemetry/ResourceEntityFilter.test.ts +435 -0
- package/Tests/Server/Utils/VM/VMRunnerIsolation.test.ts +385 -0
- package/Tests/Server/Utils/VM/VMRunnerSsrf.test.ts +3 -0
- package/Tests/Server/Utils/Workspace/MicrosoftTeamsChannelSend.test.ts +607 -62
- package/Tests/Server/Utils/Workspace/MicrosoftTeamsInstalledTeamIdSpace.test.ts +778 -0
- package/Tests/Server/Utils/Workspace/MicrosoftTeamsTeamInstalls.test.ts +44 -10
- package/Tests/Types/API/HostnameFromAuthority.test.ts +164 -0
- package/Tests/Types/Database/AccessControl/ColumnAccessControlCache.test.ts +344 -0
- package/Tests/Types/Database/DatabasePropertyFindOperator.test.ts +518 -0
- package/Tests/Types/Database/TableColumnMetadataCache.test.ts +286 -0
- package/Tests/Types/Monitor/MonitorStep.test.ts +100 -0
- package/Tests/Types/Monitor/MonitorTypeKeywords.test.ts +360 -0
- package/Tests/Types/StatusPage/SearchEngineIndexing.test.ts +86 -0
- package/Tests/Types/Telemetry/ResourceEntityFacet.test.ts +254 -0
- package/Tests/UI/Components/CardSelect.test.tsx +1021 -0
- package/Tests/UI/Components/MasterPage.test.tsx +36 -1
- package/Tests/Utils/Monitor/MonitorMetricType.test.ts +66 -1
- package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +115 -6
- package/Tests/Utils/NetworkDevice/DeviceReachabilityUtil.test.ts +610 -0
- package/Tests/Utils/NetworkSite/SiteStatusRollupUtil.test.ts +114 -45
- package/Types/API/Hostname.ts +79 -0
- package/Types/Database/AccessControl/ColumnAccessControl.ts +33 -11
- package/Types/Database/AccessControl/ColumnBillingAccessControl.ts +33 -11
- package/Types/Database/DatabaseProperty.ts +38 -0
- package/Types/Database/TableColumn.ts +34 -7
- package/Types/Events/Recurring.ts +16 -1
- package/Types/Monitor/CustomCodeMonitor/CustomCodeMonitorResponse.ts +14 -2
- package/Types/Monitor/MonitorStep.ts +13 -1
- package/Types/Monitor/MonitorType.ts +345 -40
- package/Types/Monitor/SSLMonitor/SslMonitorResponse.ts +43 -0
- package/Types/StatusPage/SearchEngineIndexing.ts +61 -0
- package/Types/Telemetry/ResourceEntityFacet.ts +211 -0
- package/UI/Components/CardSelect/CardSelect.tsx +714 -105
- package/UI/Components/EmptyState/EmptyState.tsx +8 -1
- package/UI/Components/Footer/Footer.tsx +32 -6
- package/UI/Components/Forms/Fields/FormField.tsx +3 -0
- package/UI/Components/Forms/Types/Field.ts +8 -0
- package/UI/Components/Loader/PageLoader.tsx +29 -8
- package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +26 -4
- package/UI/Components/Markdown.tsx/LazyMarkdownViewer.tsx +17 -1
- package/UI/Components/MasterPage/MasterPage.tsx +24 -11
- package/Utils/Monitor/MonitorMetricType.ts +16 -1
- package/Utils/Monitor/NetworkTopologyUtil.ts +60 -8
- package/Utils/NetworkDevice/DeviceReachabilityUtil.ts +262 -0
- package/Utils/NetworkSite/SiteStatusRollupUtil.ts +41 -24
- package/Utils/Telemetry/CrossSignalScope.ts +75 -4
- package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js +20 -4
- package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +66 -0
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPage.js +60 -0
- package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageOidc.js +2 -0
- package/build/dist/Models/DatabaseModels/StatusPageOidc.js.map +1 -1
- package/build/dist/Models/DatabaseModels/WorkspaceProjectAuthToken.js.map +1 -1
- package/build/dist/Server/API/AIChatAPI.js +48 -35
- package/build/dist/Server/API/AIChatAPI.js.map +1 -1
- package/build/dist/Server/API/CommonAPI.js +59 -0
- package/build/dist/Server/API/CommonAPI.js.map +1 -1
- package/build/dist/Server/API/MicrosoftTeamsAPI.js +20 -6
- package/build/dist/Server/API/MicrosoftTeamsAPI.js.map +1 -1
- package/build/dist/Server/API/SlackAPI.js +13 -10
- package/build/dist/Server/API/SlackAPI.js.map +1 -1
- package/build/dist/Server/API/StatusPageAPI.js +745 -673
- package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
- package/build/dist/Server/API/TelemetryAPI.js +34 -3
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787500000000-AddEnableSearchEngineIndexingToStatusPage.js +23 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787500000000-AddEnableSearchEngineIndexingToStatusPage.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787600000000-AddNetworkDeviceReachabilityColumns.js +34 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787600000000-AddNetworkDeviceReachabilityColumns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +4 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/UserAuthorization.js +6 -2
- package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
- package/build/dist/Server/Services/ApiKeyPermissionService.js +90 -1
- package/build/dist/Server/Services/ApiKeyPermissionService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +15 -6
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/LogAggregationService.js +2 -0
- package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
- package/build/dist/Server/Services/LogService.js +16 -0
- package/build/dist/Server/Services/LogService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSiteService.js +12 -0
- package/build/dist/Server/Services/NetworkSiteService.js.map +1 -1
- package/build/dist/Server/Services/SpanService.js +16 -0
- package/build/dist/Server/Services/SpanService.js.map +1 -1
- package/build/dist/Server/Services/TraceAggregationService.js +2 -0
- package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
- package/build/dist/Server/Services/WorkspaceNotificationRuleService.js +137 -164
- package/build/dist/Server/Services/WorkspaceNotificationRuleService.js.map +1 -1
- package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +9 -0
- package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js +21 -13
- package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/Conditions/IfElse.js +8 -0
- package/build/dist/Server/Types/Workflow/Components/Conditions/IfElse.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/JavaScript.js +8 -0
- package/build/dist/Server/Types/Workflow/Components/JavaScript.js.map +1 -1
- package/build/dist/Server/Utils/APIKey/AccessPermission.js +9 -32
- package/build/dist/Server/Utils/APIKey/AccessPermission.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +87 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
- package/build/dist/Server/Utils/LogRedaction.js +449 -0
- package/build/dist/Server/Utils/LogRedaction.js.map +1 -0
- package/build/dist/Server/Utils/Logger.js +98 -45
- package/build/dist/Server/Utils/Logger.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.js +65 -13
- package/build/dist/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +12 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorResource.js +20 -3
- package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +27 -7
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
- package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCacheStore.js +29 -10
- package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCacheStore.js.map +1 -1
- package/build/dist/Server/Utils/StartServer.js +10 -7
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/StatusPageSearchEngineIndexing.js +24 -0
- package/build/dist/Server/Utils/StatusPageSearchEngineIndexing.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js +311 -0
- package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js.map +1 -0
- package/build/dist/Server/Utils/VM/VMRunner.js +402 -525
- package/build/dist/Server/Utils/VM/VMRunner.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +366 -37
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
- package/build/dist/Types/API/Hostname.js +63 -0
- package/build/dist/Types/API/Hostname.js.map +1 -1
- package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js +20 -6
- package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js.map +1 -1
- package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js +20 -6
- package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js.map +1 -1
- package/build/dist/Types/Database/DatabaseProperty.js +38 -0
- package/build/dist/Types/Database/DatabaseProperty.js.map +1 -1
- package/build/dist/Types/Database/TableColumn.js +24 -6
- package/build/dist/Types/Database/TableColumn.js.map +1 -1
- package/build/dist/Types/Events/Recurring.js +13 -1
- package/build/dist/Types/Events/Recurring.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +9 -1
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorType.js +330 -31
- package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
- package/build/dist/Types/StatusPage/SearchEngineIndexing.js +55 -0
- package/build/dist/Types/StatusPage/SearchEngineIndexing.js.map +1 -0
- package/build/dist/Types/Telemetry/ResourceEntityFacet.js +156 -0
- package/build/dist/Types/Telemetry/ResourceEntityFacet.js.map +1 -0
- package/build/dist/UI/Components/CardSelect/CardSelect.js +360 -40
- package/build/dist/UI/Components/CardSelect/CardSelect.js.map +1 -1
- package/build/dist/UI/Components/EmptyState/EmptyState.js +1 -1
- package/build/dist/UI/Components/EmptyState/EmptyState.js.map +1 -1
- package/build/dist/UI/Components/Footer/Footer.js +7 -4
- package/build/dist/UI/Components/Footer/Footer.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/FormField.js +1 -1
- package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
- package/build/dist/UI/Components/Loader/PageLoader.js +15 -5
- package/build/dist/UI/Components/Loader/PageLoader.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +16 -3
- package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
- package/build/dist/UI/Components/Markdown.tsx/LazyMarkdownViewer.js +13 -1
- package/build/dist/UI/Components/Markdown.tsx/LazyMarkdownViewer.js.map +1 -1
- package/build/dist/UI/Components/MasterPage/MasterPage.js +10 -2
- package/build/dist/UI/Components/MasterPage/MasterPage.js.map +1 -1
- package/build/dist/Utils/Monitor/MonitorMetricType.js +13 -1
- package/build/dist/Utils/Monitor/MonitorMetricType.js.map +1 -1
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +34 -7
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js +177 -0
- package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js.map +1 -0
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js +23 -27
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js.map +1 -1
- package/build/dist/Utils/Telemetry/CrossSignalScope.js +44 -4
- package/build/dist/Utils/Telemetry/CrossSignalScope.js.map +1 -1
- package/package.json +1 -1
|
@@ -65,6 +65,14 @@ export interface MonitorTypeProps {
|
|
|
65
65
|
description: string;
|
|
66
66
|
title: string;
|
|
67
67
|
icon: IconProp;
|
|
68
|
+
/*
|
|
69
|
+
* Words a user is likely to type that do not appear in the title or the
|
|
70
|
+
* description - product names, protocols and synonyms ("k8s", "postgres",
|
|
71
|
+
* "heartbeat", "tls"). The type picker searches these alongside the visible
|
|
72
|
+
* copy, so someone who knows their own vocabulary does not have to learn
|
|
73
|
+
* ours to find the right monitor.
|
|
74
|
+
*/
|
|
75
|
+
keywords: Array<string>;
|
|
68
76
|
}
|
|
69
77
|
|
|
70
78
|
export interface MonitorTypeCategory {
|
|
@@ -187,216 +195,498 @@ export class MonitorTypeHelper {
|
|
|
187
195
|
monitorType: MonitorType.API,
|
|
188
196
|
title: "API",
|
|
189
197
|
description:
|
|
190
|
-
"
|
|
198
|
+
"Call any HTTP endpoint - GET, POST, PUT, DELETE - and alert on the response.",
|
|
191
199
|
icon: IconProp.Code,
|
|
200
|
+
keywords: [
|
|
201
|
+
"rest",
|
|
202
|
+
"endpoint",
|
|
203
|
+
"http",
|
|
204
|
+
"https",
|
|
205
|
+
"json",
|
|
206
|
+
"graphql",
|
|
207
|
+
"get",
|
|
208
|
+
"post",
|
|
209
|
+
"put",
|
|
210
|
+
"delete",
|
|
211
|
+
"service",
|
|
212
|
+
],
|
|
192
213
|
},
|
|
193
214
|
{
|
|
194
215
|
monitorType: MonitorType.Manual,
|
|
195
216
|
title: "Manual",
|
|
196
217
|
description:
|
|
197
|
-
"
|
|
218
|
+
"No automatic checks. You set the status yourself, or from an external tool.",
|
|
198
219
|
icon: IconProp.EmptyCircle,
|
|
220
|
+
keywords: [
|
|
221
|
+
"static",
|
|
222
|
+
"external",
|
|
223
|
+
"integration",
|
|
224
|
+
"placeholder",
|
|
225
|
+
"no check",
|
|
226
|
+
"third party",
|
|
227
|
+
],
|
|
199
228
|
},
|
|
200
229
|
{
|
|
201
230
|
monitorType: MonitorType.Website,
|
|
202
231
|
title: "Website",
|
|
203
232
|
description:
|
|
204
|
-
"
|
|
233
|
+
"Check a page loads and responds - status code, page content, and response time.",
|
|
205
234
|
icon: IconProp.Globe,
|
|
235
|
+
keywords: [
|
|
236
|
+
"url",
|
|
237
|
+
"http",
|
|
238
|
+
"https",
|
|
239
|
+
"web",
|
|
240
|
+
"webpage",
|
|
241
|
+
"site",
|
|
242
|
+
"landing page",
|
|
243
|
+
"home page",
|
|
244
|
+
"uptime",
|
|
245
|
+
],
|
|
206
246
|
},
|
|
207
247
|
{
|
|
208
248
|
monitorType: MonitorType.Ping,
|
|
209
249
|
title: "Ping",
|
|
210
|
-
description:
|
|
211
|
-
"This monitor type does the basic ping test of an endpoint.",
|
|
250
|
+
description: "ICMP reachability and round trip time for a host.",
|
|
212
251
|
icon: IconProp.Signal,
|
|
252
|
+
keywords: [
|
|
253
|
+
"icmp",
|
|
254
|
+
"echo",
|
|
255
|
+
"reachable",
|
|
256
|
+
"reachability",
|
|
257
|
+
"latency",
|
|
258
|
+
"rtt",
|
|
259
|
+
"packet loss",
|
|
260
|
+
],
|
|
213
261
|
},
|
|
214
262
|
{
|
|
215
263
|
monitorType: MonitorType.Kubernetes,
|
|
216
264
|
title: "Kubernetes",
|
|
217
|
-
description:
|
|
218
|
-
"This monitor type lets you monitor Kubernetes clusters, workloads, nodes, and pods.",
|
|
265
|
+
description: "Cluster, node, workload, and pod health.",
|
|
219
266
|
icon: IconProp.Cube,
|
|
267
|
+
keywords: [
|
|
268
|
+
"k8s",
|
|
269
|
+
"cluster",
|
|
270
|
+
"pod",
|
|
271
|
+
"node",
|
|
272
|
+
"workload",
|
|
273
|
+
"deployment",
|
|
274
|
+
"namespace",
|
|
275
|
+
"container",
|
|
276
|
+
"eks",
|
|
277
|
+
"gke",
|
|
278
|
+
"aks",
|
|
279
|
+
"openshift",
|
|
280
|
+
],
|
|
220
281
|
},
|
|
221
282
|
{
|
|
222
283
|
monitorType: MonitorType.Docker,
|
|
223
284
|
title: "Docker Container",
|
|
224
285
|
description:
|
|
225
|
-
"
|
|
286
|
+
"Container CPU, memory, network, restarts, and lifecycle events.",
|
|
226
287
|
icon: IconProp.Cube,
|
|
288
|
+
keywords: [
|
|
289
|
+
"container",
|
|
290
|
+
"dockerd",
|
|
291
|
+
"image",
|
|
292
|
+
"restart",
|
|
293
|
+
"compose",
|
|
294
|
+
"oci",
|
|
295
|
+
],
|
|
227
296
|
},
|
|
228
297
|
{
|
|
229
298
|
monitorType: MonitorType.Host,
|
|
230
299
|
title: "Host",
|
|
231
300
|
description:
|
|
232
|
-
"
|
|
301
|
+
"CPU, memory, disk, network, and load for hosts running the Infrastructure Agent.",
|
|
233
302
|
icon: IconProp.Server,
|
|
303
|
+
keywords: [
|
|
304
|
+
"server",
|
|
305
|
+
"vm",
|
|
306
|
+
"machine",
|
|
307
|
+
"cpu",
|
|
308
|
+
"memory",
|
|
309
|
+
"ram",
|
|
310
|
+
"disk",
|
|
311
|
+
"load average",
|
|
312
|
+
"otel",
|
|
313
|
+
"opentelemetry",
|
|
314
|
+
"agent",
|
|
315
|
+
"linux",
|
|
316
|
+
"infrastructure",
|
|
317
|
+
],
|
|
234
318
|
},
|
|
235
319
|
{
|
|
236
320
|
monitorType: MonitorType.Podman,
|
|
237
321
|
title: "Podman Container",
|
|
238
322
|
description:
|
|
239
|
-
"
|
|
323
|
+
"Container CPU, memory, network, restarts, and lifecycle events.",
|
|
240
324
|
icon: IconProp.Podman,
|
|
325
|
+
keywords: [
|
|
326
|
+
"container",
|
|
327
|
+
"rootless",
|
|
328
|
+
"redhat",
|
|
329
|
+
"oci",
|
|
330
|
+
"quadlet",
|
|
331
|
+
"buildah",
|
|
332
|
+
],
|
|
241
333
|
},
|
|
242
334
|
{
|
|
243
335
|
monitorType: MonitorType.DockerSwarm,
|
|
244
336
|
title: "Docker Swarm",
|
|
245
337
|
description:
|
|
246
|
-
"
|
|
338
|
+
"Per task container health across the cluster's services and nodes.",
|
|
247
339
|
icon: IconProp.DockerSwarm,
|
|
340
|
+
keywords: [
|
|
341
|
+
"swarm",
|
|
342
|
+
"cluster",
|
|
343
|
+
"service",
|
|
344
|
+
"task",
|
|
345
|
+
"orchestration",
|
|
346
|
+
"stack",
|
|
347
|
+
"docker",
|
|
348
|
+
],
|
|
248
349
|
},
|
|
249
350
|
{
|
|
250
351
|
monitorType: MonitorType.Proxmox,
|
|
251
352
|
title: "Proxmox",
|
|
252
353
|
description:
|
|
253
|
-
"
|
|
354
|
+
"Node availability, VM and container guests, storage, and HA state.",
|
|
254
355
|
icon: IconProp.Proxmox,
|
|
356
|
+
keywords: [
|
|
357
|
+
"pve",
|
|
358
|
+
"hypervisor",
|
|
359
|
+
"vm",
|
|
360
|
+
"virtual machine",
|
|
361
|
+
"lxc",
|
|
362
|
+
"guest",
|
|
363
|
+
"virtualization",
|
|
364
|
+
"ha",
|
|
365
|
+
"cluster",
|
|
366
|
+
],
|
|
255
367
|
},
|
|
256
368
|
{
|
|
257
369
|
monitorType: MonitorType.Ceph,
|
|
258
370
|
title: "Ceph",
|
|
259
371
|
description:
|
|
260
|
-
"
|
|
372
|
+
"Cluster health, monitor quorum, OSD availability, and pool capacity.",
|
|
261
373
|
icon: IconProp.Ceph,
|
|
374
|
+
keywords: [
|
|
375
|
+
"storage",
|
|
376
|
+
"osd",
|
|
377
|
+
"placement group",
|
|
378
|
+
"pool",
|
|
379
|
+
"quorum",
|
|
380
|
+
"rados",
|
|
381
|
+
"cluster",
|
|
382
|
+
"object storage",
|
|
383
|
+
],
|
|
262
384
|
},
|
|
263
385
|
{
|
|
264
386
|
monitorType: MonitorType.IoTDevice,
|
|
265
387
|
title: "IoT Device",
|
|
266
388
|
description:
|
|
267
|
-
"
|
|
389
|
+
"Device fleet availability, battery, connectivity, and signal strength.",
|
|
268
390
|
icon: IconProp.IoT,
|
|
391
|
+
keywords: [
|
|
392
|
+
"iot",
|
|
393
|
+
"device",
|
|
394
|
+
"fleet",
|
|
395
|
+
"sensor",
|
|
396
|
+
"battery",
|
|
397
|
+
"gateway",
|
|
398
|
+
"embedded",
|
|
399
|
+
"signal",
|
|
400
|
+
],
|
|
269
401
|
},
|
|
270
402
|
{
|
|
271
403
|
monitorType: MonitorType.IP,
|
|
272
404
|
title: "IP",
|
|
273
|
-
description:
|
|
274
|
-
"This monitor type lets you monitor any IPv4 or IPv6 addresses.",
|
|
405
|
+
description: "Reachability of any IPv4 or IPv6 address.",
|
|
275
406
|
icon: IconProp.AltGlobe,
|
|
407
|
+
keywords: ["ipv4", "ipv6", "address", "reachability", "host"],
|
|
276
408
|
},
|
|
277
409
|
{
|
|
278
410
|
monitorType: MonitorType.IncomingRequest,
|
|
279
411
|
title: "Incoming Request",
|
|
280
412
|
description:
|
|
281
|
-
"
|
|
413
|
+
"Have something call OneUptime - heartbeats, cron jobs, and webhooks.",
|
|
282
414
|
icon: IconProp.Webhook,
|
|
415
|
+
keywords: [
|
|
416
|
+
"webhook",
|
|
417
|
+
"heartbeat",
|
|
418
|
+
"push",
|
|
419
|
+
"cron",
|
|
420
|
+
"inbound",
|
|
421
|
+
"dead man switch",
|
|
422
|
+
"alertmanager",
|
|
423
|
+
"curl",
|
|
424
|
+
],
|
|
283
425
|
},
|
|
284
426
|
{
|
|
285
427
|
monitorType: MonitorType.IncomingEmail,
|
|
286
428
|
title: "Incoming Email",
|
|
287
429
|
description:
|
|
288
|
-
"
|
|
430
|
+
"Alert when email arrives at a unique address and matches your criteria.",
|
|
289
431
|
icon: IconProp.Email,
|
|
432
|
+
keywords: ["email", "mail", "inbox", "smtp", "imap", "mailbox"],
|
|
290
433
|
},
|
|
291
434
|
{
|
|
292
435
|
monitorType: MonitorType.Port,
|
|
293
436
|
title: "Port",
|
|
294
|
-
description: "
|
|
437
|
+
description: "Whether a TCP or UDP port accepts connections.",
|
|
295
438
|
icon: IconProp.Terminal,
|
|
439
|
+
keywords: ["tcp", "udp", "socket", "telnet", "open port", "connection"],
|
|
296
440
|
},
|
|
297
441
|
{
|
|
298
442
|
monitorType: MonitorType.Server,
|
|
299
443
|
title: "Server / VM",
|
|
300
444
|
description:
|
|
301
|
-
"
|
|
445
|
+
"Any server, VM, or machine, reporting in through the OneUptime agent.",
|
|
302
446
|
icon: IconProp.Cube,
|
|
447
|
+
keywords: [
|
|
448
|
+
"vm",
|
|
449
|
+
"machine",
|
|
450
|
+
"agent",
|
|
451
|
+
"linux",
|
|
452
|
+
"windows",
|
|
453
|
+
"cpu",
|
|
454
|
+
"memory",
|
|
455
|
+
"disk",
|
|
456
|
+
],
|
|
303
457
|
},
|
|
304
458
|
{
|
|
305
459
|
monitorType: MonitorType.SSLCertificate,
|
|
306
460
|
title: "SSL Certificate",
|
|
307
|
-
description:
|
|
308
|
-
"This monitor type lets you monitor SSL certificates of any domain.",
|
|
461
|
+
description: "Certificate validity and expiry for a domain.",
|
|
309
462
|
icon: IconProp.ShieldCheck,
|
|
463
|
+
keywords: [
|
|
464
|
+
"tls",
|
|
465
|
+
"ssl",
|
|
466
|
+
"cert",
|
|
467
|
+
"certificate",
|
|
468
|
+
"https",
|
|
469
|
+
"expiry",
|
|
470
|
+
"expiration",
|
|
471
|
+
"x509",
|
|
472
|
+
"chain",
|
|
473
|
+
"handshake",
|
|
474
|
+
],
|
|
310
475
|
},
|
|
311
476
|
{
|
|
312
477
|
monitorType: MonitorType.SQLQuery,
|
|
313
478
|
title: "SQL Query",
|
|
314
479
|
description:
|
|
315
|
-
"
|
|
480
|
+
"Run a read only query on a schedule and alert on rows, values, or errors.",
|
|
316
481
|
icon: IconProp.Database,
|
|
482
|
+
keywords: [
|
|
483
|
+
"database",
|
|
484
|
+
"db",
|
|
485
|
+
"postgres",
|
|
486
|
+
"postgresql",
|
|
487
|
+
"mysql",
|
|
488
|
+
"mariadb",
|
|
489
|
+
"mssql",
|
|
490
|
+
"sql server",
|
|
491
|
+
"query",
|
|
492
|
+
"row count",
|
|
493
|
+
],
|
|
317
494
|
},
|
|
318
495
|
{
|
|
319
496
|
monitorType: MonitorType.SyntheticMonitor,
|
|
320
497
|
title: "Synthetic Monitor",
|
|
321
498
|
description:
|
|
322
|
-
"
|
|
499
|
+
"Drive your web app in a real browser and alert when the journey fails.",
|
|
323
500
|
icon: IconProp.Window,
|
|
501
|
+
keywords: [
|
|
502
|
+
"browser",
|
|
503
|
+
"playwright",
|
|
504
|
+
"e2e",
|
|
505
|
+
"user journey",
|
|
506
|
+
"ui",
|
|
507
|
+
"click",
|
|
508
|
+
"flow",
|
|
509
|
+
"transaction",
|
|
510
|
+
"headless",
|
|
511
|
+
],
|
|
324
512
|
},
|
|
325
513
|
{
|
|
326
514
|
monitorType: MonitorType.CustomJavaScriptCode,
|
|
327
515
|
title: "Custom JavaScript Code",
|
|
328
516
|
description:
|
|
329
|
-
"
|
|
517
|
+
"Run your own JavaScript on a schedule and alert on what it returns.",
|
|
330
518
|
icon: IconProp.Code,
|
|
519
|
+
keywords: [
|
|
520
|
+
"js",
|
|
521
|
+
"javascript",
|
|
522
|
+
"script",
|
|
523
|
+
"code",
|
|
524
|
+
"custom",
|
|
525
|
+
"node",
|
|
526
|
+
"programmatic",
|
|
527
|
+
],
|
|
331
528
|
},
|
|
332
529
|
{
|
|
333
530
|
monitorType: MonitorType.Logs,
|
|
334
531
|
title: "Logs",
|
|
335
|
-
description:
|
|
532
|
+
description:
|
|
533
|
+
"Alert on log volume or matching log content from any source.",
|
|
336
534
|
icon: IconProp.Logs,
|
|
535
|
+
keywords: [
|
|
536
|
+
"log",
|
|
537
|
+
"otel",
|
|
538
|
+
"opentelemetry",
|
|
539
|
+
"log query",
|
|
540
|
+
"error log",
|
|
541
|
+
"search logs",
|
|
542
|
+
],
|
|
337
543
|
},
|
|
338
544
|
{
|
|
339
545
|
monitorType: MonitorType.Exceptions,
|
|
340
546
|
title: "Exceptions",
|
|
341
|
-
description:
|
|
342
|
-
"This monitor type lets you monitor exceptions and error groups from any source.",
|
|
547
|
+
description: "Alert on exceptions and error groups from any source.",
|
|
343
548
|
icon: IconProp.Bug,
|
|
549
|
+
keywords: [
|
|
550
|
+
"exception",
|
|
551
|
+
"error",
|
|
552
|
+
"crash",
|
|
553
|
+
"stack trace",
|
|
554
|
+
"bug",
|
|
555
|
+
"error group",
|
|
556
|
+
],
|
|
344
557
|
},
|
|
345
558
|
{
|
|
346
559
|
monitorType: MonitorType.Traces,
|
|
347
560
|
title: "Traces",
|
|
348
|
-
description:
|
|
349
|
-
"This monitor type lets you monitor traces from any source.",
|
|
561
|
+
description: "Alert on span latency and error rate from any source.",
|
|
350
562
|
icon: IconProp.Waterfall,
|
|
563
|
+
keywords: [
|
|
564
|
+
"trace",
|
|
565
|
+
"span",
|
|
566
|
+
"otel",
|
|
567
|
+
"opentelemetry",
|
|
568
|
+
"distributed tracing",
|
|
569
|
+
"apm",
|
|
570
|
+
"latency",
|
|
571
|
+
],
|
|
351
572
|
},
|
|
352
573
|
{
|
|
353
574
|
monitorType: MonitorType.Metrics,
|
|
354
575
|
title: "Metrics",
|
|
355
|
-
description:
|
|
356
|
-
"This monitor type lets you monitor metrics from any source.",
|
|
576
|
+
description: "Alert on any metric you ingest.",
|
|
357
577
|
icon: IconProp.Heartbeat,
|
|
578
|
+
keywords: [
|
|
579
|
+
"metric",
|
|
580
|
+
"otel",
|
|
581
|
+
"opentelemetry",
|
|
582
|
+
"gauge",
|
|
583
|
+
"counter",
|
|
584
|
+
"histogram",
|
|
585
|
+
"timeseries",
|
|
586
|
+
"prometheus",
|
|
587
|
+
],
|
|
358
588
|
},
|
|
359
589
|
{
|
|
360
590
|
monitorType: MonitorType.Profiles,
|
|
361
591
|
title: "Profiles",
|
|
362
|
-
description:
|
|
363
|
-
"This monitor type lets you monitor continuous profiling data from any source.",
|
|
592
|
+
description: "Alert on continuous profiling data from any source.",
|
|
364
593
|
icon: IconProp.Fire,
|
|
594
|
+
keywords: [
|
|
595
|
+
"profiling",
|
|
596
|
+
"cpu profile",
|
|
597
|
+
"flamegraph",
|
|
598
|
+
"pprof",
|
|
599
|
+
"continuous profiling",
|
|
600
|
+
],
|
|
365
601
|
},
|
|
366
602
|
{
|
|
367
603
|
monitorType: MonitorType.NetworkDevice,
|
|
368
604
|
title: "Network Device",
|
|
369
605
|
description:
|
|
370
|
-
"
|
|
606
|
+
"Alert on a registered switch, router, firewall, or access point.",
|
|
371
607
|
icon: IconProp.Signal,
|
|
608
|
+
keywords: [
|
|
609
|
+
"snmp",
|
|
610
|
+
"switch",
|
|
611
|
+
"router",
|
|
612
|
+
"firewall",
|
|
613
|
+
"access point",
|
|
614
|
+
"interface",
|
|
615
|
+
"oid",
|
|
616
|
+
"trap",
|
|
617
|
+
"bandwidth",
|
|
618
|
+
],
|
|
372
619
|
},
|
|
373
620
|
{
|
|
374
621
|
monitorType: MonitorType.DNS,
|
|
375
622
|
title: "DNS",
|
|
376
|
-
description:
|
|
377
|
-
"This monitor type lets you monitor DNS resolution for your domains, verify record values, and check DNSSEC validity.",
|
|
623
|
+
description: "Resolution and record values for your domains.",
|
|
378
624
|
icon: IconProp.GlobeAlt,
|
|
625
|
+
keywords: [
|
|
626
|
+
"resolution",
|
|
627
|
+
"resolve",
|
|
628
|
+
"record",
|
|
629
|
+
"cname",
|
|
630
|
+
"mx",
|
|
631
|
+
"txt",
|
|
632
|
+
"ns",
|
|
633
|
+
"srv",
|
|
634
|
+
"resolver",
|
|
635
|
+
"nslookup",
|
|
636
|
+
"dig",
|
|
637
|
+
],
|
|
379
638
|
},
|
|
380
639
|
{
|
|
381
640
|
monitorType: MonitorType.DNSSEC,
|
|
382
641
|
title: "DNSSEC",
|
|
383
642
|
description:
|
|
384
|
-
"
|
|
643
|
+
"Full DNSSEC validation - DNSKEY, DS, RRSIG, and resolver behaviour.",
|
|
385
644
|
icon: IconProp.Key,
|
|
645
|
+
keywords: [
|
|
646
|
+
"dnskey",
|
|
647
|
+
"ds record",
|
|
648
|
+
"rrsig",
|
|
649
|
+
"signing",
|
|
650
|
+
"validation",
|
|
651
|
+
"secure dns",
|
|
652
|
+
"chain of trust",
|
|
653
|
+
],
|
|
386
654
|
},
|
|
387
655
|
{
|
|
388
656
|
monitorType: MonitorType.Domain,
|
|
389
657
|
title: "Domain",
|
|
390
658
|
description:
|
|
391
|
-
"
|
|
659
|
+
"Registration health - expiry, registrar, nameservers, and WHOIS status.",
|
|
392
660
|
icon: IconProp.Globe,
|
|
661
|
+
keywords: [
|
|
662
|
+
"whois",
|
|
663
|
+
"registrar",
|
|
664
|
+
"registration",
|
|
665
|
+
"expiry",
|
|
666
|
+
"expiration",
|
|
667
|
+
"nameserver",
|
|
668
|
+
"delegation",
|
|
669
|
+
"tld",
|
|
670
|
+
],
|
|
393
671
|
},
|
|
394
672
|
{
|
|
395
673
|
monitorType: MonitorType.ExternalStatusPage,
|
|
396
674
|
title: "External Status Page",
|
|
397
675
|
description:
|
|
398
|
-
"
|
|
676
|
+
"Watch a third party status page - AWS, GCP, Azure, GitHub, Cloudflare.",
|
|
399
677
|
icon: IconProp.ExternalLink,
|
|
678
|
+
keywords: [
|
|
679
|
+
"third party",
|
|
680
|
+
"vendor",
|
|
681
|
+
"upstream",
|
|
682
|
+
"dependency",
|
|
683
|
+
"aws",
|
|
684
|
+
"gcp",
|
|
685
|
+
"azure",
|
|
686
|
+
"github",
|
|
687
|
+
"cloudflare",
|
|
688
|
+
"statuspage",
|
|
689
|
+
],
|
|
400
690
|
},
|
|
401
691
|
];
|
|
402
692
|
|
|
@@ -433,6 +723,21 @@ export class MonitorTypeHelper {
|
|
|
433
723
|
return monitorTypeProps[0].title;
|
|
434
724
|
}
|
|
435
725
|
|
|
726
|
+
public static getKeywords(monitorType: MonitorType): Array<string> {
|
|
727
|
+
const monitorTypeProps: Array<MonitorTypeProps> =
|
|
728
|
+
this.getAllMonitorTypeProps().filter((item: MonitorTypeProps) => {
|
|
729
|
+
return item.monitorType === monitorType;
|
|
730
|
+
});
|
|
731
|
+
|
|
732
|
+
if (!monitorTypeProps[0]) {
|
|
733
|
+
throw new BadDataException(
|
|
734
|
+
`${monitorType} does not have monitorType props`,
|
|
735
|
+
);
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
return monitorTypeProps[0].keywords;
|
|
739
|
+
}
|
|
740
|
+
|
|
436
741
|
/*
|
|
437
742
|
* Monitor types the probe executes on a schedule via MonitorProbe rows.
|
|
438
743
|
*
|
|
@@ -4,7 +4,40 @@
|
|
|
4
4
|
* probe cannot assign a "may be absent" value into a bare optional property.
|
|
5
5
|
*/
|
|
6
6
|
export default interface SslMonitorResponse {
|
|
7
|
+
/*
|
|
8
|
+
* Whether the certificate chain passed strict TLS validation (the check
|
|
9
|
+
* a browser performs). This is the ONE field that answers "is this
|
|
10
|
+
* certificate trustworthy", and it is recorded explicitly rather than
|
|
11
|
+
* inferred.
|
|
12
|
+
*
|
|
13
|
+
* It exists because isSelfSigned used to be the only signal that
|
|
14
|
+
* validation had failed, which forced every distinct failure - expired,
|
|
15
|
+
* hostname mismatch, untrusted CA, incomplete chain - to be reported as
|
|
16
|
+
* "self signed". Criteria that asked "is this certificate valid" then had
|
|
17
|
+
* to reconstruct the verdict from !isSelfSigned, and a monitor watching a
|
|
18
|
+
* host with a wrong-hostname certificate read as healthy.
|
|
19
|
+
*/
|
|
20
|
+
isValidCertificate?: boolean | undefined;
|
|
21
|
+
|
|
22
|
+
/*
|
|
23
|
+
* Why strict validation failed, straight from Node's TLS stack:
|
|
24
|
+
* certificateValidationErrorCode is the stable machine-readable code
|
|
25
|
+
* ("CERT_HAS_EXPIRED", "ERR_TLS_CERT_ALTNAME_INVALID", ...) that criteria
|
|
26
|
+
* and tests key off, and certificateValidationError is the human-readable
|
|
27
|
+
* message shown to whoever gets paged. Both are empty when the
|
|
28
|
+
* certificate is valid.
|
|
29
|
+
*/
|
|
30
|
+
certificateValidationError?: string | undefined;
|
|
31
|
+
certificateValidationErrorCode?: string | undefined;
|
|
32
|
+
|
|
33
|
+
/*
|
|
34
|
+
* True ONLY for a genuinely self-signed chain, i.e. Node reported
|
|
35
|
+
* DEPTH_ZERO_SELF_SIGNED_CERT / SELF_SIGNED_CERT_IN_CHAIN, or the leaf's
|
|
36
|
+
* issuer equals its subject. Any other validation failure leaves this
|
|
37
|
+
* false and is described by certificateValidationErrorCode instead.
|
|
38
|
+
*/
|
|
7
39
|
isSelfSigned?: boolean | undefined;
|
|
40
|
+
|
|
8
41
|
createdAt?: Date | undefined;
|
|
9
42
|
expiresAt?: Date | undefined;
|
|
10
43
|
commonName?: string | undefined;
|
|
@@ -13,7 +46,17 @@ export default interface SslMonitorResponse {
|
|
|
13
46
|
locality?: string | undefined;
|
|
14
47
|
state?: string | undefined;
|
|
15
48
|
country?: string | undefined;
|
|
49
|
+
|
|
50
|
+
// Who signed the certificate. Without it the product cannot name the CA.
|
|
51
|
+
issuer?: string | undefined;
|
|
52
|
+
|
|
16
53
|
serialNumber?: string | undefined;
|
|
17
54
|
fingerprint?: string | undefined;
|
|
18
55
|
fingerprint256?: string | undefined;
|
|
56
|
+
|
|
57
|
+
/*
|
|
58
|
+
* How long the successful TLS handshake took. Recorded so SSL monitors
|
|
59
|
+
* produce a ResponseTime metric like every other probe monitor type.
|
|
60
|
+
*/
|
|
61
|
+
responseTimeInMs?: number | undefined;
|
|
19
62
|
}
|