Das OpenTelemetry-SDK konfigurieren
Befolgen Sie die Anweisungen in der OpenTelemetry-Dokumentation, um das SDK für Ihre Sprache einzurichten. Sie müssen das OpenTelemetry-SDK so konfigurieren, dass es die Daten an den AppSignal Collector exportiert. Der AppSignal Collector erwartet, dass Daten im OTLP-Protokollformat über HTTP gesendet werden. Oft ist es erforderlich, ein zusätzliches OpenTelemetry-Paket zu installieren, um in einem bestimmten Format zu exportieren. Der AppSignal Collector unterstützt derzeit keine Logging-Daten, daher empfehlen wir, den Logging-Exporter zu deaktivieren, um Exportfehler stillzulegen. Standardmäßig lauscht der AppSignal Collector auf Port8099. Die OpenTelemetry-Exporter müssen so konfiguriert werden, dass sie Daten an diese Endpunkte am Collector senden:
- Traces:
http://localhost:8099/v1/traces - Metrics:
http://localhost:8099/v1/metrics - Logs:
http://localhost:8099/v1/logs
/v1/traces, für Metriken auf /v1/metrics und für Logs auf /v1/logs, sodass Sie nur localhost:8099 als Endpunkt angeben müssten. Für einige Sprachen kann es jedoch notwendig sein, den gesamten Pfad anzugeben.
Wenn Sie den AppSignal Collector auf einem anderen Host ausführen, ersetzen Sie localhost durch die Adresse Ihres AppSignal Collectors.
Die OpenTelemetry-Ressource konfigurieren
Der AppSignal Collector erfordert, dass bestimmte Attribute in der OpenTelemetry-Ressource vorhanden sind. Konfigurieren Sie die OpenTelemetry-Ressource mit dem SDK mit den folgenden erforderlichen Attributen:appsignal.config.name: Der Name der Anwendung in AppSignal.appsignal.config.environment: Die Umgebung der Anwendung in AppSignal.appsignal.config.push_api_key: Der Push API-Schlüssel, der zum Senden von Daten an AppSignal verwendet werden soll. Dies kann derselbe Push API-Schlüssel sein, der bei der Installation des AppSignal Collectors konfiguriert wurde.appsignal.config.revision: Erstellt automatisch Deployments in AppSignal, indem die App-Revision angegeben wird.appsignal.config.language_integration: Legen Sie den Namen der Programmiersprache fest. Dies hilft uns, die verwendete Programmiersprache zu erkennen und zu verbessern, wie unsere Server die Daten interpretieren. Beispielwerte: “python”, “rust”, “ruby”, “elixir”, “go”, “node.js”.service.name: Der Service-Name. Siehe unten für weitere Details.host.name: Der Name des Hosts.
Einen Service-Namen wählen
Wählen Sie einen Service-Namen für Ihre App, der jede Komponente oder jeden Dienst leicht erkennbar macht. Dieser Service-Name wird verwendet, um Namespaces nach Dienst zu gruppieren. Die resultierenden Namespaces sind wie folgt formatiert:<service name>/<namespace>
Wenn der Service-Name “My service name” und der Namespace “admin” ist, wird der resultierende Namespace auf AppSignal.com zu: “My service namespace/admin”
Der wichtige Teil bei der Benennung ist, dass sie für Sie und Ihr Team sinnvoll ist. Ein Service-Name kann der Name der Anwendung, ihr Zweck oder der Name des verwendeten Frameworks sein.