open-telemetry/opentelemetry-dotnet-instrumentation

[NET 8.0] [Auto Instrumentation 1.9.0] [K8s] Rule Engine Failure: One or more rules failed validation. Automatic Instrumentation won't be loaded.

Vinaum8 opened this issue · 2 comments

Bug Report

Activates RuleEngine. The default values is true. RuleEngine increases the stability of the instrumentation by validating assemblies for unsupported scenarios.

Error:
System.Exception: Rule Engine Failure: One or more rules failed validation. Automatic Instrumentation won't be loaded.

Expected behavior
I would like a clearer message about the problem, I reviewed the code and noticed that there are some mandatory rules that must be followed and that are validated at startup.

I am not excluding any processes.
I am running a supported framework.
I am running an application with a domain name other than "dotnet".

In other words, everything is fine, it should work.

Screenshots
image

Runtime environment (please complete the following information):

  • OpenTelemetry Automatic Instrumentation version: ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-dotnet:1.9.0
  • OS: K8s Rev: v1.31.2
  • .NET version: mcr.microsoft.com/dotnet/aspnet:8.0-alpine3.20

Additional context
I have already added the annotation linux-musl-x64

RassK commented

Please post internal auto-instrumentation logs
https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/blob/main/docs/config.md#internal-logs

There must be a reason (error log) just before the unhandled exception.

K8s probably benefits on OTEL_DOTNET_AUTO_LOGGER=console, so you don't have to configure volumes for file logs.
https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/blob/main/docs/config.md#global-settings

@RassK I configured the log console and it worked, I will use the log level as error and do more tests, thank you very much so far!