Skip to content
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

Feature request: Kubernete Events Logging Enrichment #25141

Open
2 tasks
ralongit opened this issue Aug 10, 2023 · 11 comments
Open
2 tasks

Feature request: Kubernete Events Logging Enrichment #25141

ralongit opened this issue Aug 10, 2023 · 11 comments
Assignees
Labels

Comments

@ralongit
Copy link
Contributor

ralongit commented Aug 10, 2023

The purpose and use-cases of the new component

The events receiver provides logging based on the events endpoint and it’s usually missing information like which related workloads and resources are impacted by each event. It also doesn’t contain the old & new objects of the modified resource if it was updated.

I'd like to purpose using a dynamic informer to watch for events from different API groups, process them and enrich them with relevant information by leveraging the Kubernetes API.

It can be added to the existing receivers like k8seventsreceiver, k8sobjectsreceiver with a flag or as a new receiver.

Example use cases:

  • A 'Secret' kind resource object value was removed and it's being used by many applications. The log should contain the event data with the deleted object content and also have a list of resources and workloads that reference the secret as applications might fail due to the missing resource.

  • A 'ConfigMap' kind resource object value has changed and it's being used by many applications.
    The old & new resource object should be in the a log along with a list of related pods, deployments, daemonsets and statefulsets that use it.

  • A 'Deployment' kind resource object value was added and it's being used to create new pods. The log should have the information about the resource and a list of related configmaps, secrets, service accounts, cluster roles, etc..

Example configuration for the component

receivers:
  k8s_events:
    auth_type: kubeConfig
    namespaces: [default, my_namespace]
    enrich: true

Telemetry data types supported

logs

Is this a vendor-specific component?

  • This is a vendor-specific component
  • If this is a vendor-specific component, I am proposing to contribute and support it as a representative of the vendor.

Code Owner(s)

No response

Sponsor (optional)

No response

Additional context

A generic log example of a ConfigMap resource update can be found here.

Note the relatedClusterServices key and the difference in the data key values.

Any feedback on this suggestion will be appreciated.

Other suggestions are welcomed as well.

I will be glad to contribute to this feature and open a PR for it.

@ralongit ralongit added needs triage New item requiring triage Sponsor Needed New component seeking sponsor labels Aug 10, 2023
@JaredTan95 JaredTan95 removed the needs triage New item requiring triage label Aug 16, 2023
@JaredTan95
Copy link
Member

hi @ralongit
From the description, this is not a new component, more like a feature enhancement on top of an existing component, like k8seventsreceiver, k8sobjectsreceiver?

@ralongit
Copy link
Contributor Author

hi @ralongit
From the description, this is not a new component, more like a feature enhancement on top of an existing component, like k8seventsreceiver, k8sobjectsreceiver?

@JaredTan95 Yes, the k8sobjectsreceiver seems like a good candidate to have the enhanced data per my described use case.

@JaredTan95
Copy link
Member

@JaredTan95 Yes, the k8sobjectsreceiver seems like a good candidate to have the enhanced data per my described use case.

Ok, then, we'd better update the title or description without New component

@github-actions
Copy link
Contributor

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

@atoulme
Copy link
Contributor

atoulme commented Nov 29, 2023

@open-telemetry/collector-contrib-triagers would you please help triage this issue?

@crobert-1 crobert-1 added the enhancement New feature or request label Nov 29, 2023
@crobert-1 crobert-1 added receiver/k8sobjects and removed Stale Sponsor Needed New component seeking sponsor labels Nov 29, 2023
Copy link
Contributor

Pinging code owners for receiver/k8sobjects: @dmitryax @hvaghani221 @TylerHelmuth. See Adding Labels via Comments if you do not have permissions to add labels yourself.

@ralongit
Copy link
Contributor Author

ralongit commented Dec 3, 2023

I'd like to add that I've already developed a similar functionality in a separate tool, but I would love to have a more extended version with the same logic within the OpenTelemetry collector.
https://github.com/logzio/logzio-k8s-events

Copy link
Contributor

github-actions bot commented Feb 2, 2024

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

@github-actions github-actions bot added the Stale label Feb 2, 2024
@Frapschen Frapschen removed the Stale label Feb 2, 2024
Copy link
Contributor

github-actions bot commented Apr 3, 2024

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

Copy link
Contributor

github-actions bot commented Jun 3, 2024

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

@github-actions github-actions bot added the Stale label Jun 3, 2024
@crobert-1 crobert-1 removed the Stale label Jun 3, 2024
Copy link
Contributor

github-actions bot commented Aug 5, 2024

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

@github-actions github-actions bot added the Stale label Aug 5, 2024
@Frapschen Frapschen removed the Stale label Aug 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants