Sign in Start for free

Observability

Register and trusts new Kubernetes Monitor

POST /api/{spaceId}/observability/agents

Also reachable at /api/spaces/{spaceIdentifier}/observability/agents, /api/spaces/{spaceIdentifier}/observability/kubernetes-monitors, /api/{spaceId}/observability/kubernetes-monitors.

Path Parameters

  • spaceId string (required)

Request Body

  • InstallationId string (required)
    Installation ID of that uniquely identifies the physical installation of the agent. Format uuid.
  • MachineId string (required)
    Machine ID of that uniquely identifies the deployment target or worker that is being observed.
  • PreserveAuthenticationToken boolean
    Controls whether the authentication token should be preserved during re-registration. If not supplied (null), the token will be regenerated (default behavior). If false, the token will be regenerated. If true, the existing token will be preserved.
  • SpaceId string (required)

Response

200 — Response containing the registered agent.

  • AuthenticationToken string
    Authentication token for the monitor. Will be null if PreserveAuthenticationToken was set to true in the request and not registering a new monitor.
  • CertificateThumbprint string
    Minimum length 1.
  • Resource object
    • Id string
    • InstallationId string
      Format uuid.
    • MachineId string
    • SpaceId string

Example Request

JSON
{
  "InstallationId": "00000000-0000-0000-0000-000000000000",
  "MachineId": "Machines-1",
  "PreserveAuthenticationToken": true,
  "SpaceId": "Spaces-1"
}

Example Response

JSON
{
  "AuthenticationToken": "string",
  "CertificateThumbprint": "string",
  "Resource": {
    "Id": "KubernetesMonitors-1",
    "InstallationId": "00000000-0000-0000-0000-000000000000",
    "MachineId": "Machines-1",
    "SpaceId": "Spaces-1"
  }
}

Request the Kubernetes monitor to start sending events for the specified resource

POST /api/{spaceId}/observability/events/sessions

Also reachable at /api/spaces/{spaceIdentifier}/observability/events/sessions.

Path Parameters

  • spaceId string (required)

Request Body

  • DesiredOrKubernetesMonitoredResourceId string (required)
    Minimum length 1.
  • EnvironmentId string (required)
  • MachineId string (required)
  • ProjectId string (required)
  • SpaceId string (required)
  • TenantId string

Response

200 — Confirmation response containing a session ID for the event session

  • SessionId string
    Format uuid.

Example Request

JSON
{
  "DesiredOrKubernetesMonitoredResourceId": "string",
  "EnvironmentId": "Environments-1",
  "MachineId": "Machines-1",
  "ProjectId": "Projects-1",
  "SpaceId": "Spaces-1",
  "TenantId": "Tenants-1"
}

Example Response

JSON
{
  "SessionId": "00000000-0000-0000-0000-000000000000"
}

Request to fetch all the events for the specified session

GET /api/{spaceId}/observability/events/sessions/{sessionId}

Also reachable at /api/spaces/{spaceIdentifier}/observability/events/sessions/{sessionId}.

Path Parameters

  • sessionId string (required)
  • spaceId string (required)

Response

200 — Response containing the events for a sessionID

  • Error object
    • ErrorCode string
      Minimum length 1.
    • ErrorMessage string
      Minimum length 1.
  • Events array of object
    • Action string
    • Count integer
    • FirstObservedTime string
    • LastObservedTime string
    • Manifest string
    • Note string
    • Reason string
    • ReportingController string
    • ReportingInstance string
    • Type string
  • IsSessionCompleted boolean

Example Response

JSON
{
  "Error": {
    "ErrorCode": "string",
    "ErrorMessage": "string"
  },
  "Events": [
    {
      "Action": "string",
      "Count": 0,
      "FirstObservedTime": "string",
      "LastObservedTime": "string",
      "Manifest": "string",
      "Note": "string",
      "Reason": "string",
      "ReportingController": "string",
      "ReportingInstance": "string",
      "Type": "string"
    }
  ],
  "IsSessionCompleted": true
}

Get a Kubernetes Monitor by ID

GET /api/{spaceId}/observability/kubernetes-monitors/{id}

Also reachable at /api/spaces/{spaceIdentifier}/observability/kubernetes-monitors/{id}.

Path Parameters

  • id string (required)
    Id of the Kubernetes Monitor.
  • spaceId string (required)
    The ID of the space containing the resource(s).

Response

200 — The requested Kubernetes Monitor

  • Resource object
    • Id string
    • InstallationId string
      Format uuid.
    • MachineId string
    • SpaceId string

Example Response

JSON
{
  "Resource": {
    "Id": "KubernetesMonitors-1",
    "InstallationId": "00000000-0000-0000-0000-000000000000",
    "MachineId": "Machines-1",
    "SpaceId": "Spaces-1"
  }
}

Delete a Kubernetes Monitor by ID

DELETE /api/{spaceId}/observability/kubernetes-monitors/{id}

Also reachable at /api/spaces/{spaceIdentifier}/observability/kubernetes-monitors/{id}.

Path Parameters

  • id string (required)
    Id of the Kubernetes Monitor.
  • spaceId string (required)
    The ID of the space containing the resource(s).

Response

200 — Response for deleting a Kubernetes Monitor

Example Response

JSON
{}

Request the Kubernetes monitor to start sending logs for the specified container

POST /api/{spaceId}/observability/logs/sessions

Also reachable at /api/spaces/{spaceIdentifier}/observability/logs/sessions.

Path Parameters

  • spaceId string (required)

Request Body

  • ContainerName string (required)
    Minimum length 1.
  • DesiredOrKubernetesMonitoredResourceId string (required)
    Minimum length 1.
  • EnvironmentId string (required)
  • MachineId string (required)
  • PodName string (required)
    Minimum length 1.
  • ProjectId string (required)
  • ShowPreviousContainer boolean (required)
  • SpaceId string (required)
  • TenantId string

Response

200 — Confirmation response containing any errors that might have occurred during communications with the Kubernetes Monitor

  • SessionId string
    Format uuid.

Example Request

JSON
{
  "ContainerName": "string",
  "DesiredOrKubernetesMonitoredResourceId": "string",
  "EnvironmentId": "Environments-1",
  "MachineId": "Machines-1",
  "PodName": "string",
  "ProjectId": "Projects-1",
  "ShowPreviousContainer": true,
  "SpaceId": "Spaces-1",
  "TenantId": "Tenants-1"
}

Example Response

JSON
{
  "SessionId": "00000000-0000-0000-0000-000000000000"
}

Request to fetch all the logs for the specified session

GET /api/{spaceId}/observability/logs/sessions/{sessionId}

Also reachable at /api/spaces/{spaceIdentifier}/observability/logs/sessions/{sessionId}.

Path Parameters

  • sessionId string (required)
  • spaceId string (required)

Response

200 — Response containing the logs for a sessionID

  • Error object
    • ErrorCode string
      Minimum length 1.
    • ErrorMessage string
      Minimum length 1.
  • IsSessionCompleted boolean
  • Logs array of object
    • Message string
    • Timestamp string

Example Response

JSON
{
  "Error": {
    "ErrorCode": "string",
    "ErrorMessage": "string"
  },
  "IsSessionCompleted": true,
  "Logs": [
    {
      "Message": "string",
      "Timestamp": "string"
    }
  ]
}

Request the live status for a Project/Environment/Tenant

GET /api/{spaceId}/projects/{projectId}/environments/{environmentId}/tenants/{tenantId}/livestatus

Also reachable at /api/spaces/{spaceIdentifier}/projects/{projectId}/environments/{environmentId}/tenants/{tenantId}/livestatus, /api/spaces/{spaceIdentifier}/projects/{projectId}/environments/{environmentId}/untenanted/livestatus, /api/{spaceId}/projects/{projectId}/environments/{environmentId}/untenanted/livestatus.

Path Parameters

  • environmentId string (required)
  • projectId string (required)
  • spaceId string (required)
  • tenantId string (required)

Query Parameters

  • summaryOnly boolean

Response

200 — Live status for a given Project/Environment/Tenant

  • MachineStatuses array of object
    • MachineId string
    • Resources array of object
    • Status string
      Minimum length 1.
  • Summary object
    • HealthStatus string
      Minimum length 1.
    • LastUpdated string
    • Status string
      Minimum length 1.
    • SyncStatus string
      Minimum length 1.
    • SyncStatusMessage string
    • TotalOrphanCount integer

Example Response

JSON
{
  "MachineStatuses": [
    {
      "MachineId": "Machines-1",
      "Resources": [
        {}
      ],
      "Status": "string"
    }
  ],
  "Summary": {
    "HealthStatus": "string",
    "LastUpdated": "string",
    "Status": "string",
    "SyncStatus": "string",
    "SyncStatusMessage": "string",
    "TotalOrphanCount": 0
  }
}

Get a detailed summary of a live Kubernetes resource - either a top-level resource or a child resource

GET /api/{spaceId}/projects/{projectId}/environments/{environmentId}/tenants/{tenantId}/machines/{sourceId}/resources/{desiredOrKubernetesMonitoredResourceId}

Also reachable at /api/spaces/{spaceIdentifier}/projects/{projectId}/environments/{environmentId}/tenants/{tenantId}/machines/{sourceId}/resources/{desiredOrKubernetesMonitoredResourceId}, /api/spaces/{spaceIdentifier}/projects/{projectId}/environments/{environmentId}/untenanted/machines/{sourceId}/resources/{desiredOrKubernetesMonitoredResourceId}, /api/{spaceId}/projects/{projectId}/environments/{environmentId}/untenanted/machines/{sourceId}/resources/{desiredOrKubernetesMonitoredResourceId}.

Path Parameters

  • desiredOrKubernetesMonitoredResourceId string (required)
  • environmentId string (required)
  • projectId string (required)
  • sourceId string (required)
  • spaceId string (required)
  • tenantId string (required)

Response

200 — Response containing detailed summary of a live kubernetes resource - Either a top level resource or a child resource

  • Resource object
    • Children array of object
    • DesiredResourceId string
      Format uuid.
    • ExternalLink object
    • HealthStatus enum
      Allowed values: Stale.
    • HealthStatusMessage string
    • Kind string
      Minimum length 1.
    • LastUpdated string
    • ManifestSummary object
    • Name string
    • Namespace string
    • ResourceId string
      Format uuid.
    • ResourceSourceId string
    • SourceType enum
      Allowed values: KubernetesMonitor, ArgoCDInstance, ArgoCDApplication.
    • SyncStatus string
    • SyncStatusMessage string

Example Response

JSON
{
  "Resource": {
    "Children": [],
    "DesiredResourceId": "00000000-0000-0000-0000-000000000000",
    "ExternalLink": {
      "Label": "string",
      "Uri": "string"
    },
    "HealthStatus": "Stale",
    "HealthStatusMessage": "string",
    "Kind": "string",
    "LastUpdated": "string",
    "ManifestSummary": {
      "Annotations": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
      "CreationTimestamp": "2020-01-01T00:00:00.000Z",
      "Kind": "string",
      "Labels": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      }
    },
    "Name": "string",
    "Namespace": "string",
    "ResourceId": "00000000-0000-0000-0000-000000000000",
    "ResourceSourceId": "string",
    "SourceType": "KubernetesMonitor",
    "SyncStatus": "string",
    "SyncStatusMessage": "string"
  }
}

Request for retrieving the manifest for a live kubernetes resource

GET /api/{spaceId}/projects/{projectId}/environments/{environmentId}/tenants/{tenantId}/machines/{sourceId}/resources/{desiredOrKubernetesMonitoredResourceId}/manifest

Also reachable at /api/spaces/{spaceIdentifier}/projects/{projectId}/environments/{environmentId}/tenants/{tenantId}/machines/{sourceId}/resources/{desiredOrKubernetesMonitoredResourceId}/manifest, /api/spaces/{spaceIdentifier}/projects/{projectId}/environments/{environmentId}/untenanted/machines/{sourceId}/resources/{desiredOrKubernetesMonitoredResourceId}/manifest, /api/{spaceId}/projects/{projectId}/environments/{environmentId}/untenanted/machines/{sourceId}/resources/{desiredOrKubernetesMonitoredResourceId}/manifest.

Path Parameters

  • desiredOrKubernetesMonitoredResourceId string (required)
  • environmentId string (required)
  • projectId string (required)
  • sourceId string (required)
  • spaceId string (required)
  • tenantId string (required)

Response

200 — Contains the manifest for a live resource

  • DesiredManifest string
  • Diff object
    • Diff string
      Minimum length 1.
    • Left string
      Minimum length 1.
    • Right string
      Minimum length 1.
  • LiveManifest string
    Minimum length 1.

Example Response

JSON
{
  "DesiredManifest": "string",
  "Diff": {
    "Diff": "string",
    "Left": "string",
    "Right": "string"
  },
  "LiveManifest": "string"
}

Request for retrieving the manifest for a live kubernetes resource

GET /api/{spaceId}/projects/{projectId}/environments/{environmentId}/tenants/{tenantId}/machines/{sourceId}/resources/{desiredOrKubernetesMonitoredResourceId}/manifest/v2

Also reachable at /api/spaces/{spaceIdentifier}/projects/{projectId}/environments/{environmentId}/tenants/{tenantId}/machines/{sourceId}/resources/{desiredOrKubernetesMonitoredResourceId}/manifest/v2, /api/spaces/{spaceIdentifier}/projects/{projectId}/environments/{environmentId}/untenanted/machines/{sourceId}/resources/{desiredOrKubernetesMonitoredResourceId}/manifest/v2, /api/{spaceId}/projects/{projectId}/environments/{environmentId}/untenanted/machines/{sourceId}/resources/{desiredOrKubernetesMonitoredResourceId}/manifest/v2.

Path Parameters

  • desiredOrKubernetesMonitoredResourceId string (required)
  • environmentId string (required)
  • projectId string (required)
  • sourceId string (required)
  • spaceId string (required)
  • tenantId string (required)

Response

200 — Contains the manifest for a live resource

  • DesiredManifest string
  • Diff object
    • Diff string
      Minimum length 1.
    • Left string
      Minimum length 1.
    • Right string
      Minimum length 1.
  • LiveManifest string

Example Response

JSON
{
  "DesiredManifest": "string",
  "Diff": {
    "Diff": "string",
    "Left": "string",
    "Right": "string"
  },
  "LiveManifest": "string"
}