-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
[awsfirehose] Bug receiving Cloudwatch logs #38433
Comments
Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
@shivanshs9 can you please try with v0.119.0 and see if the issue reproduces there? I made some fairly large changes in v0.120.0, so this would help narrow down whether it's a regression or pre-existing issue. |
Also, this example shows using the S3 destination, and you would have had to use the HTTP destination - could you please show you configured the destination? |
I just tested with v0.119.0, and I observe error messages related to control messages like this: {"messageType":"CONTROL_MESSAGE","owner":"CloudwatchLogs","logGroup":"","logStream":"","subscriptionFilters":[],"logEvents":[{"id":"","timestamp":1741312971934,"message":"CWL CONTROL MESSAGE: Checking health of destination Firehose."}]} However, I still see CloudWatch logs being delivered. I'll put up a PR to fix for this. When you say:
Are you basing that just off the error messages in the log? Or are some records from your log groups not getting delivered? |
@axw Sorry for the late reply. But from your PR, it seems it's an issue with the event type delivered by cloudwatch and not the problem by logs. Maybe the missing service didn't just output any new log events. Is it possible I can try out your PR build and see if the errors still come or not? |
@shivanshs9 you will need to build it locally: if you clone my branch, you can build the collector with |
@shivanshs9 I just realised you can also grab a binary from CI: https://github.com/open-telemetry/opentelemetry-collector-contrib/actions/runs/13733452339 |
#### Description Fix the CloudWatch logs unmarshaler so it ignores CONTROL_MESSAGE log records, rather than returning an error. As mentioned at https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html, CONTROL_MESSAGE records are produced for health-checking the destination. #### Link to tracking issue Relates to #38433 (Not sure yet if it fixes it.) #### Testing - Added a unit test case. - Created a Firehose delivery stream & CloudWatch subscription filter, pointing at the collector - Reproduced the error without the change (#38433 (comment)) - Verified that the error no longer occurs with my fix - Verified that non-control log records are still produced by the receiver #### Documentation N/A
My PR has been merged, so please test with v0.122.0 when it's out and let us know if you're still observing issues. |
Component(s)
receiver/awsfirehose
What happened?
Description
I have couple of Cloudwatch log groups that I'm trying to stream to Open Telemetry using Firehose. However it's unable to process the event sometimes and logs the error.
Some logs are successfully being processed and some are facing this issue.
Steps to Reproduce
Use Firehose receiver to receive cloudwatch logs stream as per the AWS doc: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html#FirehoseExample
Expected Result
Logs to be processed successfully by the receiver.
Actual Result
Receiving following error in the firehose receiver plugin.
Collector version
0.120.0
Environment information
Environment
OS: (e.g., "Ubuntu 20.04")
Compiler(if manually compiled): (e.g., "go 14.2")
OpenTelemetry Collector configuration
Log output
Additional context
No response
The text was updated successfully, but these errors were encountered: