DIGITALOCEAN APP PLATFORM X DATADOG
19. November 2025
Wie man Monitoring mit Datadog für Apps in DigitalOcean App Platform aktiviert.
VORAUSSETZUNGEN
In diesem Beitrag zeige ich, wie man Services innerhalb der DigitalOcean App Platform mit Datadog verknüpft. Derzeit (Stand: 07.11.2025) gibt es keine direkte Integration von Datadog für DigitalOcean. Lediglich Logs können direkt von einer App nach Datadog geschickt werden. Sobald man APM oder Error Tracking braucht, kommt man nicht um eine selbst gebaute Lösung herum.
Folgende Komponenten werden benötigt:
- DigitalOcean VPC
- DigitalOcean Firewall
- DigitalOcean Droplet (Server)
Auf dem Server wird der Datadog Agent als Docker Container ausgeführt. Dieser nimmt die Traces und andere Daten der Anwendungen entgegen und sendet sie an Datadog. Da der Port des Datadog Agents am Server geöffnet wurde, muss der Zugriff so abgesichert werden, dass der Agent nur von den gewünschten Apps genutzt werden kann. Dies geschieht, indem wir eine VPC erstellen und danach den Zugriff auf Port 8126 (Datadog Agent Port) mittels Firewall nur von diesem VPC erlauben. Alle Apps nutzen die gleiche VPC und können so mit dem Datadog Agent kommunizieren.
VPC (Virtual Private Cloud)
Eine VPC in DigitalOcean ist ein privates, isoliertes Netzwerk, das man innerhalb der DigitalOcean-Infrastruktur erstellt. Es ermöglicht, die Ressourcen (wie Droplets, Datenbanken, usw.) in einem virtuellen, voneinander abgeschotteten Netzwerkbereich zu betreiben - ähnlich wie bei AWS oder GCP.
VPC erstellen
In DigitalOcean -> Networking -> VPC auf Create VPC Network klicken. Im folgenden Fenster die passende Datencenter Region auswählen, die IP Range von DigitalOcean erzeugen lassen (Standardeinstellung) und der VPC einen Namen und Beschreibung geben.
Die erste erstellte VPC ist automatisch die Default VPC. Jede neu erstellte Komponente wird automatisch dieser VPC zugeordnet.
Server Installation
Nach der grundlegenden Server Konfiguration (siehe meinen Artikel Basic Server Security), muss zusätzlich der Datadog Agent Port geöffnet werden. Dies geschieht mit dem Befehl sudo ufw allow 8126. Da der Datadog Agent als Docker Container ausgeführt werden soll, muss Docker auf dem Server installiert werden. Eine gute Anleitung hierzu bietet Docker selbst
https://docs.docker.com/engine/install/ubuntu/
Nach der Installation wird ein Ordner innerhalb des /opt Verzeichnisses angelegt, sodass jeder Nutzer den Agent konfigurieren kann, Befehl: sudo mkdir /opt/datadog-agent.
Ich nutze gerne docker compose um Container zu konfigurieren und zu betreiben. Die folgende Datei kann hierzu genutzt werden:
services:
dd-agent:
image: datadog/agent:latest
container_name: datadog-agent
ports:
- 8126:8126
restart: always
environment:
DD_SITE: "<datadog-site>"
DD_API_KEY: "<your-api-key>"
DD_APM_ENABLED: true
DD_LOGS_ENABLED: true
DD_CONTAINER_EXCLUDE_LOGS: "name:datadog-agent"
DD_APM_NON_LOCAL_TRAFFIC: true
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /proc/:/host/proc/:ro
- /sys/fs/cgroup/:/host/sys/fs/cgroup:roWeitere Einstellungen können anhand der Datadog-Dokumentation vorgenommen werden. Wichtig ist die Zeile DD_APM_NON_LOCAL_TRAFFIC. Diese erlaubt Traces von externen Quellen außerhalb des Servers.
Mittels sudo docker compose up -d wird der Datadog Agent gestartet.
Firewall
Durch die Firewall in DigitalOcean kann der ein- und ausgehende Datenverkehr kontrolliert werden. Die Firewall kann dabei mehreren Komponenten zugeordnet werden, die damit die gleichen Netzwerkregeln bekommen. Die Firewall arbeitet dabei auf Netzwerkebene innerhalb der DigitalOcean-Infrastruktur.
Firewall erstellen
In DigitalOcean -> Networking -> Firewall auf Create Firewall klicken. Im folgenden Fenster der Firewall einen sprechenden Namen geben. In der Standardeinstellung ist bei den Inbound Rules lediglich der SSH Port von allen IPv4 und IPv6 Adressen freigegeben. Diese Einstellung muss auf umgestellt werden, damit der Server weiterhin per SSH erreichbar ist. Hierzu wird der Type auf Custom gestellt und als Port der gewünschte SSH-Port (siehe Server Installation) eingetragen.
Danach wird eine neue Regel erstellt. Der Type ist Custom, als Port wird 8126 (der Datadog Agent Port) eingestellt und danach als Sources die IP Range des VPC (bspw. 10.114.0.0/20) eingetragen.
Danach kann das zuvor erstellte Droplet unter Apply to Droplets ausgewählt werden.
Konfiguration der Anwendung
Damit die Anwendung die Traces an den erstellten Datadog Agent schicken kann, wird als DD_AGENT_HOST die private IP Adresse des Servers (bspw. 10.114.0.2) eingestellt. Dadurch schickt die Bibliothek (z.B. ddtrace) die Daten statt an localhost an den Datadog Agent, der auf dem Server läuft. Außerdem muss die App dem erstellten VPC hinzugefügt werden. Dies kann innerhalb der App unter Settings -> Region gemacht werden.
Fazit
Durch die Einschränkung der DigitalOcean App Platform, durch die man den Datadog Agent nicht nativ nutzen kann, und die fehlende direkte Integration von Datadog in DigitalOcean, ist der gezeigte Weg die einzige Möglichkeit um Anwendungen innerhalb der DigitalOcean App Platform mittels Datadog zu überwachen.
Monitoring
Server
Datadog
DigitalOcean
Firewall
Security
Fabian Clemenz
[email protected]

