Ingest collector internal telemetry via in-process hooks#11813
Ingest collector internal telemetry via in-process hooks#11813pierrehilbert merged 50 commits intoelastic:mainfrom
Conversation
|
Pinging @elastic/elastic-agent-data-plane (Team:Elastic-Agent-Data-Plane) |
|
This pull request does not have a backport label. Could you fix it @faec? 🙏
|
|
Pinging @elastic/elastic-agent-control-plane (Team:Elastic-Agent-Control-Plane) |
|
This pull request is now in conflicts. Could you fix it? 🙏 |
|
In the test failure, the test is logging the wrong error variable. It's logging the one from elastic-agent/testing/integration/ess/restrict_upgrade_deb_test.go Lines 49 to 58 in c06e8ca |
💛 Build succeeded, but was flaky
Failed CI Steps
History
cc @faec |
* internal telemetry drafting * monitoring config plumbing * Cleaning up / commenting for review * removing no-longer-used files * cleanup, testing * cleanup, pass through remaining config * remove debug placeholders * clean up receiver code layout * remove debug startup * Make check-ci * Fix formatting in go.mod for pdata dependency * review comments * lint * fix config field name * Move receiver package * Use more translate helpers * white space * add changelog * Disable the previous (prometheus) internal telemetry ingestion component * Lint, log errors * Add remaining translated metrics * fix typo * update tests * lint * add error log * mage check * mage notice * review comment * Stop integration tests from expecting a prometheus monitoring component * Move internal telemetry factory to same module as telemetry receiver * mage check * mage notice * test fixes * adjust default poll interval * add allowable monitoring errors * Adjust expected component count * Only include the otel monitoring receiver if the otel monitoring output is present * remove checks for prometheus-related log warnings * Replace empty test error with verbose failure details * remove duplicated lines * fix error log order --------- Co-authored-by: Pierre HILBERT <pierre.hilbert@elastic.co> (cherry picked from commit 7c84fc3)
* internal telemetry drafting * monitoring config plumbing * Cleaning up / commenting for review * removing no-longer-used files * cleanup, testing * cleanup, pass through remaining config * remove debug placeholders * clean up receiver code layout * remove debug startup * Make check-ci * Fix formatting in go.mod for pdata dependency * review comments * lint * fix config field name * Move receiver package * Use more translate helpers * white space * add changelog * Disable the previous (prometheus) internal telemetry ingestion component * Lint, log errors * Add remaining translated metrics * fix typo * update tests * lint * add error log * mage check * mage notice * review comment * Stop integration tests from expecting a prometheus monitoring component * Move internal telemetry factory to same module as telemetry receiver * mage check * mage notice * test fixes * adjust default poll interval * add allowable monitoring errors * Adjust expected component count * Only include the otel monitoring receiver if the otel monitoring output is present * remove checks for prometheus-related log warnings * Replace empty test error with verbose failure details * remove duplicated lines * fix error log order --------- Co-authored-by: Pierre HILBERT <pierre.hilbert@elastic.co>
…1982) * internal telemetry drafting * monitoring config plumbing * Cleaning up / commenting for review * removing no-longer-used files * cleanup, testing * cleanup, pass through remaining config * remove debug placeholders * clean up receiver code layout * remove debug startup * Make check-ci * Fix formatting in go.mod for pdata dependency * review comments * lint * fix config field name * Move receiver package * Use more translate helpers * white space * add changelog * Disable the previous (prometheus) internal telemetry ingestion component * Lint, log errors * Add remaining translated metrics * fix typo * update tests * lint * add error log * mage check * mage notice * review comment * Stop integration tests from expecting a prometheus monitoring component * Move internal telemetry factory to same module as telemetry receiver * mage check * mage notice * test fixes * adjust default poll interval * add allowable monitoring errors * Adjust expected component count * Only include the otel monitoring receiver if the otel monitoring output is present * remove checks for prometheus-related log warnings * Replace empty test error with verbose failure details * remove duplicated lines * fix error log order --------- (cherry picked from commit 7c84fc3) Co-authored-by: Fae Charlton <fae.charlton@elastic.co> Co-authored-by: Pierre HILBERT <pierre.hilbert@elastic.co> Co-authored-by: Khushi Jain <khushi.jain@elastic.co> Co-authored-by: Michel Laterman <82832767+michel-laterman@users.noreply.github.com> Co-authored-by: Vihas Makwana <121151420+VihasMakwana@users.noreply.github.com>
What does this PR do?
Add a custom telemetry factory and receiver to the OTel collector build to support backwards-compatible ingestion of Collector metrics as ECS metrics that can be viewed in existing Agent dashboards (see #10220 for context on the prometheus-based approach this replaces).
Checklist
./changelog/fragmentsusing the changelog toolHow to test this PR locally
Running Agent with metrics monitoring enabled and any components using the OTel runtime, you should see collector metric data appear in the
metrics.elastic_agent*datastreams.Related issues