Skip to content

Commit

Permalink
review updates
Browse files Browse the repository at this point in the history
  • Loading branch information
mdbirnstiehl committed Aug 5, 2024
1 parent c5a1ba9 commit ed20177
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 22 deletions.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Elastic Distributions for OpenTelemetry

This comment has been minimized.

Copy link
@mlunadia

mlunadia Aug 6, 2024

Contributor

@mdbirnstiehl Should we add an index or is there any other way for users can get where they want without having to find links in the paragraphs?

This comment has been minimized.

Copy link
@mdbirnstiehl

mdbirnstiehl Aug 6, 2024

Author Contributor

We could add something at the top. There's this navigation on the side, that will probably be more usable if we use the EDOT acronyms for the headings:
image

This comment has been minimized.

Copy link
@mlunadia

mlunadia Aug 6, 2024

Contributor

We could also tackle this creating a github page similar to https://aws-otel.github.io/

This comment has been minimized.

Copy link
@mdbirnstiehl

mdbirnstiehl Aug 6, 2024

Author Contributor

It's been quite a while since I've worked with GH pages, but that would definitely provide a better user experience. Could be a good step once most of the information we want is there and close to complete. Do you know of anyone that has more experience with GH pages? We could check around and see if anyone has good experience in this arena.

This comment has been minimized.

Copy link
@mlunadia

mlunadia Aug 7, 2024

Contributor

I'll have a go at it by creating an index


[OpenTelemetry](https://opentelemetry.io/docs/) is a vendor- and tool-neutral observability framework for collecting, processing, and exporting telemetry data.
The Elastic Distribution for OpenTelemetry (Elastic OTel Collector) is a supported distribution of the [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector) made up of mostly upstream components.
[OpenTelemetry](https://opentelemetry.io/docs/) is a vendor-neutral observability framework for collecting, processing, and exporting telemetry data.
The Elastic Distribution for OpenTelemetry Collector (Elastic OTel Collector) is a supported, drop-in replacement distribution of the [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector) made up of mostly upstream components.
You can send your telemetry data to Elastic Observability using OpenTelemetry the following ways:

- Collect and send logs and host metrics to [Elastic Cloud](https://cloud.elastic.co/) using the Elastic OTel Collector.
- Instrument your applications and send logs, traces, and metrics to [Elastic Cloud](https://cloud.elastic.co/) using the **Elastic Distributions for OpenTelemetry** extensions of select [OpenTelemetry language SDKs](https://opentelemetry.io/docs/languages/). The following languages are currently supported: Java, .NET, Node.js, and Python.
- Configure an upstream [custom collector](https://opentelemetry.io/docs/collector/custom-collector/) or [contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib) distribution for the collector to collect logs and metrics and send them to Elastic Observability.
- Instrument your applications and send logs, traces, and metrics to [Elastic Cloud](https://cloud.elastic.co/) using the Elastic Distributions for select [OpenTelemetry language SDKs](https://opentelemetry.io/docs/languages/). Currently, Elastic provides distributions for the following language SDKs: Java, .NET, Node.js, and Python.
- Build and configure a [custom collector](https://opentelemetry.io/docs/collector/custom-collector/) or extend the [OpenTelemetry Collector Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib) distribution to collect logs and metrics and send them to Elastic Observability.

This diagram provides a quick overview on how the different components work together. Refer to the [components](docs/collector-components.md) for a more in-depth look.

Expand All @@ -23,13 +23,13 @@ These pages detail the components and how to configure the Elastic OTel Collecto

## Collect application data with Elastic Distributions for OpenTelemetry language SDKs

Elastic offers several distributions that extend [OpenTelemetry language SDKs](https://opentelemetry.io/docs/languages/). The following languages are currently supported:
Elastic offers several Distributions that extend [OpenTelemetry language SDKs](https://opentelemetry.io/docs/languages/). The following languages are currently supported:

* [Java](https://github.com/elastic/elastic-otel-java)
* [.NET](https://github.com/elastic/elastic-otel-dotnet)
* [Node.js](https://github.com/elastic/elastic-otel-node)
* [Python](https://github.com/elastic/elastic-otel-python)

## Configure an upstream collector for Elastic
## Configure a custom collector or the OpenTelemetry Collector Contrib distribution

[Configure a custom collector or a contrib distribution of the OpenTelemetry collector](docs/configure-upstream-collector.md): Configure a [custom collector](https://opentelemetry.io/docs/collector/custom-collector/) or [contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib) distribution for the OpenTelemetry collector to collect logs and metrics and send them to Elastic Observability.
[Configure a custom collector or the OpenTelemetry Collector Contrib distribution](docs/configure-upstream-collector.md): Build and configure a [custom collector](https://opentelemetry.io/docs/collector/custom-collector/) or extend the [OpenTelemetry Collector Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib) distribution to collect logs and metrics and send them to Elastic Observability.
7 changes: 4 additions & 3 deletions docs/collector-components.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The OpenTelemetry Collector uses the following components to receive, process, a
- [Exporters](collector-components.md#exporters): Send data to the backends or destinations.
- [Extensions](collector-components.md#extensions): Provide additional functionalities and capabilities.

The default configurations of the Elastic OTel Collector follows these flows.
The default configurations of the Elastic Distribution for the OpenTelemetry Collector follows these flows.

**MacOS and Linux Host metrics:**

Expand Down Expand Up @@ -84,9 +84,9 @@ flowchart LR
style six fill: #e6f9f7,stroke:#333,stroke-width:1px
```

Refer to the following tables for more information on the components included in the Elastic Distribution for the OpenTelemetry Collector.
Refer to the following tables for more information on the components included in the Elastic OTel Collector.
Follow the links for OpenTelemetry documentation with more configuration details for each component.
To set up the collector, go to the [guided onboarding](guided-onboarding.md) or [manual configuration](manual-configuration.md) to get started.
To set up the Elastic OTel Collector, get started using the [guided onboarding](guided-onboarding.md) docs or the [manual configuration](manual-configuration.md) docs.

## Receivers

Expand All @@ -104,6 +104,7 @@ To set up the collector, go to the [guided onboarding](guided-onboarding.md) or

| Component | Description |
|---|---|
| [`elasticinframetricsprocessor`](https://github.com/elastic/opentelemetry-collector-components/blob/processor/elasticinframetricsprocessor/v0.7.1/processor/elasticinframetricsprocessor/README.md) | Processes infrastructure metrics to enhance and convert them for Elasticsearch. |
| [`attributesprocessor`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/attributesprocessor/v0.105.0/processor/attributesprocessor/README.md) | Modifies telemetry data attributes. |
| [`filterprocessor`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/filterprocessor/v0.105.0/processor/filterprocessor/README.md) | Filters telemetry data to include or exclude specific data points. |
| [`k8sattributesprocessor`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/k8sattributesprocessor/v0.105.0/processor/k8sattributesprocessor/README.md) | Enhances telemetry data with Kubernetes-specific metadata. |
Expand Down
9 changes: 6 additions & 3 deletions docs/collector-limitations.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
# Elastic Distribution for OpenTelemetry Collector limitations

The Elastic OTel Collector has the following limitations:
The Elastic Distribution for the OpenTelemetry Collector has the following limitations:

- Because of an upstream limitation, `host.network.*` metrics aren't present from the OpenTelemetry side.
- `process.state` isn't present in the OpenTelemetry host metric. It's set to a dummy value of **Unknown** in the **State** column of the host processes table.
- The Elasticsearch exporter handles the metadata fields, but **Host OS version** and **Operating system** may show as "N/A" and **Host IP** may show different values.
- The CPU scraper needs to be enabled to collect the `systm.load.cores` metric, which affects the **Normalized Load** column in the **Hosts** table and the **Normalized Load** visualization on the host detailed view.
- The Elasticsearch exporter handles the resource attributes, but **Host OS version** and **Operating system** may show as "N/A".
- The CPU scraper needs to be enabled to collect the `systm.load.cores` metric, which affects the **Normalized Load** column in the **Hosts** table and the **Normalized Load** visualization on the host detailed view.
- The [`hostmetrics receiver`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/hostmetricsreceiver) doesn't support CPU and disk metrics on MacOS. These values will stay empty for collectors running on MacOS.
- The console shows error Log messages when the [`hostmetrics receiver`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/hostmetricsreceiver) can't access some of the process information due to permission issues.
- The console shows mapping errors initially until mapping occurs.
8 changes: 4 additions & 4 deletions docs/configure-upstream-collector.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Configure an upstream collector
# Configure a custom collector or the OpenTelemetry Collector Contrib distribution

You can configure an upstream collector, like a [custom collector](https://opentelemetry.io/docs/collector/custom-collector/) or [contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib) distribution for the collector, to collect logs and metrics and send them to Elastic Observability.
You can build and configure a [custom collector](https://opentelemetry.io/docs/collector/custom-collector/) or extend the [OpenTelemetry Collector Contrib ](https://github.com/open-telemetry/opentelemetry-collector-contrib) distribution to collect logs and metrics and send them to Elastic Observability.

For a more seamless experience, use the Elastic distribution for the OpenTelemetry collector.
Refer to the [guided onboarding](guided-onboarding.md) docs or the [manual configuration](manual-configuration.md) docs for more on configuring the Elastic distribution.
For a more seamless experience, use the Elastic Distribution for the OpenTelemetry collector.
Refer to the [guided onboarding](guided-onboarding.md) docs or the [manual configuration](manual-configuration.md) docs for more on configuring the Elastic OTel collector.

## Upstream collector configuration examples
Refer to the OpenTelemetry documentation on [building a custom collector](https://opentelemetry.io/docs/collector/custom-collector/) for more on creating an upstream collector.
Expand Down
8 changes: 4 additions & 4 deletions docs/guided-onboarding.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Collect logs and metrics using the guided onboarding
The guided onboarding in Kibana or in a serverless Observability project walks you through collecting logs and metrics using the Elastic OTel Collector.
For manual configuration, refer to [Manually configure the Elastic OTel Collector](manual-configuration.md).
The guided onboarding in Kibana or in a serverless Observability project walks you through collecting logs and metrics using the Elastic Distribution for OpenTelemetry Collector.
To configure the Elastic OTel Collector manually, refer to the [manual configuration](manual-configuration.md) docs.

## Before you begin
The onboarding has the following requirements and limitations:

This comment has been minimized.

Copy link
@mlunadia

mlunadia Aug 7, 2024

Contributor

can we move the limitations to last as a separate section appart from 'before you begin'. We don't want limitations to be the first impression users get and click away into seeing limitations in detriment of getting through the flow.

This comment has been minimized.

Copy link
@mdbirnstiehl

mdbirnstiehl Aug 7, 2024

Author Contributor

@mlunadia I've added this change along with the acronym update to this PR. I think I need your review to merger or your can merge if everything looks good there.

Expand All @@ -12,14 +12,14 @@ The onboarding has the following requirements and limitations:

## Collect your logs and metrics

Follow these steps to collect logs and metrics using the Elastic OTel collector
Follow these steps to collect logs and metrics using the Elastic OTel collector:

1. Open an [Elastic Cloud](cloud.elastic.co) deployment or a serverless Observability project.
1. To open the guided onboarding, either:
1. In an Elastic Cloud deployment, open Kibana, and go to **Observability****Add Data**.
1. In a serverless Observability project, go to **Add Data**.
1. Select **Collect and analyze logs**, and then select **OpenTelemetry**.
1. Select the appropriate platform:
1. Select the appropriate platform, and complete the following:
1. For **MacOS and Linux**, copy the command, open a terminal on your host, and run the command to download and configure the OpenTelemetry collector.
1. For **Kubernetes**, download the manifest.
1. Copy the command under Step 2:
Expand Down
2 changes: 1 addition & 1 deletion docs/manual-configuration.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Manually configure the Elastic Distribution for OpenTelemetry Collector
Collecting logs and host metrics with the Elastic OTel Collector without using the [guided onboarding](guided-onboarding.md) requires some manual configuration.
Collecting logs and host metrics with the Elastic Distribution for OpenTelemetry Collector without using the [guided onboarding](guided-onboarding.md) requires some manual configuration.

## Before you begin
The Elastic OTel collector has the following requirements and limitations:
Expand Down

0 comments on commit ed20177

Please sign in to comment.