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: sumologicprocessor #23946

Closed
2 tasks done
sumo-drosiek opened this issue Jul 4, 2023 · 9 comments
Closed
2 tasks done

New component: sumologicprocessor #23946

sumo-drosiek opened this issue Jul 4, 2023 · 9 comments
Labels
Accepted Component New component has been sponsored

Comments

@sumo-drosiek
Copy link
Member

sumo-drosiek commented Jul 4, 2023

The purpose and use-cases of the new component

This is vendor specific processor. Schema used by Sumo Logic differs from OpenTelemetry ones, and because of that we need some translations and additional data pre-processing before sending data to Sumo Logic.

More details are available in the component README

Example configuration for the component

processors:
  sumologic:
    # Defines whether the `cloud.namespace` resource attribute should be added.
    # default = true
    add_cloud_namespace: {true,false}

    # Defines whether attributes should be translated
    # from OpenTelemetry to Sumo Logic conventions;
    # see "Attribute translation" documentation chapter from this document.
    # default = true
    translate_attributes: {true,false}

    # Specifies whether telegraf metric names should be translated to match
    # Sumo Logic conventions expected in Sumo Logic host related apps (for example
    # `procstat_num_threads` => `Proc_Threads` or `cpu_usage_irq` => `CPU_Irq`).
    # See `translate_telegraf_metrics_processor.go` for full list of translations.
    # default = true
    translate_telegraf_attributes: {true, false}

    # Specifies whether docker stats metric names should be translated to match
    # Sumo Logic conventions expected in Sumo Logic host related apps (for example
    # `container.cpu.usage.kernelmode` => `cpu_usage.usage_in_kernelmode` or `container.memory.usage.max` => `max_usage`).
    # It also translates some resource attribute names (for example `container.id` => `container.FullID`).
    # See `translate_docker_metrics_processor.go` for full list of translations.
    # default = false
    translate_docker_metrics: {true, false}

    # Specifies if attributes should be nested, basing on their keys.
    # See "Nesting attributes" documentation chapter from this document.
    nest_attributes:
      # Defines whether attributes should be nested.
      # default = false
      enabled: {true, false}

      # Defines the string used to separate key names in attributes that are to be nested.
      # default = "."
      separator: <separator>

      # Defines a list of allowed prefixes to be nested.
      # For example, if "kubernetes." is in this list, then all "kubernetes.*" attributes will be nested.
      # default = []
      include: [<prefix>]

      # Defines a list of prefixes not allowed to be nested.
      # For example, if "k8s." is in this list, then all "k8s.*" attributes will not be nested.
      # default = []
      exclude: [<prefix>]

      # If enabled, then maps that would have only one value will be squashed.
      # For example,{"k8s": {"pods": {"a": "A", "b": "B"}}}
      # will be squashed to {"k8s.pods": {"a": "A", "b": "B"}}
      # default = false
      squash_single_values: {true, false}

    # Specifies if attributes matching given pattern should be mapped to a common key.
    # See "Aggregating attributes" documentation chapter from this document.
    # default = []
    aggregate_attributes:
      - attribute: <attribute>
        prefixes: [<prefix>]
      - ...

    # Defines whether attribute should be added to record attributes.
    # Currently available attributes are `severity_number`, `severity_text`,
    # `trace_id`, `span_id`
    # all are disabled by default, enabled: false
    field_attributes:
      severity_number:
        enabled: true
        name: "loglevel"

Telemetry data types supported

logs, metrics, traces

Is this a vendor-specific component?

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

Sponsor (optional)

No response

Additional context

This is required in order to move other Sumo Logic specific components from Sumo Logic repository to this one.

@sumo-drosiek sumo-drosiek added the needs triage New item requiring triage label Jul 4, 2023
@sumo-drosiek sumo-drosiek changed the title New component: sumologicschemaprocessor New component: sumologicprocessor Jul 4, 2023
@Frapschen
Copy link
Contributor

Schema used by Sumo Logic differs from OpenTelemetry ones, and because of that we need some translations and additional data pre-processing before sending data to Sumo Logic.

As that said, it's more likely an exporter, why not add those functions into the sumologicexporter?

@sumo-drosiek
Copy link
Member Author

As that said, it's more likely an exporter, why not add those functions into the sumologicexporter?

We don't think that exporter should modify data and also with this processor, OTLP exporter may be use to send data to Sumo Logic. We also believe that it is important to be able to send same data to different targets, e.g. local databases, s3 and so on.

Finally this processor is not only about schema, but also has some features our customer asks as for and which are not supported by other processors yet.

@andrzej-stencel
Copy link
Member

It' worth noting that this processor is currently maintained in the Sumo Logic distro repo as Sumo Logic Schema processor.

We want to move this processor to be maintained in the contrib repo together with the already existing Sumo Logic exporter and also Sumo Logic extension coming soon (also moved from the Sumo distro repo).

@andrzej-stencel andrzej-stencel removed the needs triage New item requiring triage label Jul 6, 2023
@andrzej-stencel
Copy link
Member

I'm willing to sponsor this component.

@andrzej-stencel andrzej-stencel added the Accepted Component New component has been sponsored label Jul 6, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Sep 5, 2023

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 5, 2023
@andrzej-stencel
Copy link
Member

This is not stale, work is ongoing in #23949.

@github-actions github-actions bot removed the Stale label Sep 12, 2023
dmitryax pushed a commit that referenced this issue Oct 30, 2023
**Description:**

Adds Sumo Logic Processor

The Sumo Logic processor (config name: `sumologic`)
modifies the metadata on logs, metrics and traces sent to [Sumo
Logic][sumologic_webpage]
so that the Sumo Logic [apps][sumologic_apps] can make full use of the
ingested data.

[sumologic_webpage]: https://www.sumologic.com
[sumologic_apps]: https://www.sumologic.com/applications/

**Link to tracking Issue:** #23946

**Testing:**

- Unit tests
- Component is being used by our customers

**Documentation:** `README.md`

---------

Signed-off-by: Dominik Rosiek <drosiek@sumologic.com>
Co-authored-by: Daniel Jaglowski <jaglows3@gmail.com>
Co-authored-by: Andrzej Stencel <astencel@sumologic.com>
jmsnll pushed a commit to jmsnll/opentelemetry-collector-contrib that referenced this issue Nov 12, 2023
**Description:**

Adds Sumo Logic Processor

The Sumo Logic processor (config name: `sumologic`)
modifies the metadata on logs, metrics and traces sent to [Sumo
Logic][sumologic_webpage]
so that the Sumo Logic [apps][sumologic_apps] can make full use of the
ingested data.

[sumologic_webpage]: https://www.sumologic.com
[sumologic_apps]: https://www.sumologic.com/applications/

**Link to tracking Issue:** open-telemetry#23946

**Testing:**

- Unit tests
- Component is being used by our customers

**Documentation:** `README.md`

---------

Signed-off-by: Dominik Rosiek <drosiek@sumologic.com>
Co-authored-by: Daniel Jaglowski <jaglows3@gmail.com>
Co-authored-by: Andrzej Stencel <astencel@sumologic.com>
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 Nov 13, 2023
@andrzej-stencel
Copy link
Member

The Sumo Logic processor is now merged in contrib repository, but we need to include it in the contrib release.

@github-actions github-actions bot removed the Stale label Nov 14, 2023
RoryCrispin pushed a commit to ClickHouse/opentelemetry-collector-contrib that referenced this issue Nov 24, 2023
**Description:**

Adds Sumo Logic Processor

The Sumo Logic processor (config name: `sumologic`)
modifies the metadata on logs, metrics and traces sent to [Sumo
Logic][sumologic_webpage]
so that the Sumo Logic [apps][sumologic_apps] can make full use of the
ingested data.

[sumologic_webpage]: https://www.sumologic.com
[sumologic_apps]: https://www.sumologic.com/applications/

**Link to tracking Issue:** open-telemetry#23946

**Testing:**

- Unit tests
- Component is being used by our customers

**Documentation:** `README.md`

---------

Signed-off-by: Dominik Rosiek <drosiek@sumologic.com>
Co-authored-by: Daniel Jaglowski <jaglows3@gmail.com>
Co-authored-by: Andrzej Stencel <astencel@sumologic.com>
@sumo-drosiek
Copy link
Member Author

The Sumo Logic processor is now merged in contrib repository, but we need to include it in the contrib release.

#29509 should resolve the issue

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