LOG-9389: Payload Too Large errors when sending logs to Azure monitor using Log Ingestion API#3277
Conversation
|
@Clee2691: This pull request references LOG-9389 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the bug to target either version "4.8." or "openshift-4.8.", but it targets "Logging 6.6.0" instead. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
/hold |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (14)
✅ Files skipped from review due to trivial changes (4)
🚧 Files skipped from review as they are similar to previous changes (6)
WalkthroughUpdates docs and Vector generator configs to enforce Azure Logs Ingestion 1MB request body limit, add a September 14, 2026 deprecation notice for the legacy Azure Monitor output, clamp/default batch sizes to 1_000_000 bytes in generator code, and add validation and tests for the maxWrite tuning value. ChangesAzure Logs Ingestion limits, docs, generator, and validation
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested labels: 🚥 Pre-merge checks | ✅ 10 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (10 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
We should consider enforcing a hard limit of 1,000,000 bytes for Thoughts? @jcantrill @vparfonov |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@docs/features/logforwarding/outputs/azure/azure-logs-ingestion-forwarding.adoc`:
- Line 7: Update the deprecation sentence that currently reads "Since the HTTP
Data Collector API is deprecated, and will be removed in **September 14th
2026**..." to use a clearer absolute date and preposition: change it to "Since
the HTTP Data Collector API is deprecated, and will be removed on **September
14, 2026**..." — update the text containing "AzureMonitor" and the original
sentence to reflect this exact wording.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 23e05b4b-fd1d-4e40-9221-6b3fa379628b
📒 Files selected for processing (8)
docs/features/logforwarding/outputs/azure/azure-logs-ingestion-forwarding.adocdocs/features/logforwarding/outputs/azure/azure-monitor-log-forwarding.adocinternal/generator/vector/output/azure/azurelogsingestion/azli_common.tomlinternal/generator/vector/output/azure/azurelogsingestion/azli_timestamp_field.tomlinternal/generator/vector/output/azure/azurelogsingestion/azli_tls.tomlinternal/generator/vector/output/azure/azurelogsingestion/azli_token_scope.tomlinternal/generator/vector/output/azure/azurelogsingestion/azli_workload_identity.tomlinternal/generator/vector/output/azure/azurelogsingestion/azurelogsingestion.go
| The `azureLogsIngestion` output type sends log events to Azure Monitor using the Logs Ingestion API and a Data Collection Rule (DCR). This is the recommended replacement for the legacy HTTP Data Collector API used by `azureMonitor`. | ||
|
|
||
| Since the HTTP Data Collector API is deprecated, and will be removed in **September** 2026, it is recommended to use the Logs Ingestion API instead. The `AzureMonitor` output type will be removed in the future. | ||
| Since the HTTP Data Collector API is deprecated, and will be removed in **September 14th 2026**, it is recommended to use the Logs Ingestion API instead. The `AzureMonitor` output type will be removed in the future. |
There was a problem hiding this comment.
Use a clearer absolute date format in the deprecation sentence.
Line 7 says “removed in September 14th 2026”, which reads awkwardly. Prefer “removed on September 14, 2026” for clarity and consistency.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@docs/features/logforwarding/outputs/azure/azure-logs-ingestion-forwarding.adoc`
at line 7, Update the deprecation sentence that currently reads "Since the HTTP
Data Collector API is deprecated, and will be removed in **September 14th
2026**..." to use a clearer absolute date and preposition: change it to "Since
the HTTP Data Collector API is deprecated, and will be removed on **September
14, 2026**..." — update the text containing "AzureMonitor" and the original
sentence to reflect this exact wording.
|
/retest |
Agree. It should be possible to restrict in the API declaratively so any changes are rejected immediately. The concerning behavior, especially for audit logs, is I believe larger messages will get dropped entirely; we should confirm this. Additionally we should understand if we at a minimum get 'discarded' metrics. This would make it consistent with the other outputs and hopefully we can resolve with @vparfonov truncation work. |
We do get I've tested setting the limit to 1MB and I do not see any 413s with the current logs produced. This is something the customer has to be aware of when forwarding to Azure using the Logs Ingestion API |
… using Log Ingestion API
|
/retest |
1 similar comment
|
/retest |
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Clee2691, jcantrill The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/hold cancel |
|
/lgtm |
|
@Clee2691: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Description
This PR sets the default
maxWritevalue to1,000,000bytes for theAzureLogsIngestionoutput tuning parameter. This aligns with the maximum size of an API call enforced by Azure’s Logs Ingestion API service limits./cc @vparfonov
/assign @jcantrill
Links
Summary by CodeRabbit
Documentation
Configuration & Behavior
Tests & Validation