Skip to content

[azure logs] use one input + routing for all data streams (WIP) - #11432

Closed
zmoog wants to merge 0 commit into
elastic:mainfrom
zmoog:zmoog/one-input-to-rule-them-all
Closed

[azure logs] use one input + routing for all data streams (WIP)#11432
zmoog wants to merge 0 commit into
elastic:mainfrom
zmoog:zmoog/one-input-to-rule-them-all

Conversation

@zmoog

@zmoog zmoog commented Oct 16, 2024

Copy link
Copy Markdown
Contributor

Proposed commit message

Switch the integration package from the one-input-per-data-stream model to the one-input model.

One input per data stream model:

image

One input model:

image

In the one-input model, there is only one azure-eventhub input running and sending events to the events data stream. In the events data stream, the ingest pipeline performs these tasks:

  • discover and set the event.dataset field using the category field in the event.
  • use the event.dataset field to reroute the event to the target data stream.

The discover process uses the following logic:

  • if the event doesn't have a category, it sets event.dataset to azure.eventhub (the generic integration)
  • if the event does have a category, it sets event.dataset to azure.platformlogs (it's probably an Azure log)
  • if the event category is supported, it sets event.dataset to specific one like azure.activitylogs or azure.signinlogs.

After the discovery step, the routing rules use the event.dataset value to forward the events to the best available target data stream.

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.
  • I have verified that any added dashboard complies with Kibana's Dashboard good practices

Author's Checklist

  • [ ]

How to test this PR locally

Related issues

Screenshots

@zmoog zmoog self-assigned this Oct 16, 2024
@zmoog zmoog added Team:obs-ds-hosted-services Observability Hosted Services team [elastic/obs-ds-hosted-services] enhancement New feature or request Integration:azure Azure Logs labels Oct 16, 2024
@zmoog zmoog changed the title [azure logs] use one input for all data streams + routing (WIP) Oct 16, 2024
@elastic-vault-github-plugin-prod

elastic-vault-github-plugin-prod Bot commented Oct 16, 2024

Copy link
Copy Markdown
Contributor

🚀 Benchmarks report

To see the full report comment with /test benchmark fullreport

@elastic-sonarqube

Copy link
Copy Markdown

Quality Gate failed Quality Gate failed

Failed conditions
26.1% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube

@zmoog

zmoog commented Nov 7, 2024

Copy link
Copy Markdown
Contributor Author

Here's the latest iteration for the integration settings to evidence the recommended single data stream (v2) vs. the legacy multiple data stream (v1) solutions:

image

@defutek-tj

Copy link
Copy Markdown

@zmoog - do you have any updates as to the timeframe when this will be ready / released?

@zmoog

zmoog commented Dec 3, 2024

Copy link
Copy Markdown
Contributor Author

@zmoog - do you have any updates as to the timeframe when this will be ready / released?

Hey @defutek-tj, my apologies for the delay.

We clarified the Event Hub SDK behavior with the Event Hub team, and now we can move forward with the first update.

In the following integration update, we will ship a new data stream v2 (preview) to handle all the log categories. ETA is next week.

@zmoog
zmoog force-pushed the zmoog/one-input-to-rule-them-all branch from 533db9d to 45192fb Compare December 3, 2024 12:42
@elastic-sonarqube

Copy link
Copy Markdown

Quality Gate failed Quality Gate failed

Failed conditions
26.2% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube

@elasticmachine

Copy link
Copy Markdown

💚 Build Succeeded

History

  • 💚 Build #17218 succeeded 533db9d8ea33091ec782795284839d5c067110f3
  • 💚 Build #17216 succeeded 63ffd49c03323132df00103228c1d8b7ad28fac6
  • 💔 Build #17215 failed 75677cac39725f031d9a67df69c5ec87344c9804

cc @zmoog

@zmoog

zmoog commented Dec 3, 2024

Copy link
Copy Markdown
Contributor Author

I'm replacing this PR with the simpler and backwards compatible #11984

@zmoog zmoog closed this Dec 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Integration:azure Azure Logs Team:obs-ds-hosted-services Observability Hosted Services team [elastic/obs-ds-hosted-services]

3 participants