diff --git a/elixir/config/runtime.exs b/elixir/config/runtime.exs index 7e3c202f7..b676fedf0 100644 --- a/elixir/config/runtime.exs +++ b/elixir/config/runtime.exs @@ -121,7 +121,10 @@ if config_env() == :prod do ############################### if System.get_env("OTLP_ENDPOINT") do + config :opentelemetry, resource_detectors: [:otel_resource_env_var, :otel_resource_app_env] + config :opentelemetry, + span_processor: :batch, traces_exporter: :otlp config :opentelemetry_exporter, diff --git a/elixir/mix.exs b/elixir/mix.exs index 05cfa2dac..76971ddad 100644 --- a/elixir/mix.exs +++ b/elixir/mix.exs @@ -72,14 +72,18 @@ defmodule Firezone.MixProject do include_executables_for: [:unix], validate_compile_env: true, applications: [ - web: :permanent + web: :permanent, + opentelemetry: :temporary, + opentelemetry_exporter: :permanent ] ], api: [ include_executables_for: [:unix], validate_compile_env: true, applications: [ - api: :permanent + api: :permanent, + opentelemetry: :temporary, + opentelemetry_exporter: :permanent ] ] ] diff --git a/terraform/environments/staging/main.tf b/terraform/environments/staging/main.tf index fdc292331..7e57aedb9 100644 --- a/terraform/environments/staging/main.tf +++ b/terraform/environments/staging/main.tf @@ -338,11 +338,6 @@ locals { name = "TELEMETRY_ENABLED" value = "false" }, - # OpenTelemetry requires an exporter to be set on every node - # { - # name = "OTLP_ENDPOINT" - # value = "http://0.0.0.0:55680", - # }, # Emails { name = "OUTBOUND_EMAIL_ADAPTER" diff --git a/terraform/modules/elixir-app/main.tf b/terraform/modules/elixir-app/main.tf index 57c950749..4b42b9a7a 100644 --- a/terraform/modules/elixir-app/main.tf +++ b/terraform/modules/elixir-app/main.tf @@ -31,7 +31,11 @@ locals { }, { name = "OTLP_ENDPOINT", - value = "127.0.0.1:4318" + value = "http://127.0.0.1:4318" + }, + { + name = "OTEL_RESOURCE_ATTRIBUTES" + value = "application.name=${local.application_name}" } ], var.application_environment_variables)