Überwachung und Verfolgung von PHP-Anwendungen über Docker Compose, Nginx und MariaDB
Mit der Entwicklung von Cloud Computing und Container-Technologie werden immer mehr Anwendungen in Docker-Containern bereitgestellt. In diesem Fall wird die Überwachung und Nachverfolgung von Anwendungen zu einem wichtigen Thema. In diesem Artikel wird vorgestellt, wie PHP-Anwendungen über Docker Compose, Nginx und MariaDB überwacht und verfolgt werden, und es werden konkrete Codebeispiele gegeben.
1. Vorbereitung
Bevor Sie beginnen, müssen Sie die folgende Umgebung vorbereiten:
2. Erstellen Sie eine Docker Compose-Datei
Erstellen Sie eine Datei mit dem Namen docker-compose.yml in einem beliebigen Verzeichnis. Der Dateiinhalt lautet wie folgt:
version: '3' services: web: build: . ports: - "80:80" db: image: mariadb environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=test_db volumes: - ./data:/var/lib/mysql
In der obigen Datei haben wir zwei Dienste erstellt, einer ist ein Webdienst , einer davon ist der Datenbankdienst. Der Webdienst erstellt ein Image der Anwendung und ordnet Port 80 dem Host zu. Der DB-Dienst verwendet das Mariadb-Image, gibt das Root-Passwort und den Datenbanknamen an und speichert die Daten im Verzeichnis ./data des Hosts.
3. Erstellen Sie eine Nginx-Konfigurationsdatei
Erstellen Sie eine Datei mit dem Namen nginx.conf im selben Verzeichnis wie docker-compose.yml. Der Dateiinhalt lautet wie folgt:
worker_processes 1; events { worker_connections 1024; } http { server { listen 80; server_name localhost; location / { proxy_pass http://web; } } }
In der obigen Datei haben wir Nginx so konfiguriert, dass es den Port überwacht 80, Und leiten Sie die Anfrage an den Docker-Dienst namens web weiter.
4. PHP-Anwendungscode erstellen
Erstellen Sie eine Datei mit dem Namen index.php im selben Verzeichnis wie docker-compose.yml. Der Dateiinhalt lautet wie folgt:
<?php $dbhost = 'db'; $dbuser = 'root'; $dbpass = 'root'; $dbname = 'test_db'; $conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname); if($conn->connect_error) { die("连接失败:" . $conn->connect_error); } echo "连接成功"; $conn->close(); ?>
In der obigen Datei stellen wir über MySQL eine Verbindung zu MariaDB her Erweiterungsdatenbank und drucken Sie eine Meldung über die erfolgreiche Verbindung aus. 5. Erstellen und ausführen In der Lage sein, es zu einer erfolgreichen Verbindungsmeldung zu sehen.
6. Überwachung und Nachverfolgung
Um PHP-Anwendungen zu überwachen und zu verfolgen, können wir einige gängige Tools verwenden, wie zum Beispiel:
Prometheus: wird zum Sammeln und Speichern von Überwachungsindikatordaten verwendet. Grafana: Wird zur Visualisierung von Überwachungsindikatordaten verwendet. Zipkin: Wird zum Verfolgen von Anfragen in Anwendungen verwendet.$ docker-compose build $ docker-compose up -d
prometheus: image: prom/prometheus volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml ports: - "9090:9090" grafana: image: grafana/grafana volumes: - ./grafana-data:/var/lib/grafana ports: - "3000:3000"
In der obigen Datei ist Prometheus konfiguriert um regelmäßig Indikatordaten über den Webdienst zu sammeln.
Starten Sie Prometheus und Grafana, indem Sie den folgenden Befehl ausführen, um den Container neu zu erstellen und auszuführen:
global: scrape_interval: 15s scrape_configs: - job_name: 'php-app' static_configs: - targets: ['web:80']
Öffnen Sie http://localhost:3000 in Ihrem Browser und melden Sie sich mit dem Standardbenutzernamen und -kennwort (admin/admin) bei Grafana an. Dann Konfigurieren Sie die Prometheus-Datenquelle und erstellen Sie Dashboards, um Überwachungsmetrikdaten zu visualisieren.
Was die Konfiguration von Zipkin betrifft, können Sie sich zur Vervollständigung auf die offizielle Dokumentation und die zugehörigen Beispielcodes beziehen.
Zusammenfassung
Mit Docker Compose, Nginx und MariaDB können wir ganz einfach eine Überwachungs- und Tracking-Umgebung für PHP-Anwendungen erstellen. Durch die Konfiguration von Prometheus und Grafana können Sie Indikatordaten zur Anwendungsüberwachung sammeln und visualisieren. Durch die Konfiguration von Zipkin können Sie Anfragen in Ihrer Anwendung verfolgen. Das Obige ist ein einfaches Beispiel. Sie können es entsprechend Ihren tatsächlichen Anforderungen und Ihrer Umgebung anpassen und anpassen. Ich hoffe, dieser Artikel hilft Ihnen!
Das obige ist der detaillierte Inhalt vonÜberwachen und verfolgen Sie PHP-Anwendungen über Docker Compose, Nginx und MariaDB. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!