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

New component: Google Cloud Logging Receiver #34056

Open
1 of 3 tasks
abhishek-at-cloudwerx opened this issue Jul 12, 2024 · 3 comments
Open
1 of 3 tasks

New component: Google Cloud Logging Receiver #34056

abhishek-at-cloudwerx opened this issue Jul 12, 2024 · 3 comments
Labels
Accepted Component New component has been sponsored

Comments

@abhishek-at-cloudwerx
Copy link
Contributor

abhishek-at-cloudwerx commented Jul 12, 2024

The purpose and use-cases of the new component

Presently, the recommended method for retrieving Google Cloud Logs is to use Log Router, Google PubSub and the googlepubsubreceiver. However, this would involve creation and setup of infrastructure for routing the logs. Each time we need a new log, the router infrastructure would be added/changed.

Proposing a component that would allow retrieving logs directly using GCP Cloud Logging API. This would allow clients with lower log volumes to easily retrieve logs for specific services and resources.

Example configuration for the component

googlecloudlogging:
  collection_interval: 120s
  region: us-central1
  project_id: my-project-id
  service_account_key: "path/to/service_account.json"
  resources:
    - resource_type: "cloudfunctions"
      additionalFilters: 
        - name: "resource.labels.service_name"
          value: "service-name"
        - name: "resource.labels.location"
          value: "us-east-1"
      resource_names:
        - "projects/my-project-id1"
        - "projects/my-project-id2"
    - resource_type: "another-resource-type"
      resource_names:
        - "projects/my-project-id3"
        - "projects/my-project-id4"

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 a member of the OpenTelemetry organization.
  • If this is a vendor-specific component, I am proposing to contribute and support it as a representative of the vendor.

Code Owner(s)

@abhishek-at-cloudwerx, @TylerHelmuth

Sponsor (optional)

@dashpole

Additional context

This proposal seeks community opinion on how useful/necessary the component is. We are open to do the development for this component. However, the component is not intended to be used at extremely high volumes - use of Log router and GCP Pub Sub is the right approach for that case.

@abhishek-at-cloudwerx abhishek-at-cloudwerx added needs triage New item requiring triage Sponsor Needed New component seeking sponsor labels Jul 12, 2024
@dashpole
Copy link
Contributor

To clarify, the reason why the current recommendation is to use pub-sub is because it is difficult to shard log scraping between multiple collectors when querying the API. You either need to only use a single collector, which is what this proposal suggests, or design a sharding method by which collectors can coordinate to avoid querying the same logs. I worry most users won’t be aware of the path through pub-sub, and will run into issues with higher volumes.

Here is the current documentation for routing logs to pub-sub: https://cloud.google.com/logging/docs/export/pubsub#integrate-thru-pubsub.

We (Google) would prefer if there was a single blessed way to export logs to a collector, and can add or update documentation to make the current recommended solution via pub-sub more approachable for users. But if others still think this is necessary, I am willing to sponsor it, and help review the implementation.

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.

@github-actions github-actions bot added the Stale label Sep 16, 2024
@atoulme atoulme added Accepted Component New component has been sponsored and removed Sponsor Needed New component seeking sponsor needs triage New item requiring triage labels Oct 2, 2024
@atoulme
Copy link
Contributor

atoulme commented Oct 2, 2024

Marking as accepted since @dashpole is ok sponsoring.

@github-actions github-actions bot removed the Stale label Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accepted Component New component has been sponsored
Projects
None yet
Development

No branches or pull requests

3 participants