Naar hoofdinhoud gaan
Zorg ervoor dat u de AppSignal collector installeert voordat u verdergaat met deze instructies.

Installeer de OpenTelemetry-pakketten

Voeg de OpenTelemetry SDK en de OTLP-exporter toe aan de dependencies van uw applicatie:
def deps do
  [
    # andere dependencies...
    {:opentelemetry, "~> 1.3"},
    {:opentelemetry_api, "~> 1.2"},
    {:opentelemetry_exporter, "~> 1.6"},
  ]
end
Voeg ook de OpenTelemetry-instrumentatiepakketten toe voor de libraries en frameworks die uw applicatie gebruikt. Bijvoorbeeld, als u Phoenix gebruikt:
def deps do
  [
    # andere dependencies...
    {:opentelemetry_phoenix, "~> 1.1"},
    {:opentelemetry_cowboy, "~> 0.2"},
    {:opentelemetry_ecto, "~> 1.2"}
  ]
end
Voor andere libraries en frameworks kunt u OpenTelemetry-instrumentatiepakketten vinden in het OpenTelemetry-register.

Configureer OpenTelemetry in uw applicatie

Werk het bestand config/config.exs in uw applicatie bij met de OpenTelemetry-exporter en AppSignal-configuratie. Zorg ervoor dat u de onderstaande waarden bijwerkt met de naam, omgeving en push API-sleutel van uw AppSignal-applicatie, en vervang het exporter-endpoint zo nodig door het adres van uw AppSignal collector.
# Vervang deze waarden door de naam, omgeving (automatisch gedetecteerd via Mix)
# en push API-sleutel van uw AppSignal-applicatie. Deze worden gebruikt door de
# onderstaande resource-attributenconfiguratie.
name = "My app"
push_api_key = "0000-0000-0000-0000"

environment = if Kernel.function_exported?(Mix, :env, 0) do
  to_string(Mix.env())
else
  "development"
end

# Stel de naam in van de service die wordt gemonitord. Een veelgebruikte keuze is de
# naam van het gebruikte framework. Deze wordt gebruikt om traces en metrieken in AppSignal te groeperen.
service_name = "My service name"

# Vervang `http://localhost:8099` door het adres van uw AppSignal collector
# als deze op een andere host draait.
endpoint = "http://localhost:8099"

{:ok, hostname} = :inet.gethostname()
{revision, _exitcode} = System.cmd("git", ["log", "--pretty=format:%h", "-n 1"])

config :opentelemetry,
  span_processor: :batch,
  traces_exporter: :otlp,
  resource: [
    {"appsignal.config.name", name},
    {"appsignal.config.environment", environment},
    {"appsignal.config.push_api_key", push_api_key},
    {"appsignal.config.revision", revision},
    {"appsignal.config.language_integration", "elixir"},
    {"appsignal.config.app_path", File.cwd!()},
    {"host.name", hostname},
    {"service.name", service_name}
  ]

config :opentelemetry_exporter,
  otlp_protocol: :http_protobuf,
  otlp_endpoint: endpoint

Test de app!

Nu alle componenten zijn verbonden, start u uw app en test u of er gegevens binnenkomen in AppSignal. Controleer specifiek de pagina’s “Errors > Issue list” en “Performance > Traces”. Als u na het volgen van onze installatie-instructies nog steeds geen gegevens ziet in AppSignal, laat het ons weten en wij helpen u uw OpenTelemetry-installatie te voltooien!