-
Notifications
You must be signed in to change notification settings - Fork 461
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
[Azure] Migrate Azure logs package to adopt ecs@mappings #10224
Conversation
As part of migrating azure package to ecs@mappings, the below 2 datastreams have pipeline failures. Firewall Logs:
Platform Logs:
cc: @zmoog, @muthu-mps |
|
Impact
@zmoog - What do you think? |
@harnish-elastic : To add this value to the expected values of DNS header flags, let's override the expected values of this field in ecs.yml, something like this example. Let's see if things work.
@zmoog @muthu-mps : The question here is even if you convert succeeded -> success internally, will the user be expecting this status to be succeeded only? Another option is overriding the event.outcome in ecs.yml like this example |
@ishleenk17 I have checked by adding expected values like below and it worked!
@zmoog @muthu-mps The question here is, is there a chance that we can also get the values out of the above mentioned list from azure firewall_logs? |
@tommyers-elastic : As part of the PR, you moved the Geo ECS fields from ecs.yml to fields.yml. |
@muthu-mps @zmoog : Are there any concerns here else we will move on with these option overriding the default values for now.
@tommyers-elastic : WDYT ? |
So far we have not seen any other values other than QR. |
These are the common ones and we can go-ahead with this values. |
@harnish-elastic : Lets proceed with these then |
I don't think user would expect the |
Changes are already pushed! |
I'm late to the party, but it's +1 from me.
We usually try to maintain as much backward compatibility as possible. However, the current Platform logs are a semi-generic data stream. The Azure Native ISV uses platform logs as the default data stream when it doesn't have a specific routing. Aligning the To take this as the opportunity to align the expected values (succeeded->success and failed->failure) for the @jsoriano, what is the best practice to communicate breaking changes in integration releases? |
As you mention we try to avoid them, but if needed, you could bump the major version, and include a "breaking-change" entry in the changelog. |
Yeah, I try to avoid breaking changes as much as possible. In this case, aligning the To properly mark this change as breaking, do we need to set - version: "0.4.0"
changes:
- description: added anonymous auth config, replaced some RUM config
type: breaking-change
link: https://github.com/elastic/apm-server/pull/5623 |
Agree. And if any user is affected by this change the adaptation would be easy, by modifying queries or dashboards to use the new values.
Correct. |
@harnish-elastic : Let's take care of this. |
…led" to "failure"
🚀 Benchmarks reportPackage
|
Data stream | Previous EPS | New EPS | Diff (%) | Result |
---|---|---|---|---|
firewall_logs |
1976.28 | 1547.99 | -428.29 (-21.67%) | 💔 |
platformlogs |
4694.84 | 3508.77 | -1186.07 (-25.26%) | 💔 |
To see the full report comment with /test benchmark fullreport
Updated, thanks! CI is getting failed due to SonarQube Code Analysis which can be ignored as per this comment! |
@@ -1,3 +1,11 @@ | |||
- version: "1.12.0" | |||
changes: | |||
- description: ECS version updated to 8.11.0. Update the kibana constraint to ^8.13.0. Modified the field definitions to remove ECS fields made redundant by the ecs@mappings component template. |
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.
This changelog has multiple updates, Can we have separate descriptions for each.
- Update ECS version to 8.11.0
- Update the kibana constraint to ^8.13.0 to adopt ecs@mappings component template.
No need to add this sentence in the changelog entry,
Modified the field definitions to remove ECS fields made redundant by the ecs@mappings component template.
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.
This is the text that the automation writes.
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.
Separate entries sounds like a reasonable enhancement to make to ecs-update
. The related code is at https://github.com/andrewkroh/go-examples/blob/7bd2d3beac526b97b7734b2b51433d4be54d0fb6/ecs-update/ecs-update.go#L343 if anyone wants to contribute.
@harnish-elastic - After making the changes, Did we test the data collection for any of the Azure logs integration? |
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.
application_gateway and firewall_logs LGTM
@@ -1,3 +1,11 @@ | |||
- version: "1.12.0" | |||
changes: | |||
- description: ECS version updated to 8.11.0. Update the kibana constraint to ^8.13.0. Modified the field definitions to remove ECS fields made redundant by the ecs@mappings component template. |
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.
This is the text that the automation writes.
- AD | ||
- CD | ||
- DO | ||
- QR |
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.
In coredns this flag is removed.
integrations/packages/coredns/data_stream/log/elasticsearch/ingest_pipeline/default.yml
Lines 98 to 108 in af56b28
- script: | |
lang: painless | |
ignore_failure: true | |
description: remove QR header since it is not allowed per ECS spec in 8.4.0 | |
if: ctx.dns?.header_flags != null && ctx.dns.header_flags instanceof List | |
source: | | |
for (int i=0; i<ctx.dns.header_flags.length; i++) { | |
if (ctx.dns.header_flags[i] == 'QR') { | |
ctx.dns.header_flags.remove(i); | |
} | |
} |
ISTM that either it should be removed, used to otherwise colour the document or be added to the allowed set in ECS (or a combination of these).
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.
QR (Query/Rsponse) seems to be a valid DNS header flag.
IMO, we should not remove it here, rather have it added in the allowed list.
@jsoriano
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.
Looks good!
Please address others' comments if pending.
I have done the pipeline tests as Azure package is not having the system tests for platformlogs data stream. Pipeline tests are working as expected! |
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.
LGTM
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.
LGTM!
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.
LGTM, only a minor fix to the repo name in the changelog link.
Co-authored-by: Maurizio Branca <[email protected]>
Quality Gate passedIssues Measures |
💚 Build Succeeded
History
|
Package azure - 1.12.0 containing this change is available at https://epr.elastic.co/search?package=azure |
Proposed commit message
Command
Checklist
changelog.yml
file.