# SGLang Monitoring Setup This directory contains a ready-to-use monitoring setup for SGLang using Prometheus and Grafana. ## Prerequisites - Docker and Docker Compose installed - SGLang server running with metrics enabled ## Usage 1. Start your SGLang server with metrics enabled: ```bash python -m sglang.launch_server --model-path meta-llama/Meta-Llama-3.1-8B-Instruct --port 30000 --enable-metrics ``` By default, the metrics server will run on `127.0.0.1:30000`. 2. Start the monitoring stack: ```bash cd examples/monitoring docker compose up ``` 3. Access the monitoring interfaces: - Grafana: [http://localhost:3000](http://localhost:3000) - Prometheus: [http://localhost:9090](http://localhost:9090) Default Grafana login credentials: - Username: `admin` - Password: `admin` You'll be prompted to change the password on first login. 4. The SGLang dashboard will be automatically available in the "SGLang Monitoring" folder. ## Troubleshooting ### Port Conflicts If you see errors like "port is already allocated": 1. Check if you already have Prometheus or Grafana running: ```bash docker ps | grep -E 'prometheus|grafana' ``` 2. Stop any conflicting containers: ```bash docker stop ``` 3. Ensure no other services are using ports 9090 and 3000: ```bash lsof -i :9090 lsof -i :3000 ``` ### Connection Issues If Grafana cannot connect to Prometheus: 1. Check that both services are running 2. Verify the datasource configuration in Grafana 3. Check that your SGLang server is properly exposing metrics ## Configuration - Prometheus configuration: `prometheus.yaml` - Docker Compose configuration: `docker-compose.yaml` - Grafana datasource: `grafana/datasources/datasource.yaml` - Grafana dashboard configuration: `grafana/dashboards/config/dashboard.yaml` - SGLang dashboard JSON: `grafana/dashboards/json/sglang-dashboard.json` ## Customization You can customize the monitoring setup by modifying the configuration files as needed.