diff --git a/content/en/docs/collector/internal-telemetry.md b/content/en/docs/collector/internal-telemetry.md index f125988bdbe8..473de3f2ea06 100644 --- a/content/en/docs/collector/internal-telemetry.md +++ b/content/en/docs/collector/internal-telemetry.md @@ -43,6 +43,22 @@ service: port: 8888 ``` +Alternatively, the Collector can push its internal metrics via +to an OTLP backend via the following configuration: + +```yaml + +service: + telemetry: + metrics: + readers: + - periodic: + exporter: + otlp: + protocol: grpc/protobuf + endpoint: http://localhost:14317 +``` + You can adjust the verbosity of the Collector metrics output by setting the `level` field to one of the following values: @@ -151,69 +167,6 @@ Note that the `tracer_provider` section there corresponds to `traces` here. [kitchen-sink-config]: https://github.com/open-telemetry/opentelemetry-configuration/blob/main/examples/kitchen-sink.yaml -### Self-monitoring - -The Collector can be configured to push its own telemetry to an -[OTLP receiver](https://github.com/open-telemetry/opentelemetry-collector/tree/main/receiver/otlpreceiver) -and send the data through configured pipelines. In the following example, the -Collector is configured to push metrics, traces, and logs every 10s using OTLP -gRPC to `localhost:14317`: - -```yaml -receivers: - otlp/internal: - protocols: - grpc: - endpoint: localhost:14317 -exporters: - debug: -service: - pipelines: - metrics: - receivers: [otlp/internal] - exporters: [debug] - traces: - receivers: [otlp/internal] - exporters: [debug] - telemetry: - metrics: - readers: - - periodic: - interval: 10000 - exporter: - otlp: - protocol: grpc/protobuf - endpoint: http://localhost:14317 - traces: - processors: - - batch: - exporter: - otlp: - protocol: grpc/protobuf - endpoint: http://localhost:14317 - logs: - processors: - - batch: - exporter: - otlp: - protocol: grpc/protobuf - endpoint: http://localhost:14317 -``` - -{{% alert title="Caution" color="warning" %}} - -When self-monitoring, the Collector collects its own telemetry and sends it to -the desired backend for analysis. This can be a risky practice. If the Collector -is underperforming, its self-monitoring capability could be impacted. As a -result, the self-monitored telemetry might not reach the backend in time for -critical analysis. - -Moreover, sending internal telemetry through the Collector's own pipelines can -create a continuous loop of spans, metric points, or logs, putting undue strain -on the Collector's performance. This setup should not be used in production. - -{{% /alert %}} - ## Types of internal telemetry The OpenTelemetry Collector aims to be a model of observable service by clearly