Environment:Evidentlyai Evidently Grafana Monitoring Environment
| Knowledge Sources | |
|---|---|
| Domains | Infrastructure, Monitoring |
| Last Updated | 2026-02-14 10:00 GMT |
Overview
Docker Compose environment with PostgreSQL, Grafana, and Adminer for visualizing Evidently metrics on real-time monitoring dashboards.
Description
This environment provides a complete monitoring stack for visualizing Evidently data drift and LLM evaluation metrics. It uses Docker Compose to orchestrate PostgreSQL (for metric storage), Grafana Enterprise (for dashboards), and Adminer (for database inspection). Evidently metrics are calculated in a Python script and inserted into PostgreSQL, then visualized through preconfigured Grafana dashboards.
Usage
Use this environment for production monitoring dashboards that visualize data drift or LLM evaluation metrics over time. Required for the `Evidentlyai_Evidently_Data_Drift_Monitoring` and `Evidentlyai_Evidently_LLM_Evaluation_Monitoring` workflows.
System Requirements
| Category | Requirement | Notes |
|---|---|---|
| OS | Linux, macOS | Docker-compatible OS |
| Docker | Docker Engine + Docker Compose | v3.7+ compose file format |
| Ports | 5432, 8080, 3000 | PostgreSQL, Adminer, Grafana respectively |
| Disk | ~1GB | For Docker images and data volumes |
Dependencies
System Packages
- Docker Engine
- Docker Compose (v3.7+ file format)
Docker Images
- `postgres` (latest or `postgres:16-alpine`)
- `grafana/grafana-enterprise`
- `adminer`
Python Packages (for metrics calculation script)
- `prefect` (workflow orchestration, data drift example)
- `tqdm` (progress bars)
- `psycopg` / `psycopg_binary` (PostgreSQL driver)
- `pyarrow` (Parquet support)
- `evidently` (core library)
- `pandas`, `numpy`, `scikit-learn` (data processing)
- `matplotlib` (optional visualization)
- `openai` (LLM evaluation example only)
Credentials
The following credentials are configured in `docker-compose.yml`:
- `POSTGRES_PASSWORD`: PostgreSQL password (set in Docker Compose environment).
- `POSTGRES_USER`: PostgreSQL username (for service example: `evidently_user`).
- `POSTGRES_DB`: PostgreSQL database name (for service example: `evidently`).
Quick Install
# Clone and start the monitoring stack
cd examples/data_drift_grafana_dashboard
docker compose up -d
# Install Python dependencies for metrics calculation
pip install -r requirements.txt
Code Evidence
Docker Compose service definitions from `examples/data_drift_grafana_dashboard/docker-compose.yml:11-42`:
services:
db:
image: postgres
restart: always
environment:
POSTGRES_PASSWORD: example
ports:
- "5432:5432"
adminer:
image: adminer
restart: always
ports:
- "8080:8080"
grafana:
image: grafana/grafana-enterprise
user: "472"
ports:
- "3000:3000"
Service Docker Compose with health checks from `examples/service/docker-compose.yml:21-40`:
evidently-service:
image: evidently/evidently-service:latest
depends_on:
postgres:
condition: service_healthy
command: ["--port", "8000", "--conf-path", "/app/config.yaml"]
environment:
EVIDENTLY_DEBUG: 1
Common Errors
| Error Message | Cause | Solution |
|---|---|---|
| Port 5432 already in use | Local PostgreSQL running on same port | Stop local PostgreSQL or change the port mapping in docker-compose.yml |
| Port 3000 already in use | Another service on Grafana port | Change the Grafana port mapping in docker-compose.yml |
| Grafana datasource connection refused | PostgreSQL not ready when Grafana starts | Docker Compose uses `restart: always`; wait for PostgreSQL to be ready |
Compatibility Notes
- Docker Compose versions: The data drift example uses v3.7 format; the service example uses v3.8 format.
- Grafana user: The Grafana container runs as user "472" for correct permissions on provisioned dashboards.