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

Add initial collector dashboards #246

Closed
wants to merge 10 commits into from
Closed

Add initial collector dashboards #246

wants to merge 10 commits into from

Conversation

pirgeo
Copy link
Contributor

@pirgeo pirgeo commented Jul 23, 2024

No description provided.

docs/dashboards/README.md Outdated Show resolved Hide resolved
docs/dashboards/README.md Outdated Show resolved Hide resolved
docs/dashboards/README.md Outdated Show resolved Hide resolved
docs/dashboards/README.md Outdated Show resolved Hide resolved
docs/dashboards/README.md Show resolved Hide resolved
docs/dashboards/README.md Show resolved Hide resolved
exporter:
otlp:
# the endpoint of the selfmonitoring collector. In this case, it is assumed that there is a service called `selfmon-collector` that exposes port 4317.
endpoint: selfmon-collector:4317
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"selfmon-collector" is only defined in your k8s deployment below, right? Would localhost here as well and also on bare metal deployments?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0.0.0.0 would only work if the collector sends to itself. For all other collectors it does not work. I guess we could do

Suggested change
endpoint: selfmon-collector:4317
endpoint: <location-of-your-selfmon-collector>:4317

or something similar to make it explicit.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternatively, we could think about distributing the .yaml files for Kubernetes along with the json files, but I am not sure if that wouldn't make it even more complicated

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This particular section here is about the selfmon collector scraping itself specifically, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This particular section is, but I still opted for using the name of the service as the endpoint instead of 0.0.0.0 so they are consistent. This works, and if someone is copying together yaml files I believe it's easier to have them all be the same to avoid accidentally copying the wrong one.

@arminru arminru requested a review from mviitane July 29, 2024 12:24
The `sidecar-collector` and `gateway-collectors` are used to send application telemetry to Dynatrace (e.g. traces, metrics, logs that the application produces).
Both of these collectors send only their selfmonitoring data (or internal telemetry) to the `selfmon-collector`.
The `selfmon-collector` is responsible for collecting, transforming and forwarding the internal telemetry for all collectors (including the `selfmon-collector` itself).
Only monitoring data about the collector passes through it; no monitoring data from non-collector applicaitons is sent via the `selfmon-collector`.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Only monitoring data about the collector passes through it; no monitoring data from non-collector applicaitons is sent via the `selfmon-collector`.
Only monitoring data about the collector passes through it; no monitoring data from non-collector applications is sent via the `selfmon-collector`.

The `selfmon-collector` is responsible for collecting, transforming and forwarding the internal telemetry for all collectors (including the `selfmon-collector` itself).
Only monitoring data about the collector passes through it; no monitoring data from non-collector applicaitons is sent via the `selfmon-collector`.

```mermaid
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This picture is difficult to read when having GitHub configured for the dark background.

# Inject DT_ENDPOINT and DT_API_TOKEN as environment variables. This should be the environment where the selfmonitoring data will go.
# See <https://docs.dynatrace.com/docs/shortlink/otel-getstarted-otlpexport> for instructions on which endpoint and token scope to use.
otlphttp/selfmon:
endpoint: "${DT_ENDPOINT}/api/v2/otlp"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The endpoint and api token env variables should follow the same format as in our other use cases, for example https://docs.dynatrace.com/docs/extend-dynatrace/opentelemetry/collector/use-cases/batch

exporters:
# Inject DT_ENDPOINT and DT_API_TOKEN as environment variables. This should be the environment where the selfmonitoring data will go.
# See <https://docs.dynatrace.com/docs/shortlink/otel-getstarted-otlpexport> for instructions on which endpoint and token scope to use.
otlphttp/selfmon:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
otlphttp/selfmon:
otlphttp/dynatrace:

protocol: grpc/protobuf
temporality_preference: delta

extensions: []
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
extensions: []

For me this line caused the following problem with helm:
"Error: execution error at (opentelemetry-collector/templates/NOTES.txt:24:3): [ERROR] The opentelemetry-collector chart requires that the health_check extension to be included in the extension list."

@pirgeo pirgeo closed this Sep 5, 2024
@pirgeo
Copy link
Contributor Author

pirgeo commented Sep 5, 2024

Closed in favor of #274

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants