-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(new sink): add changelog and cue references
- Loading branch information
1 parent
5f874b2
commit d142eae
Showing
4 changed files
with
310 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
A new sink for keep was added | ||
|
||
authors: sainad2222 |
14 changes: 14 additions & 0 deletions
14
website/content/en/docs/reference/configuration/sinks/keep.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
--- | ||
title: Keep | ||
description: Deliver log events to [Keep](https://www.keephq.dev) | ||
kind: sink | ||
layout: component | ||
tags: ["keep", "component", "sink", "logs", "metrics"] | ||
--- | ||
|
||
{{/* | ||
This doc is generated using: | ||
|
||
1. The template in layouts/docs/component.html | ||
2. The relevant CUE data in cue/reference/components/... | ||
*/}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,289 @@ | ||
package metadata | ||
|
||
base: components: sinks: keep: configuration: { | ||
acknowledgements: { | ||
description: """ | ||
Controls how acknowledgements are handled for this sink. | ||
See [End-to-end Acknowledgements][e2e_acks] for more information on how event acknowledgement is handled. | ||
[e2e_acks]: https://vector.dev/docs/about/under-the-hood/architecture/end-to-end-acknowledgements/ | ||
""" | ||
required: false | ||
type: object: options: enabled: { | ||
description: """ | ||
Whether or not end-to-end acknowledgements are enabled. | ||
When enabled for a sink, any source connected to that sink, where the source supports | ||
end-to-end acknowledgements as well, waits for events to be acknowledged by **all | ||
connected** sinks before acknowledging them at the source. | ||
Enabling or disabling acknowledgements at the sink level takes precedence over any global | ||
[`acknowledgements`][global_acks] configuration. | ||
[global_acks]: https://vector.dev/docs/reference/configuration/global-options/#acknowledgements | ||
""" | ||
required: false | ||
type: bool: {} | ||
} | ||
} | ||
api_key: { | ||
description: "The API key that is used to authenticate against Keep." | ||
required: true | ||
type: string: examples: ["${KEEP_API_KEY}", "keepappkey"] | ||
} | ||
batch: { | ||
description: "Event batching behavior." | ||
required: false | ||
type: object: options: { | ||
max_bytes: { | ||
description: """ | ||
The maximum size of a batch that is processed by a sink. | ||
This is based on the uncompressed size of the batched events, before they are | ||
serialized/compressed. | ||
""" | ||
required: false | ||
type: uint: { | ||
default: 100000 | ||
unit: "bytes" | ||
} | ||
} | ||
max_events: { | ||
description: "The maximum size of a batch before it is flushed." | ||
required: false | ||
type: uint: unit: "events" | ||
} | ||
timeout_secs: { | ||
description: "The maximum age of a batch before it is flushed." | ||
required: false | ||
type: float: { | ||
default: 1.0 | ||
unit: "seconds" | ||
} | ||
} | ||
} | ||
} | ||
encoding: { | ||
description: "Transformations to prepare an event for serialization." | ||
required: false | ||
type: object: options: { | ||
except_fields: { | ||
description: "List of fields that are excluded from the encoded event." | ||
required: false | ||
type: array: items: type: string: {} | ||
} | ||
only_fields: { | ||
description: "List of fields that are included in the encoded event." | ||
required: false | ||
type: array: items: type: string: {} | ||
} | ||
timestamp_format: { | ||
description: "Format used for timestamp fields." | ||
required: false | ||
type: string: enum: { | ||
rfc3339: "Represent the timestamp as a RFC 3339 timestamp." | ||
unix: "Represent the timestamp as a Unix timestamp." | ||
unix_float: "Represent the timestamp as a Unix timestamp in floating point." | ||
unix_ms: "Represent the timestamp as a Unix timestamp in milliseconds." | ||
unix_ns: "Represent the timestamp as a Unix timestamp in nanoseconds." | ||
unix_us: "Represent the timestamp as a Unix timestamp in microseconds" | ||
} | ||
} | ||
} | ||
} | ||
endpoint: { | ||
description: "Keep's endpoint to send logs to" | ||
required: false | ||
type: string: { | ||
default: "http://localhost:8080/alerts/event/vectordev?provider_id=test" | ||
examples: ["https://backend.keep.com:8081/alerts/event/vectordev?provider_id=test"] | ||
} | ||
} | ||
request: { | ||
description: """ | ||
Middleware settings for outbound requests. | ||
Various settings can be configured, such as concurrency and rate limits, timeouts, retry behavior, etc. | ||
Note that the retry backoff policy follows the Fibonacci sequence. | ||
""" | ||
required: false | ||
type: object: options: { | ||
adaptive_concurrency: { | ||
description: """ | ||
Configuration of adaptive concurrency parameters. | ||
These parameters typically do not require changes from the default, and incorrect values can lead to meta-stable or | ||
unstable performance and sink behavior. Proceed with caution. | ||
""" | ||
required: false | ||
type: object: options: { | ||
decrease_ratio: { | ||
description: """ | ||
The fraction of the current value to set the new concurrency limit when decreasing the limit. | ||
Valid values are greater than `0` and less than `1`. Smaller values cause the algorithm to scale back rapidly | ||
when latency increases. | ||
Note that the new limit is rounded down after applying this ratio. | ||
""" | ||
required: false | ||
type: float: default: 0.9 | ||
} | ||
ewma_alpha: { | ||
description: """ | ||
The weighting of new measurements compared to older measurements. | ||
Valid values are greater than `0` and less than `1`. | ||
ARC uses an exponentially weighted moving average (EWMA) of past RTT measurements as a reference to compare with | ||
the current RTT. Smaller values cause this reference to adjust more slowly, which may be useful if a service has | ||
unusually high response variability. | ||
""" | ||
required: false | ||
type: float: default: 0.4 | ||
} | ||
initial_concurrency: { | ||
description: """ | ||
The initial concurrency limit to use. If not specified, the initial limit will be 1 (no concurrency). | ||
It is recommended to set this value to your service's average limit if you're seeing that it takes a | ||
long time to ramp up adaptive concurrency after a restart. You can find this value by looking at the | ||
`adaptive_concurrency_limit` metric. | ||
""" | ||
required: false | ||
type: uint: default: 1 | ||
} | ||
max_concurrency_limit: { | ||
description: """ | ||
The maximum concurrency limit. | ||
The adaptive request concurrency limit will not go above this bound. This is put in place as a safeguard. | ||
""" | ||
required: false | ||
type: uint: default: 200 | ||
} | ||
rtt_deviation_scale: { | ||
description: """ | ||
Scale of RTT deviations which are not considered anomalous. | ||
Valid values are greater than or equal to `0`, and we expect reasonable values to range from `1.0` to `3.0`. | ||
When calculating the past RTT average, we also compute a secondary “deviation” value that indicates how variable | ||
those values are. We use that deviation when comparing the past RTT average to the current measurements, so we | ||
can ignore increases in RTT that are within an expected range. This factor is used to scale up the deviation to | ||
an appropriate range. Larger values cause the algorithm to ignore larger increases in the RTT. | ||
""" | ||
required: false | ||
type: float: default: 2.5 | ||
} | ||
} | ||
} | ||
concurrency: { | ||
description: """ | ||
Configuration for outbound request concurrency. | ||
This can be set either to one of the below enum values or to a positive integer, which denotes | ||
a fixed concurrency limit. | ||
""" | ||
required: false | ||
type: { | ||
string: { | ||
default: "adaptive" | ||
enum: { | ||
adaptive: """ | ||
Concurrency will be managed by Vector's [Adaptive Request Concurrency][arc] feature. | ||
[arc]: https://vector.dev/docs/about/under-the-hood/networking/arc/ | ||
""" | ||
none: """ | ||
A fixed concurrency of 1. | ||
Only one request can be outstanding at any given time. | ||
""" | ||
} | ||
} | ||
uint: {} | ||
} | ||
} | ||
rate_limit_duration_secs: { | ||
description: "The time window used for the `rate_limit_num` option." | ||
required: false | ||
type: uint: { | ||
default: 1 | ||
unit: "seconds" | ||
} | ||
} | ||
rate_limit_num: { | ||
description: "The maximum number of requests allowed within the `rate_limit_duration_secs` time window." | ||
required: false | ||
type: uint: { | ||
default: 9223372036854775807 | ||
unit: "requests" | ||
} | ||
} | ||
retry_attempts: { | ||
description: "The maximum number of retries to make for failed requests." | ||
required: false | ||
type: uint: { | ||
default: 9223372036854775807 | ||
unit: "retries" | ||
} | ||
} | ||
retry_initial_backoff_secs: { | ||
description: """ | ||
The amount of time to wait before attempting the first retry for a failed request. | ||
After the first retry has failed, the fibonacci sequence is used to select future backoffs. | ||
""" | ||
required: false | ||
type: uint: { | ||
default: 1 | ||
unit: "seconds" | ||
} | ||
} | ||
retry_jitter_mode: { | ||
description: "The jitter mode to use for retry backoff behavior." | ||
required: false | ||
type: string: { | ||
default: "Full" | ||
enum: { | ||
Full: """ | ||
Full jitter. | ||
The random delay is anywhere from 0 up to the maximum current delay calculated by the backoff | ||
strategy. | ||
Incorporating full jitter into your backoff strategy can greatly reduce the likelihood | ||
of creating accidental denial of service (DoS) conditions against your own systems when | ||
many clients are recovering from a failure state. | ||
""" | ||
None: "No jitter." | ||
} | ||
} | ||
} | ||
retry_max_duration_secs: { | ||
description: "The maximum amount of time to wait between retries." | ||
required: false | ||
type: uint: { | ||
default: 30 | ||
unit: "seconds" | ||
} | ||
} | ||
timeout_secs: { | ||
description: """ | ||
The time a request can take before being aborted. | ||
Datadog highly recommends that you do not lower this value below the service's internal timeout, as this could | ||
create orphaned requests, pile on retries, and result in duplicate data downstream. | ||
""" | ||
required: false | ||
type: uint: { | ||
default: 60 | ||
unit: "seconds" | ||
} | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters