Skip to content

Insights Hub Managed Backing Services

This section gives an overview of the included Backing Services. Each instance of a Backing Service runs on a dedicated virtual machine. These virtual machines and services are operated by Insights Hub.

Backing Service Licensing

For Subscribers of Capability Packages:

Your subscription to Cloud Foundry Hosting allows you also to utilize any available size (e.g. XS or M) of Backing Services. The size relates to available memory, storage space and additional properties such as high availability. A usage-based fee will be charged depending on the size of Backing Services in use as set forth in the Price List for Offerings with Usage-based Fees available at https://siemens.mindsphere.io/en/docs/Product-Descriptions-Overview/usage-based. Backing Services include any service which an application utilizes over the network as part of its normal operation. You can utilize Backing Services e.g. for storage, caching, messaging etc. Available service types are: ElasticSearch, LogMe, PostgreSQL, RabbitMQ, Redis.

For Subscribers of MindAccess Plans: Refer MindSphere terms & conditions | Siemens Software.

Available Backing Services

The following Backing Services are currently included and available as subscription:

Backing Service Description Plan
PostgreSQL PostgreSQL is a powerful, open source object-relational database system. postgresql-xs
postgresql-s10
postgresql-m50
postgresql-s10_ha
postgresql-m
postgresql-m150_ha
Redis Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. redis-xs
redis-s10
redis-m50
redis-s10_ha
redis-m
redis-m150_ha
RabbitMQ RabbitMQ is the most widely deployed open source message broker. rabbitmq-xs
rabbitmq-s10
rabbitmq-m50
rabbitmq-s10_ha
rabbitmq-m
rabbitmq-m150_ha
Elasticsearch Elasticsearch is a distributed, RESTful search and analytics engine capable of solving a growing number of use cases. As the heart of the Elastic Stack, it centrally stores your data so you can discover the expected and uncover the unexpected. elasticsearch-xs
elasticsearch-s10
elasticsearch-m50
elasticsearch-s10_ha
elasticsearch-m
elasticsearch-m150_ha
LogMe LogMe allows to provision Elasticsearch, Logstash and Kibana, i.e. the ELK-stack. Simply bind your Cloud Foundry app to LogMe and it will automatically start collecting metrics and syslogs from your apps and services. logme-xs
logme-s10
logme-m50
logme-s10_ha
logme-m
logme-m150_ha

Service Plans

All service plans (*-xs, *-s10, *-m50, *-s10_ha, *-m and *-m150_ha) are enabled for every Org.

To know more information about the service plans for the subscribers of "Cloud Foundry Hosting" Addon, refer to Product sheet.

To know more information about the service plans for the subscribers of MindAccess Developer Plan, refer to MindAccess Developer Plan.

Update to a larger Service Plan

Upgrade the service plan using the following command:

cf update-service <serviceName> -p <largerPlanName>

Note

Refer to Upgrade the Service Instance to another Service Plan chapter of individual Backing Service description to see the update possibilities.
* Elasticsearch
* LogMe
* PostgreSQL
* RabbitMQ
* Redis

Disk Alerts

Every service instance is monitored by a Parachute component to evaluate the ephemeral and persistent disk usage. If a disk usage reaches the configured threshold Parachute stops all of this instance's processes and writes a message into the log directory:

Limit reached for: <persistent/ephemeral> disk

Note

The disk sizes in the specification tables show the total virtual disk size. Some parts of the disk are not usable for data. These parts are for example: disk partition losses, root reservations, WAL files for PostgreSQL replication. By default, the Parachute threshold is set to 80%.
With this combined, for example a PostgreSQL service plan size m instance with 50 GB disk can use about 35 GB for your data before it becomes stopped by Parachute component.

The currently Parachute threshold setting can be checked in the Metrics API. Refer to value used_threshold in Datapoint type parachute.

Restart Stopped Instances

The disk usage threshold for service instances is set to 80% by default. When restarting a stopped service instance, the threshold can be configured using the max_disk_threshold parameter. It accepts integer values between 0 and 100. The following sample shows how to restart a service instance with a threshold of 90%:

cf update-service <serviceName> -c '{"max_disk_threshold": "90"}'

Restarting the service instance takes a few minutes.

Attention

This is only a temporary solution. The service instance is stopped when the threshold is reached again. For a long-term solution, the service instance must be updated to a larger plan size if available.

Notifications

Notfications will be sent to all SpaceDevelopers of the space where the backing service is located. Currently, the following notifications are available:

  • Disk usage reaches a limit of 75%. This limit is fixed and cannot be changed. It does not depend on the Parachute setting.
  • Issue during backup creation.
  • Issue of PostgreSQL master node. Only for PostgreSQL Backing Service.

Note

  • These notifications are not available for XS service plans.
  • If the disk usage increases from <75% to 80% (or the configured parachute limit) within one minute, there is no notification, because the instance will be stopped by parachute before the alert can be triggered.

Sharing Service Instances

Sharing a service instance between spaces allows apps in different spaces to use the same instance of a Insights Hub managed backing service. This eliminates the need to use service keys and user-provided services to bind apps to the same service instance.

Refer to the Cloud Foundry documentation about sharing instances for further details.

Features

  • Service instances can be shared among multiple spaces within one Cloud Foundry org.
  • Sharing service instances among spaces requires the Space Developer role in these spaces.
  • Service instances can be bound or unbound in spaces it is shared with, but cannot updated, renamed or deleted.
  • Configuration parameters used for provisioning or updating the service instance can be read from all spaces the instance is shared with.
  • Sharing a service instance to another space does not decrease the remaining service count quota of your org.
  • Shared service instances only count as one instance in the service count quota of your org.

Example scenario

Consider two development teams who deployed apps in their own spaces. Their apps shall communicate using a messaging queue.

  1. The development team in space A creates a RabbitMQ service instance, binds it to their app, and shares the service instance with space B.
  2. The development team in space B binds their app to the same service instance and the apps can begin to communicate.

Refer to the How Tos for instructions.

Restart or Recreate the Service Instance

To restart or recrate a running service instance, use the related buttons in the lower left corner of the service dashboard.

Service Dashboard Restart Recreate

Info

The restart button will trigger a shutdown/turn-on actions on all processes of the current instance.
The recreate button will remove and recreate the current instance and its related processes.

Instance Metrics

The Service Dashboard also offers a visualization of the following metrics from your Service Instance, per node:

This allows you to know at a glance your current consumption of resources. For a single instance, the metrics are displayed as shown in the image below:

Service Dashboard Metrics Single

For a cluster instance, the metrics are displayed in separate tabs, one per node, as shown in the image below:

Service Dashboard Metrics Cluster

Info

The order of the tabs is dynamic, which means that there is no special order of the tabs.

Size Calculation

The metrics collector gathers and shares the Service Instance's metrics in bytes. To make the values human readable, the values are converted to megabytes by dividing the bytes by 1024^2. This means, the value shown in the dashboard might differ from other tools which take the approach to divide by 1000^2.

The data are displayed in a used/available format.

Disks

The a9s Service Dashboard displays the following disks:

  • system: contains the operating system itself
  • ephemeral: mainly used for automation/infrastructure data and log data
  • persistent: mainly used for persistent data of the underlying data service

Other temporary disks are shown in disks metrics of Service Dashboard API.

Backing Service API

All backing services (except LogMe) provide an API for their service dashboard. With this API you can:

  • Get backing service instance metrics
  • List backups and restores, create backups, download backups and restore backups

Accessing the API

For Authentication and Authorization, you can use your WebKey user or create CloudFoundry Service Credentials and use this user.

Note

Your user needs SpaceDeveloper role for the space where your service is located.

Get bearer token with CF CLI

Authentication:
The following description shows how to get the bearer token for CloudFoundry Service Credentials created in Insights Hub, using the CF CLI.

cf api https://api.cf.eu1.mindsphere.io
cf auth ${service_credentials_user} ${service_credentials_password}
oauth_token=$(cf oauth-token)
bearer_token=$(echo ${oauth_token} | grep bearer)

Get bearer token using curl

Authentication:
The following description shows how to get the bearer token for CloudFoundry Service Credentials created in Insights Hub, using curl.

login_res=$(curl -XPOST -H "Application/json" -u "cf:" --data "username=${service_credentials_user}&password=${service_credentials_password}&client_id=cf&grant_type=password&response_type=token" https://login.cf.eu1.mindsphere.io/oauth/token)
bearer_token="bearer $(echo ${login_res} | jq '.access_token' | tr -d \")"

Using the API

For using the API, you need the service dashboard URL. Get the dashboard URL with cf service {instance_name}, e.g.:

$cf service my-postgresql

Service instance: my-postgresql
Service: postgresql
Bound apps:
Tags:
Plan: postgresql-xs
Description: This is a service creating and managing dedicated PostgreSQL service instances and clusters, powered by the anynines Service Framework
Documentation url:
Dashboard: https://a9s-postgresql-dashboard.cf.eu1.mindsphere.io/service-instances/b02f4682-b4ba-4f04-9f25-0d24e09d8f0c/

Last Operation
Status: update succeeded
Message:
Started: 2017-10-26T08:28:38Z
Updated: 2017-10-26T08:28:38Z

For getting the Metrics API, you have to replace the part service-instances in the dashboard URL with v1/instances.

Example:

For dashboard URL
https://a9s-postgresql-dashboard.cf.eu1.mindsphere.io/service-instances/b02f4682-b4ba-4f04-9f25-0d24e09d8f0c/ (in following documentation named as dashboard_url)
the according Metrics API is
https://a9s-postgresql-dashboard.cf.eu1.mindsphere.io/v1/instances/b02f4682-b4ba-4f04-9f25-0d24e09d8f0c/ (in following documentation named as metrics_api).

Authorization:
For authorization, you need to execute the following request:

curl --cookie test.cookie --cookie-jar test.cookie --location --insecure --header "Authorization: ${bearer_token}" "${dashboard_url}"

Metrics API

Displays the metrics of your Service Instance.

curl --cookie test.cookie --cookie-jar test.cookie --location --insecure --header "Authorization: ${bearer_token}" "${metrics_api}/metrics?quantity=1"

Info

quantity defines the number of latest elements to be returned. If not set, all elements will be returned. Quantity must be greater than or equal to 1.

Response

The response is a JSON that contains a collection of metrics datapoints. These datapoints are strings in Graphite format: <path> <value> <timestamp>.

  • path: The metric namespace. The string is made of independent parts separated by dots (.): <namespace>.<type>.<specific>
  • namespace: The component under observation.
    The namespace is separated by dots (.) as well: <org-guid>.<space-guid>.<instance-guid>.<internal-instance-name>.<internal-service-name>.<node>
    Namespace examples:
    • 38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.7189a3e2-a0fb-4233-8c0d-d1ba3e6b970b.lod50f556.logme-es.0
    • 38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.2
  • type: Currently the suported datapoint types are system and parachute.
  • specific: The kind of data point. See below for more information.
  • value: The number that is assigned to the metric at this time.
  • timestamp: The number of seconds elapsed since the Unix epoch.
Datapoint type system

The following are the supported specifics for the system datapoint type.

Load

Name Description
load.error 0 if the load average metrics could be fetched, 1 otherwise
load.load1 represents the average system load during the last one-minute period of time; multiplied by 1000000
load.load5 represents the average system load during the last five-minute period of time; multiplied by 1000000
load.load15 represents the average system load during the last fifteen-minute period of time; multiplied by 1000000

CPUs

The CPU number starts with 0.

Name Description
cpu.error 0 if the CPU stats could be fetched, 1 otherwise
cpu<number>.user the amount of time in milliseconds the CPU was busy running non-kernel code (user time, including nice time)
cpu<number>.system the amount of time in milliseconds the CPU was busy running kernel code
cpu<number>.idle the amount of time in milliseconds the CPU was not busy, or, otherwise, the amount of time in milliseconds it executed the kernel idle handler

Memory

Name Description
memory.error 0 if the memory stats could be fetched, 1 otherwise
memory.total the maximum available amount of memory in bytes
memory.used the amount of memory in bytes currently being used
memory.free the amount of memory in bytes not currently in use by any running process
memory.shared the amount of memory in bytes used by the tmpfs file system and also the shared memory
memory.buffers the amount of memory in bytes used as buffers
memory.cached the amount of memory in bytes used as cache

Swap

Name Description
swap.error 0 if the swap stats could be fetched, 1 otherwise
swap.total the maximum available amount of swap space in bytes
swap.used the amount of swap space in bytes currently being used
swap.free the amount of swap space in bytes not currently in use by any running process

Disks

Only physical devices with a size greater than 0 are monitored.

Name Description
disk.error 0 if the available disks stats could be fetched, 1 otherwise
disk.<name>.error 0 if the disk stats could be fetched, 1 otherwise
disk.<name>.total the maximum available amount of disk space in bytes
disk.<name>.used the amount of disk space in bytes currently being used
disk.<name>.free the amount of disk space in bytes not currently in use

The mount point of the device is used as name. The first / of the mount point is removed and all other / are replaced by _. The following mount points have special names:

Mount Point Name
/ system
/var/vcap/data ephemeral
/var/vcap/store persistent
Datapoint type parachute

The following are the supported specifics for the parachute datapoint type.
For more information about Parachute, refer to Disk Alerts.

General

Name Description
error 0 if the a9s Parachute stats could be fetched, 1 otherwise
activated 1 if the a9s Parachute is activated because at least one disk has reached the configured threshold, 0 otherwise

Disks

Only the observed devices of the a9s Parachute are monitored.

Name Description
disk.<name>.error 0 if the disk stats could be fetched, 1 otherwise
disk.<name>.total the maximum available amount of disk space in bytes
disk.<name>.used the amount of disk space in bytes currently being used
disk.<name>.used_percent the amount of disk space in percent currently being used
disk.<name>.used_threshold the threshold value in percent of disk space at which the a9s Parachute is activated
disk.<name>.free the amount of disk space in bytes not currently in use
disk.<name>.activated 1 if the a9s Parachute is activated because this disk has reached the configured threshold, 0 otherwise
Body

For success responses, the body contains the collection of metrics datapoints which can be piped to a file.

[
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.error 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.activated 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.disk.persistent.error 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.disk.persistent.total 3101442048 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.disk.persistent.used 53100544 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.disk.persistent.used_percent 1 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.disk.persistent.used_threshold 80 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.disk.persistent.free 2870607872 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.disk.persistent.activated 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.disk.ephemeral.error 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.disk.ephemeral.total 29579399168 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.disk.ephemeral.used 976515072 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.disk.ephemeral.used_percent 3 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.disk.ephemeral.used_threshold 80 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.disk.ephemeral.free 27076734976 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.parachute.disk.ephemeral.activated 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.load.error 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.load.load1 140000 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.load.load5 40000 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.load.load15 10000 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.cpu.error 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.cpu0.user 87110 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.cpu0.system 65330 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.cpu0.idle 4419010 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.memory.error 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.memory.total 2022998016 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.memory.used 260001792 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.memory.free 504823808 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.memory.shared 70508544 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.memory.buffers 41934848 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.memory.cached 1216237568 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.swap.error 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.swap.total 2022699008 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.swap.used 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.swap.free 2022699008 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.error 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.system.error 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.system.total 3103686656 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.system.used 1581211648 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.system.free 1346785280 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.ephemeral.error 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.ephemeral.total 29579399168 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.ephemeral.used 976515072 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.ephemeral.free 27076734976 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.var_log.error 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.var_log.total 29579399168 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.var_log.used 976515072 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.var_log.free 27076734976 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.tmp.error 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.tmp.total 29579399168 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.tmp.used 976515072 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.tmp.free 27076734976 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.var_tmp.error 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.var_tmp.total 29579399168 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.var_tmp.used 976515072 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.var_tmp.free 27076734976 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.home.error 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.home.total 3103686656 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.home.used 1581211648 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.home.free 1346785280 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.persistent.error 0 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.persistent.total 3101442048 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.persistent.used 53100544 1619091026",
    "5009c73a-5de8-472a-b3e4-8d4bd817c47d.d09d7f4f-5605-4a30-aa15-a3e9e2cb60c7.c0b45dd5-fe76-48d6-9899-4543608c2460.pod8627da.pg.0.system.disk.persistent.free 2870607872 1619091026"
]

For error responses, the following fields are defined:

Response Field Type Description
error string A single word in camel case that uniquely identifies the error condition.
description string A user-facing error message explaining why the request failed.
Status
Status Code Description
200 OK The metrics were successfully fetched.
401 Unauthorized The user does not have valid authentication credentials for the target resource
404 Not Found Entity not found.
500 Internal Server Error An unexpected error occured while handling the request.
502 Bad Gateway An error occured during upstream communication.
504 Gateway Timeout A timeout occured during upstream communication.

Backups API - List Backups and Restores

Lists all available backups and restores that have been applied.

curl --cookie test.cookie --cookie-jar test.cookie --location --insecure --header "Authorization: ${bearer_token}" "${dashboard_url}/backups"
Response

Note

The response description contains only the relevant fields.

Status Code Description
200 OK If the request has been processed successfully. The response body is below.
Body

For success responses, the following fields are defined:

Response Field Type Description
instance_id string The internal ID of the service instance. This ID is needed for restoring a backup.
backups array of Backup Objects Schema of backup objects defined below. The array may be empty.
restores array of Restore Objects Schema of restore objects defined below. The array may be empty.
Backup Object
Response Field Type Description
id integer The internal ID of the backup. This ID is needed for restoring a backup.
backup_agent_task Backup Agent Task object Schema of backup agent task object defined below.
Restore Object
Response Field Type Description
backup_agent_tasks array of Backup Agent Task objects Schema of backup agent task objects defined below.
Backup Agent Task Object
Response Field Type Description
status string The status of the task. The following status exist: queued, running, done, failed, deleted.
created_at datetime The date the task was created.
updated_at datetime The date on which the status of the task was last changed.

Backups API - Create Backup

Trigger the creation of a backup of the service instance.

curl --cookie test.cookie --cookie-jar test.cookie --location --insecure --header "Authorization: ${bearer_token}" -X POST "${dashboard_url}/backups"
Response
Status Code Description
201 Created If the backup has been scheduled.
Body

For success responses, the following fields are defined:

Response Field Type Description
id integer The ID of the backup.
message string Backup creation status message.

Backups API - Restore Backup

Trigger the restore of a backup of the service instance.

Request Body Type Description
instance_id integer The internal ID of the service instance.
backup_id integer The internal ID of the backup.

You can get the IDs by listing all Backups and Restores.

curl --cookie test.cookie --cookie-jar test.cookie --location --insecure --header "Authorization: ${bearer_token}" -X POST "${dashboard_url}/backups/restore" --data "instance_id=${instance_id}" --data "backup_id=${backup_id}"
Response
Status Code Description
200 OK If the restore has been scheduled.
412 Precondition Failed Either instance_id or backup_id does not exist or match.
Body

For success responses, the following fields are defined:

Response Field Type Description
restore_id integer The internal ID of the restore.

For error responses, the following fields are defined:

Response Field Type Description
msg string Restore failure message.

Backups API - Download Backup

Downloads the given backup of a given Service Instance

curl --cookie test.cookie --cookie-jar test.cookie --location --insecure --header "Authorization: ${bearer_token}" "${dashboard_url}/backups/${backup_id}/download"
Response
Status Code Description
200 OK If the backup download is started
412 Precondition Failed Either instance_id or backup_id does not exist or match.
Body

For success responses, the body contains the encrypted and compressed backup. The response should be piped into a file.
How to decrypt and decompress the backup is described here.

For error responses, the following fields are defined:

Response Field Type Description
msg string Download failure message

Backing Service Documentation

FAQs

  1. Where can I see the usage of my Backing Services?
    The usage will be shown in Usage Transparency (UTS) in hours. This makes it very easy to recognize and compare the usage of Pay-per-Use Backing Services according to your invoice every month. You will see the amount of running hours for all used Backing Services.

  2. How the Backing Services instances I bought are translated into hours I can see in Usage Transparency?
    If you start your Backing Service at 10:15 a.m. and you delete it at 1:00 p.m. you have a total runtime of 2:45 hours. A total usage of 3 hours is shown in UTS. This is independent of the type.


Last update: November 21, 2023

Except where otherwise noted, content on this site is licensed under the Development License Agreement.