Skip to content

Commit 5a3d435

Browse files
maycmleertrieubruceg
authored
[DOCS-11526] Add OP buffering options (#30744)
* add http client destination * update http client destination * update gcs auth * apply suggestions to gcs * update google chronicle * add quotas to archives * add processor groups * add note about processor groups in preview * Apply suggestions from code review Co-authored-by: Rosa Trieu <[email protected]> * update google pubsub * small update google pubsub * update gcs integrations * update gcs * Apply suggestions from code review Co-authored-by: Bruce Guenter <[email protected]> * update gcs instructions * add buffering options * revery go.mod go.sum * try revert for go files again * update quota * update quota * update processors * get rid of go.mod * revert processor groups updates --------- Co-authored-by: Rosa Trieu <[email protected]> Co-authored-by: Bruce Guenter <[email protected]>
1 parent 149e3c9 commit 5a3d435

19 files changed

+65
-8
lines changed

content/en/observability_pipelines/destinations/http_client.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ Set up the HTTP Client destination and its environment variables when you [set u
2020
- `Server Certificate Path`: The path to the certificate file that has been signed by your Certificate Authority (CA) Root File in DER or PEM (X.509).
2121
- `CA Certificate Path`: The path to the certificate file that is your Certificate Authority (CA) Root File in DER or PEM (X.509).
2222
- `Private Key Path`: The path to the `.key` private key file that belongs to your Server Certificate Path in DER or PEM (PKCS#8) format.
23+
1. Optionally, toggle the switch to enable **Buffering Options**. If left disabled, the maximum size for buffering is 500 events. If enabled:
24+
1. Select the buffer type you want to set (**Memory** or **Disk**).
25+
1. Enter the buffer size and select the unit.
2326

2427
## Set the environment variables
2528

content/en/observability_pipelines/performance.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,16 @@ Backpressure determines if the system should slow down the consumption or accept
3030

3131
## In-memory buffering for components
3232

33-
All components in Observability Pipelines have a small in-memory buffer between them. The buffer is the channel that two components communicate over. It ensures that there is a small amount of space, typically 100 events, that can be used to send events even if the component on the receiving end is busy. This allows maximizing throughput when workloads are not entirely uniform.
33+
All components in Observability Pipelines have a small in-memory buffer between them. In-memory buffering can also be configured for all Observability Pipelines destinations. The buffer is the channel that two components communicate over. It ensures that there is a small amount of space, typically 100 events, that can be used to send events even if the component on the receiving end is busy. This allows maximizing throughput when workloads are not entirely uniform.
3434

3535
Buffering protects against temporary overloads or outages for a given workload. The buffering model prioritizes performance when handling an excess of events, an amount that is beyond what a destination can process, by using in-memory buffers on destinations. By default, a destination's default buffer size is increased from 100 events to 500 events. The buffer capacity is increased because destinations are typically the primary source of backpressure in any given Observability Pipelines topology. They communicate to services over the network, where latency may be introduced or outages may temporarily occur.
3636

3737
Observability Pipelines destination's buffers are configured to block events, which means it waits indefinitely to write to a buffer that is full. This is to make sure observability data is reliably processed in the order it was given. Additionally, as mentioned earlier, blocking induces backpressure and signals upstream components to slow down event acceptance or consumption. As a result, although the system retains all data, it accumulates at the edge.
3838

39+
## Disk buffers
40+
41+
Observability Pipelines destination can be configured with disk buffers. When disk buffering is enabled for a destination, every event is first sent through the buffer and written to the data files, before the data is sent to the downstream integration. By default, data is not synchronized for every write, but instead synchronized on an interval (500 milliseconds), which allows for high throughput with a reduced risk of data loss.
42+
3943
## Further reading
4044

4145
{{< partial name="whats-next/whats-next.html" >}}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
1. Optionally, enter the name of the Amazon OpenSearch index. See [template syntax][10051] if you want to route logs to different indexes based on specific fields in your logs.
22
1. Select an authentication strategy, **Basic** or **AWS**. For **AWS**, enter the AWS region.
3+
1. Optionally, toggle the switch to enable **Buffering Options**. If left disabled, the maximum size for buffering is 500 events. If enabled:
4+
1. Select the buffer type you want to set (**Memory** or **Disk**).
5+
1. Enter the buffer size and select the unit.
36

47
[10051]: /observability_pipelines/destinations/#template-syntax

layouts/shortcodes/observability_pipelines/destination_settings/amazon_security_lake.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
- `Server Certificate Path`: The path to the certificate file that has been signed by your Certificate Authority (CA) Root File in DER or PEM (X.509).
99
- `CA Certificate Path`: The path to the certificate file that is your Certificate Authority (CA) Root File in DER or PEM (X.509).
1010
- `Private Key Path`: The path to the `.key` private key file that belongs to your Server Certificate Path in DER or PEM (PKCS#8) format.
11+
1. Optionally, toggle the switch to enable **Buffering Options**. If left disabled, the maximum size for buffering is 500 events. If enabled:
12+
1. Select the buffer type you want to set (**Memory** or **Disk**).
13+
1. Enter the buffer size and select the unit.
1114

1215
**Notes**:
1316
- When you add the Amazon Security Lake destination, the OCSF processor is automatically added so that you can convert your logs to Parquet before they are sent to Amazon Security Lake. See [Remap to OCSF documentation][10081] for setup instructions.

layouts/shortcodes/observability_pipelines/destination_settings/chronicle.en.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ To set up the Worker's Google Chronicle destination:
66
- The Worker uses standard [Google authentication methods][10005].
77
1. Select **JSON** or **Raw** encoding in the dropdown menu.
88
1. Enter the log type. See [template syntax][10002] if you want to route logs to different log types based on specific fields in your logs.
9+
1. Optionally, toggle the switch to enable **Buffering Options**. If left disabled, the maximum size for buffering is 500 events. If enabled:
10+
1. Select the buffer type you want to set (**Memory** or **Disk**).
11+
1. Enter the buffer size and select the unit.
912

1013
**Note**: Logs sent to the Google Chronicle destination must have ingestion labels. For example, if the logs are from a A10 load balancer, it must have the ingestion label `A10_LOAD_BALANCER`. See Google Cloud's [Support log types with a default parser][10003] for a list of available log types and their respective ingestion labels.
1114

layouts/shortcodes/observability_pipelines/destination_settings/crowdstrike_ng_siem.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ To use the CrowdStrike NG-SIEM destination, you need to set up a CrowdStrike dat
66
- `Server Certificate Path`: The path to the certificate file that has been signed by your Certificate Authority (CA) Root File in DER or PEM (X.509).
77
- `CA Certificate Path`: The path to the certificate file that is your Certificate Authority (CA) Root File in DER or PEM (X.509).
88
- `Private Key Path`: The path to the `.key` private key file that belongs to your Server Certificate Path in DER or PEM (PKCS#8) format.
9+
1. Optionally, toggle the switch to enable **Buffering Options**. If left disabled, the maximum size for buffering is 500 events. If enabled:
10+
1. Select the buffer type you want to set (**Memory** or **Disk**).
11+
1. Enter the buffer size and select the unit.
912

1013
[10171]: https://falcon.us-2.crowdstrike.com/documentation/page/bdded008/hec-http-event-connector-guide
1114
[10172]: /observability_pipelines/advanced_configurations/
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
<div class="alert alert-warning">Observability Pipelines compresses logs with the zstd (level 1) algorithm.</div>
22

3-
There are no configuration steps for your Datadog destination.
3+
Optionally, toggle the switch to enable **Buffering Options**. If left disabled, the maximum size for buffering is 500 events. If enabled:
4+
1. Select the buffer type you want to set (**Memory** or **Disk**).
5+
1. Enter the buffer size and select the unit.

layouts/shortcodes/observability_pipelines/destination_settings/datadog_archives_amazon_s3.en.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
1. Enter the ARN of the IAM role you want to assume.
1717
1. Optionally, enter the assumed role session name and external ID.
1818
- **Note:** The [user or role you created earlier][10054] must have permission to assume this role so that the Worker can authenticate with AWS.
19+
1. Optionally, toggle the switch to enable **Buffering Options**. If left disabled, the maximum size for buffering is 500 events. If enabled:
20+
1. Select the buffer type you want to set (**Memory** or **Disk**).
21+
1. Enter the buffer size and select the unit.
1922

2023
#### Example destination and log archive setup
2124

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
1. Enter the name of the Azure container you created earlier.
2-
2. Optionally, enter a prefix.
2+
1. Optionally, enter a prefix.
33
- Prefixes are useful for partitioning objects. For example, you can use a prefix as an object key to store objects under a particular directory. If using a prefix for this purpose, it must end in `/` to act as a directory path; a trailing `/` is not automatically added.
44
- See [template syntax][10051] if you want to route logs to different object keys based on specific fields in your logs.
5+
1. Optionally, toggle the switch to enable **Buffering Options**. If left disabled, the maximum size for buffering is 500 events. If enabled:
6+
1. Select the buffer type you want to set (**Memory** or **Disk**).
7+
1. Enter the buffer size and select the unit.
58

69
[10051]: /observability_pipelines/destinations/#template-syntax

layouts/shortcodes/observability_pipelines/destination_settings/datadog_archives_google_cloud_storage.en.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
- Prefixes are useful for partitioning objects. For example, you can use a prefix as an object key to store objects under a particular directory. If using a prefix for this purpose, it must end in `/` to act as a directory path; a trailing `/` is not automatically added.
99
- See [template syntax][10051] if you want to route logs to different object keys based on specific fields in your logs.
1010
1. Optionally, click **Add Header** to add metadata.
11+
1. Optionally, toggle the switch to enable **Buffering Options**. If left disabled, the maximum size for buffering is 500 events. If enabled:
12+
1. Select the buffer type you want to set (**Memory** or **Disk**).
13+
1. Enter the buffer size and select the unit.
1114

1215
[10051]: /observability_pipelines/destinations/#template-syntax
1316
[10052]: https://cloud.google.com/docs/authentication#auth-flowchart

0 commit comments

Comments
 (0)