sequenceDiagram
participant U as User/Client
participant T as Traefik (Reverse Proxy)
participant K as Kubernetes Service
participant C as Consul (Service Discovery)
participant P as Prometheus (Metrics Scraper)
participant L as Loki (Log Aggregator)
participant G as Grafana (Dashboard)
%% Client Request Flow
U->>T: Send HTTP/S Request
T->>K: Forward Request
K->>C: Query for Service Endpoint
C-->>K: Return Service Info
K->>U: Process Request & Return Response
%% Monitoring Interactions
P->>K: Periodically scrape metrics
K->>L: Push logs asynchronously
G->>P: Query metrics for dashboards
-
User/Client sends an HTTP/S request that first reaches Traefik, which acts as the reverse proxy.
-
Traefik forwards the request to a service running inside the Kubernetes Cluster.
-
The Kubernetes service then queries Consul to perform service discovery and get the appropriate service endpoint.
-
Consul returns the necessary service information.
-
The service in Kubernetes processes the request and sends back a response directly to the User/Client.
-
Prometheus is configured to periodically scrape metrics from the services hosted in Kubernetes.
-
The Kubernetes service pushes logs asynchronously to Loki for log aggregation.
-
Grafana queries Prometheus to visualize the collected metrics in dashboard form.