From 2a9aa68ef5cc1aed2a790892a2b2af09060e8a8a Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Tue, 1 Dec 2020 17:00:47 -0700 Subject: [PATCH 01/10] added reference doc for cloud durability, closes #1915 --- .../cloud/reference/internals/_index.md | 9 +++ .../cloud/reference/internals/durability.md | 69 +++++++++++++++++++ content/influxdb/v2.0/reference/glossary.md | 4 ++ 3 files changed, 82 insertions(+) create mode 100644 content/influxdb/cloud/reference/internals/_index.md create mode 100644 content/influxdb/cloud/reference/internals/durability.md diff --git a/content/influxdb/cloud/reference/internals/_index.md b/content/influxdb/cloud/reference/internals/_index.md new file mode 100644 index 000000000..80aec7f2b --- /dev/null +++ b/content/influxdb/cloud/reference/internals/_index.md @@ -0,0 +1,9 @@ +--- +title: InfluxDB Internals +menu: + influxdb_cloud_ref: + name: InfluxDB Cloud internals +weight: 7 +--- + +{{< children >}} diff --git a/content/influxdb/cloud/reference/internals/durability.md b/content/influxdb/cloud/reference/internals/durability.md new file mode 100644 index 000000000..1662055c1 --- /dev/null +++ b/content/influxdb/cloud/reference/internals/durability.md @@ -0,0 +1,69 @@ +--- +title: InfluxDB Cloud data durability +description: > + InfluxDB Cloud ensures the durability of all stored data by automatically creating + backups, replicating data across geographic locations, and verifying replicated + data is consistent and backups are readable. +weight: 101 +menu: + influxdb_cloud_ref: + name: Data durability + parent: InfluxDB Cloud internals +influxdb/cloud/tags: [backups, internals] +--- + +InfluxDB Cloud ensures the durability of all stored data by automatically creating +backups, replicating data across geographic locations, and verifying replicated +data is consistent and backups are readable. + +##### On this page + +- [Backup processes](#backup-processes) +- [Recovery](#recovery) +- [Data verification](#data-verification) + +## Backup processes +InfluxDB Cloud stores **two out-of-band backup copies** of all data. +The following processes each generate backups: + +- [Backup on write](#backup-on-write) +- [Backup after compaction](#backup-after-compaction) + +### Backup on write +All inbound write requests to InfluxDB Cloud queue in a durable message queue. +The message queue stores the raw [line protocol](/influxdb/cloud/reference/glossary/#line-protocol) +of each write request in an object storage location as an out-of-band backup. +The message queue also writes data to the live storage service, replicates it twice +across two geographic locations, and makes it available to the InfluxDB Cloud service. + +The durability of the message queue is 72 hours, meaning InfluxDB Cloud can sustain +a failure of its underlying storage tier or object storage services for up to 72 hours. + +To minimize potential data loss due to defects introduced within the broader InfluxDB Cloud service, +InfluxData minimizes code between the data ingest and backup processes. + +### Backup after compaction +The InfluxDB storage engine compresses data over time in a process known as +[compaction](/influxdb/cloud/reference/glossary/#compaction). +When each compaction cycle completes, InfluxDB Cloud stores compressed +[TSM](/influxdb/cloud/reference/glossary/#tsm-time-structured-merge-tree) files +in an object storage location. + +## Recovery +InfluxDB Cloud uses out-of-band backups stored in object storage to recover data: + +- **Message queue backup:** line protocol based on inbound write requests +- **Historic backup:** compressed TSM files + +The Recovery Point Objective (RPO) is any accepted write. +The Recovery Time Objective (RTO) is harder to definitively predict as potential failure modes can vary. +While most common failure modes can be resolved within minutes or hours, +catastrophic or extreme failure modes may take longer. +For example, if we need to rebuild all data from the message queue backup, +it could take 24 hours or longer. + +## Data verification +InfluxDB Cloud has two data verification services running 24x7: + +- **Entropy detection:** ensures that replicated data is consistent +- **Backup verification:** validates and ensures backups in object storage are readable diff --git a/content/influxdb/v2.0/reference/glossary.md b/content/influxdb/v2.0/reference/glossary.md index 3fe1d5787..83d04ed06 100644 --- a/content/influxdb/v2.0/reference/glossary.md +++ b/content/influxdb/v2.0/reference/glossary.md @@ -188,6 +188,10 @@ Use comments with Flux statements to describe your functions. A standardized text file format used by the InfluxDB web server to create log entries when generating server log files. +### compaction + +The process of optimizing disk usage by compressing time series data. + ### continuous query (CQ) Continuous queries are the predecessor to tasks in InfluxDB 2.0. From 6c8f5b64e6dd0929469d282072883314d02f736f Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Wed, 2 Dec 2020 11:57:37 -0700 Subject: [PATCH 02/10] updated cloud durability doc with PR feedback --- .../cloud/reference/internals/durability.md | 40 ++++++++++++------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/content/influxdb/cloud/reference/internals/durability.md b/content/influxdb/cloud/reference/internals/durability.md index 1662055c1..b55cebb03 100644 --- a/content/influxdb/cloud/reference/internals/durability.md +++ b/content/influxdb/cloud/reference/internals/durability.md @@ -1,8 +1,8 @@ --- title: InfluxDB Cloud data durability description: > - InfluxDB Cloud ensures the durability of all stored data by automatically creating - backups, replicating data across geographic locations, and verifying replicated + InfluxDB Cloud ensures the durability of all stored data by replicating data across + geographic locations, automatically creating backups, and verifying that replicated data is consistent and backups are readable. weight: 101 menu: @@ -12,32 +12,42 @@ menu: influxdb/cloud/tags: [backups, internals] --- -InfluxDB Cloud ensures the durability of all stored data by automatically creating -backups, replicating data across geographic locations, and verifying replicated +InfluxDB Cloud ensures the durability of all stored data by replicating data across +geographic locations, automatically creating backups, and verifying that replicated data is consistent and backups are readable. ##### On this page +- [Data replication](#data-replication) - [Backup processes](#backup-processes) - [Recovery](#recovery) - [Data verification](#data-verification) +## Data replication +InfluxDB Cloud replicates data in both the write tier and in the storage tier. + +- **Write tier:** all data written to InfluxDB is processed by a durable message queue. + The message queue partitions each batch of points and then replicates each partition + across other physical nodes in the message queue cluster. +- **Storage tier:** All data in the storage tier is replicated across two geographic locations. + ## Backup processes -InfluxDB Cloud stores **two out-of-band backup copies** of all data. -The following processes each generate backups: +InfluxDB Cloud backs up all data in the following way: - [Backup on write](#backup-on-write) - [Backup after compaction](#backup-after-compaction) ### Backup on write -All inbound write requests to InfluxDB Cloud queue in a durable message queue. -The message queue stores the raw [line protocol](/influxdb/cloud/reference/glossary/#line-protocol) -of each write request in an object storage location as an out-of-band backup. -The message queue also writes data to the live storage service, replicates it twice -across two geographic locations, and makes it available to the InfluxDB Cloud service. +All inbound write requests to InfluxDB Cloud are added to a durable message queue. +The message queue caches the raw [line protocol](/influxdb/cloud/reference/glossary/#line-protocol) +of each write request before writing the data to the storage tier. +The queue then routinely persists the cache to an object storage location as an out-of-band backup. +Message queue backups provide raw line protocol that can be used to recover from +catastrophic failure in the storage tier or an accidental deletion. -The durability of the message queue is 72 hours, meaning InfluxDB Cloud can sustain -a failure of its underlying storage tier or object storage services for up to 72 hours. +The durability of the message queue is 96 hours, meaning InfluxDB Cloud can sustain +a failure of its underlying storage tier or object storage services for up to 96 hours +without any data loss. To minimize potential data loss due to defects introduced within the broader InfluxDB Cloud service, InfluxData minimizes code between the data ingest and backup processes. @@ -58,12 +68,12 @@ InfluxDB Cloud uses out-of-band backups stored in object storage to recover data The Recovery Point Objective (RPO) is any accepted write. The Recovery Time Objective (RTO) is harder to definitively predict as potential failure modes can vary. While most common failure modes can be resolved within minutes or hours, -catastrophic or extreme failure modes may take longer. +critical failure modes may take longer. For example, if we need to rebuild all data from the message queue backup, it could take 24 hours or longer. ## Data verification -InfluxDB Cloud has two data verification services running 24x7: +InfluxDB Cloud has two data verification services running at all times: - **Entropy detection:** ensures that replicated data is consistent - **Backup verification:** validates and ensures backups in object storage are readable From 8dceb1d86d3f5e17f6ab899716a95e980dab4a58 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Wed, 2 Dec 2020 11:58:30 -0700 Subject: [PATCH 03/10] fixed typo in cloud durability doc --- content/influxdb/cloud/reference/internals/durability.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/influxdb/cloud/reference/internals/durability.md b/content/influxdb/cloud/reference/internals/durability.md index b55cebb03..65cb9d07a 100644 --- a/content/influxdb/cloud/reference/internals/durability.md +++ b/content/influxdb/cloud/reference/internals/durability.md @@ -29,7 +29,7 @@ InfluxDB Cloud replicates data in both the write tier and in the storage tier. - **Write tier:** all data written to InfluxDB is processed by a durable message queue. The message queue partitions each batch of points and then replicates each partition across other physical nodes in the message queue cluster. -- **Storage tier:** All data in the storage tier is replicated across two geographic locations. +- **Storage tier:** all data in the storage tier is replicated across two geographic locations. ## Backup processes InfluxDB Cloud backs up all data in the following way: From dba74d5e57cddf2abc31eeba2b4e799051cd9986 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 3 Dec 2020 15:50:11 -0700 Subject: [PATCH 04/10] updated durability doc to address PR feedback --- .../cloud/reference/internals/durability.md | 47 +++++++++++-------- content/influxdb/v2.0/reference/glossary.md | 2 +- 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/content/influxdb/cloud/reference/internals/durability.md b/content/influxdb/cloud/reference/internals/durability.md index 65cb9d07a..989335315 100644 --- a/content/influxdb/cloud/reference/internals/durability.md +++ b/content/influxdb/cloud/reference/internals/durability.md @@ -2,8 +2,8 @@ title: InfluxDB Cloud data durability description: > InfluxDB Cloud ensures the durability of all stored data by replicating data across - geographic locations, automatically creating backups, and verifying that replicated - data is consistent and backups are readable. + multiple availability zones in a cloud region, automatically creating backups, + and verifying that replicated data is consistent and backups are readable. weight: 101 menu: influxdb_cloud_ref: @@ -12,9 +12,9 @@ menu: influxdb/cloud/tags: [backups, internals] --- -InfluxDB Cloud ensures the durability of all stored data by replicating data across -geographic locations, automatically creating backups, and verifying that replicated -data is consistent and backups are readable. +InfluxDB Cloud replicates all data in the storage tier across two availability +zones in a cloud region, automatically creates backups, and verifies that replicated +data is consistent and that data is correct. ##### On this page @@ -24,12 +24,13 @@ data is consistent and backups are readable. - [Data verification](#data-verification) ## Data replication -InfluxDB Cloud replicates data in both the write tier and in the storage tier. +InfluxDB Cloud replicates data in both the write tier and the storage tier. - **Write tier:** all data written to InfluxDB is processed by a durable message queue. - The message queue partitions each batch of points and then replicates each partition - across other physical nodes in the message queue cluster. -- **Storage tier:** all data in the storage tier is replicated across two geographic locations. + The message queue partitions each batch of points based off series keys and then + replicates each partition across other physical nodes in the message queue. +- **Storage tier:** all data in the underlying storage tier is replicated across + two availability zones in a cloud region. ## Backup processes InfluxDB Cloud backs up all data in the following way: @@ -39,30 +40,33 @@ InfluxDB Cloud backs up all data in the following way: ### Backup on write All inbound write requests to InfluxDB Cloud are added to a durable message queue. -The message queue caches the raw [line protocol](/influxdb/cloud/reference/glossary/#line-protocol) -of each write request before writing the data to the storage tier. -The queue then routinely persists the cache to an object storage location as an out-of-band backup. +The message queue does the following: + +1. Caches the [line protocol](/influxdb/cloud/reference/glossary/#line-protocol) + of each write request. +2. Writes data to the storage tier. +3. Routinely persists cached line protocol to object storage as an out-of-band backup. + Message queue backups provide raw line protocol that can be used to recover from catastrophic failure in the storage tier or an accidental deletion. - The durability of the message queue is 96 hours, meaning InfluxDB Cloud can sustain a failure of its underlying storage tier or object storage services for up to 96 hours without any data loss. -To minimize potential data loss due to defects introduced within the broader InfluxDB Cloud service, -InfluxData minimizes code between the data ingest and backup processes. +To minimize potential data loss due to defects introduced in the InfluxDB Cloud service, +we minimize the code used between the data ingest and backup processes. ### Backup after compaction The InfluxDB storage engine compresses data over time in a process known as [compaction](/influxdb/cloud/reference/glossary/#compaction). When each compaction cycle completes, InfluxDB Cloud stores compressed [TSM](/influxdb/cloud/reference/glossary/#tsm-time-structured-merge-tree) files -in an object storage location. +in object storage. ## Recovery -InfluxDB Cloud uses out-of-band backups stored in object storage to recover data: +InfluxDB Cloud uses the following out-of-band backups stored in object storage to recover data: -- **Message queue backup:** line protocol based on inbound write requests +- **Message queue backup:** line protocol from inbound write requests within the last 96 hours - **Historic backup:** compressed TSM files The Recovery Point Objective (RPO) is any accepted write. @@ -76,4 +80,9 @@ it could take 24 hours or longer. InfluxDB Cloud has two data verification services running at all times: - **Entropy detection:** ensures that replicated data is consistent -- **Backup verification:** validates and ensures backups in object storage are readable +- **Data verification:** verifies that data written to InfluxDB is correct + +## InfluxDB Cloud status +InfluxDB Cloud regions and underlying services are monitored at all times. +For information about the current status of InfluxDB Cloud, see the +[InfluxDB Cloud status page](https://status.influxdata.com). diff --git a/content/influxdb/v2.0/reference/glossary.md b/content/influxdb/v2.0/reference/glossary.md index 83d04ed06..aceab5e58 100644 --- a/content/influxdb/v2.0/reference/glossary.md +++ b/content/influxdb/v2.0/reference/glossary.md @@ -190,7 +190,7 @@ A standardized text file format used by the InfluxDB web server to create log en ### compaction -The process of optimizing disk usage by compressing time series data. +Compressing time series data to optimize disk usage. ### continuous query (CQ) From 93ce4f08ce69cfa02d8a37adeab5cd208caefe2c Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 3 Dec 2020 15:50:47 -0700 Subject: [PATCH 05/10] fixed influxdb cloud internals title --- content/influxdb/cloud/reference/internals/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/influxdb/cloud/reference/internals/_index.md b/content/influxdb/cloud/reference/internals/_index.md index 80aec7f2b..7082fc8cb 100644 --- a/content/influxdb/cloud/reference/internals/_index.md +++ b/content/influxdb/cloud/reference/internals/_index.md @@ -1,5 +1,5 @@ --- -title: InfluxDB Internals +title: InfluxDB Cloud internals menu: influxdb_cloud_ref: name: InfluxDB Cloud internals From 0600d450f939a137a612d241c835a4f404979320 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Tue, 8 Dec 2020 11:46:03 -0700 Subject: [PATCH 06/10] added the operator profiler, closes #1944 --- .../reference/flux/stdlib/profiler/_index.md | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/content/influxdb/v2.0/reference/flux/stdlib/profiler/_index.md b/content/influxdb/v2.0/reference/flux/stdlib/profiler/_index.md index 9d276a981..1aa6f2a34 100644 --- a/content/influxdb/v2.0/reference/flux/stdlib/profiler/_index.md +++ b/content/influxdb/v2.0/reference/flux/stdlib/profiler/_index.md @@ -32,12 +32,14 @@ _**Data type:** Array of strings_ ```js import "profiler" -option profiler.enabledProfilers = [""] +option profiler.enabledProfilers = ["query", "operator"] ``` -#### Available profilers +## Available profilers +- [query](#query) +- [operator](#operator) -##### query +### query The `query` profiler provides statistics about the execution of an entire Flux script. When enabled, results returned by [`yield()`](/influxdb/v2.0/reference/flux/stdlib/built-in/outputs/yield/) include a table with the following columns: @@ -56,14 +58,18 @@ include a table with the following columns: - **influxdb/scanned-values**: value scanned by InfluxDB. - **influxdb/scanned-bytes**: number of bytes scanned by InfluxDB. -#### Use the query profiler +### operator +The `operator` profiler output statistics about each operation in a query. +[Pushdown operations](/influxdb/v2.0/query-data/optimize-queries/#start-queries-with-pushdown-functions) +that execute in the data source storage engine are returned as a single operation. +Operations executed in memory are returned as individual operations. +When enabled, results returned by [`yield()`](/influxdb/v2.0/reference/flux/stdlib/built-in/outputs/yield/) +include a table with a row for each operation and the following columns: -Use the query profiler to output statistics about query execution. - -```js -import "profiler" - -option profiler.enabledProfilers = ["query"] - -// ... Query to profile -``` +- **Type:** operation type +- **Label:** operation name +- **Count:** total number of times the operation executed +- **MinDuration:** minimum duration of the operation in nanoseconds +- **MaxDuration:** maximum duration of the operation in nanoseconds +- **DurationSum:** total duration of all operation executions in nanoseconds +- **MeanDuration:** average duration of all operation executions in nanoseconds From b015efbb68b4e19e1ed15a4f77fe7721e768a9ba Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Tue, 8 Dec 2020 11:49:31 -0700 Subject: [PATCH 07/10] added duplicate shortcode to cloud profiler pkg --- .../reference/flux/stdlib/profiler/_index.md | 56 +------------------ 1 file changed, 2 insertions(+), 54 deletions(-) diff --git a/content/influxdb/cloud/reference/flux/stdlib/profiler/_index.md b/content/influxdb/cloud/reference/flux/stdlib/profiler/_index.md index b58084e43..223b71137 100644 --- a/content/influxdb/cloud/reference/flux/stdlib/profiler/_index.md +++ b/content/influxdb/cloud/reference/flux/stdlib/profiler/_index.md @@ -9,61 +9,9 @@ menu: name: Profiler parent: Flux standard library weight: 202 -influxdb/v2.0/tags: [functions, optimize, package] +influxdb/cloud/tags: [functions, optimize, package] related: - /influxdb/cloud/query-data/optimize-queries/ --- -The Flux Profiler package provides performance profiling tools for Flux queries and operations. -Import the `profiler` package: - -```js -import "profiler" -``` - -## Options -The Profiler package includes the following options: - -### enabledProfilers -Enable Flux profilers. - -_**Data type:** Array of strings_ - -```js -import "profiler" - -option profiler.enabledProfilers = [""] -``` - -#### Available profilers - -##### query -The `query` profiler provides statistics about the execution of an entire Flux script. -When enabled, results returned by [`yield()`](/influxdb/cloud/reference/flux/stdlib/built-in/outputs/yield/) -include a table with the following columns: - -- **TotalDuration**: total query duration in nanoseconds. -- **CompileDuration**: number of nanoseconds spent compiling the query. -- **QueueDuration**: number of nanoseconds spent queueing. -- **RequeueDuration**: number fo nanoseconds spent requeueing. -- **PlanDuration**: number of nanoseconds spent planning the query. -- **ExecuteDuration**: number of nanoseconds spent executing the query. -- **Concurrency**: number of goroutines allocated to process the query. -- **MaxAllocated**: maximum number of bytes the query allocated. -- **TotalAllocated**: total number of bytes the query allocated (includes memory that was freed and then used again). -- **RuntimeErrors**: error messages returned during query execution. -- **flux/query-plan**: Flux query plan. -- **influxdb/scanned-values**: value scanned by InfluxDB. -- **influxdb/scanned-bytes**: number of bytes scanned by InfluxDB. - -#### Use the query profiler - -Use the query profiler to output statistics about query execution. - -```js -import "profiler" - -option profiler.enabledProfilers = ["query"] - -// ... Query to profile -``` +{{< duplicate-oss >}} \ No newline at end of file From 649004e291bf9cf73dfd8636497767c5353066a8 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Tue, 8 Dec 2020 13:36:55 -0700 Subject: [PATCH 08/10] updated language around storage vs in memory operations --- .../influxdb/v2.0/reference/flux/stdlib/profiler/_index.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/content/influxdb/v2.0/reference/flux/stdlib/profiler/_index.md b/content/influxdb/v2.0/reference/flux/stdlib/profiler/_index.md index 1aa6f2a34..5e70758b4 100644 --- a/content/influxdb/v2.0/reference/flux/stdlib/profiler/_index.md +++ b/content/influxdb/v2.0/reference/flux/stdlib/profiler/_index.md @@ -60,10 +60,9 @@ include a table with the following columns: ### operator The `operator` profiler output statistics about each operation in a query. -[Pushdown operations](/influxdb/v2.0/query-data/optimize-queries/#start-queries-with-pushdown-functions) -that execute in the data source storage engine are returned as a single operation. -Operations executed in memory are returned as individual operations. -When enabled, results returned by [`yield()`](/influxdb/v2.0/reference/flux/stdlib/built-in/outputs/yield/) +[Operations executed in the storage tier](/influxdb/v2.0/query-data/optimize-queries/#start-queries-with-pushdown-functions) +return as a single operation. +When the `operator` profile is enabled, results returned by [`yield()`](/influxdb/v2.0/reference/flux/stdlib/built-in/outputs/yield/) include a table with a row for each operation and the following columns: - **Type:** operation type From d000fd9746dfe09becc6bb15d0444197d9ebef17 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Tue, 8 Dec 2020 14:33:20 -0700 Subject: [PATCH 09/10] added comment to profiler code example --- content/influxdb/v2.0/reference/flux/stdlib/profiler/_index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/influxdb/v2.0/reference/flux/stdlib/profiler/_index.md b/content/influxdb/v2.0/reference/flux/stdlib/profiler/_index.md index 5e70758b4..597327845 100644 --- a/content/influxdb/v2.0/reference/flux/stdlib/profiler/_index.md +++ b/content/influxdb/v2.0/reference/flux/stdlib/profiler/_index.md @@ -33,6 +33,8 @@ _**Data type:** Array of strings_ import "profiler" option profiler.enabledProfilers = ["query", "operator"] + +// Query to profile ``` ## Available profilers From d99cb2bbd5f5fb4155f03d6402fba4b57cc9e286 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Wed, 9 Dec 2020 11:11:17 -0700 Subject: [PATCH 10/10] updated correct to readable in cloud durability doc --- content/influxdb/cloud/reference/internals/durability.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/influxdb/cloud/reference/internals/durability.md b/content/influxdb/cloud/reference/internals/durability.md index 989335315..550ae1c4a 100644 --- a/content/influxdb/cloud/reference/internals/durability.md +++ b/content/influxdb/cloud/reference/internals/durability.md @@ -14,7 +14,7 @@ influxdb/cloud/tags: [backups, internals] InfluxDB Cloud replicates all data in the storage tier across two availability zones in a cloud region, automatically creates backups, and verifies that replicated -data is consistent and that data is correct. +data is consistent and that data is readable. ##### On this page @@ -80,7 +80,7 @@ it could take 24 hours or longer. InfluxDB Cloud has two data verification services running at all times: - **Entropy detection:** ensures that replicated data is consistent -- **Data verification:** verifies that data written to InfluxDB is correct +- **Data verification:** verifies that data written to InfluxDB is readable ## InfluxDB Cloud status InfluxDB Cloud regions and underlying services are monitored at all times.