-
Notifications
You must be signed in to change notification settings - Fork 474
[AWS] Add CloudWatch logs latency config option #5777
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🌐 Coverage report
|
a57e176
to
5e0d1b7
Compare
This PR closes #5712 |
@@ -149,6 +149,12 @@ streams: | |||
show_user: false | |||
default: 200ms | |||
description: This is used to sleep between AWS FilterLogEvents API calls inside the same collection period. `FilterLogEvents` API has a quota of 5 transactions per second (TPS)/account/Region. This value should only be adjusted when there are multiple Filebeats or multiple Filebeat inputs collecting logs from the same region and AWS account. | |||
- name: latency |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see there is a description in the screenshot and I expected to see it here. Is this missing the description
field?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added with 17afdcf
|
||
Log events on the busies log groups may require a longer time before they are available to CloudWatch Logs. | ||
|
||
The CloudWatch integration offers the `latency` setting to cope with this scenario. Latency translates the query's time range to consider the CloudWatch Logs latency. For example, a `5m` latency means the integration will query CloudWatch for logs available 5 minutes ago. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would document the format expected by this setting, as it may not be familiar. (es a link to the documentation for the underlying string parser that converts strings to time durations)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point! Adding it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh boy, thank you for the heads up; I forgot to add a reference to this issue! 🤦 (added in the PR description) |
Package aws - 1.33.0 containing this change is available at https://epr.elastic.co/search?package=aws |
Motivation
If the logs collection starts at 10:00, then the input will gather logs in this time window:
Unfortunately, logs sometimes become available in CloudWatch with a delay; in these circumstances, the input of the CloudWatch logs could miss them.
For example, if a log event is:
The input will miss that event with the default latency setting 1.
However, the CloudWatch Logs input has a setting called
latency
that allows users to adjust the logs collection time window to cope with the AWS services' latency.Change description
Make the CloudWatch Logs input setting option
latency
available in the integration settings.Checklist
changelog.yml
file.Related issues
latency
option #5712Screenshots
Settings UI
Documentation
Footnotes
The input will pick that log event up at the next restart if "start position" is set to "beginning". ↩