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-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-s10 redis-m50 redis-s10_ha redis-m redis-m150_ha |
RabbitMQ | RabbitMQ is the most widely deployed open source message broker. | 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-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-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.
- The development team in space A creates a RabbitMQ service instance, binds it to their app, and shares the service instance with space B.
- 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.
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:
- Disks: Refer to Disks in Datapoint type system.
- CPU: Refer to Load in Datapoint type system.
- RAM: Refer to Memory in Datapoint type system.
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:
For a cluster instance, the metrics are displayed in separate tabs, one per node, as shown in the image below:
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 itselfephemeral
: mainly used for automation/infrastructure data and log datapersistent
: 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 Insights Hub/Siemens ID credentials 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
andparachute
. - 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¶
-
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. -
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.
Except where otherwise noted, content on this site is licensed under the Development License Agreement.