Troubleshooting
This guide helps diagnose and resolve common issues with IceGate.
Service Health
Check Service Status
# Query service
curl http://localhost:3100/ready
# Ingest service
curl http://localhost:4318/health
View Service Logs
# Docker Compose
docker compose logs -f query
docker compose logs -f ingest
docker compose logs -f maintain
Connection Issues
Cannot Connect to Query Service
Symptoms:
- Connection refused on port 3100
- Timeout errors
Solutions:
-
Verify service is running:
docker ps | grep query -
Check port binding:
netstat -tlnp | grep 3100 -
Check service logs for errors:
docker compose logs query | tail -100
Cannot Connect to Object Storage
Symptoms:
- "Connection refused" to the object store
- S3 authentication errors
Solutions:
-
On a local RustFS deployment, verify the object store is running. The readiness path is RustFS's own - on AWS S3 or another provider, skip to step 3 instead:
curl http://localhost:9000/health/ready -
Check credentials:
echo $AWS_ACCESS_KEY_ID echo $AWS_SECRET_ACCESS_KEY -
Test the S3 connection. Drop
--endpoint-urlwhen the backend is real AWS S3:aws s3 ls --endpoint-url http://localhost:9000
Cannot Connect to Catalog
Symptoms:
- "Catalog unavailable" errors
- Table creation failures
Solutions:
-
On the default S3 catalog, confirm the catalog state object is readable - there is no catalog service to check:
aws --endpoint-url http://localhost:9000 s3 ls s3://warehouse/catalog/root.jsonA missing
root.jsonmeans migration never ran. Runmaintain migrate createbefore anything else. -
Check catalog configuration:
catalog: backend: !s3 warehouse: catalog warehouse: s3://warehouse/ properties: bucket: warehouse region: us-east-1 endpoint: http://rustfs:9000 -
On the REST backend only, verify Nessie is running:
curl http://localhost:19120/api/v1/trees
Query Issues
Query Returns Empty Results
Possible Causes:
- Wrong tenant ID
- Time range outside data window
- Data not yet compacted
Solutions:
-
Verify tenant header:
curl -H "X-Scope-OrgID: correct-tenant" ... -
Check time range:
# List available time range curl http://localhost:3100/loki/api/v1/labels \ -H "X-Scope-OrgID: my-tenant" -
Check WAL for recent data:
aws s3 ls s3://warehouse/wal/ --recursive
Query Timeout
Symptoms:
- Queries take too long
- 504 Gateway Timeout
Solutions:
-
Add time range filter:
{service_name="api"} | timestamp > 1h ago -
Reduce result limit:
curl ... --data-urlencode 'limit=100' -
Check query plan:
curl http://localhost:3100/loki/api/v1/explain \ --data-urlencode 'query={service_name="api"}' \ -H "X-Scope-OrgID: my-tenant"
Invalid Query Syntax
Symptoms:
- "parse error" responses
- 400 Bad Request
Solutions:
-
Validate LogQL syntax:
- Labels must be in braces:
{service_name="api"} - String values in quotes:
"value" - Duration format:
[5m],[1h]
- Labels must be in braces:
-
Check for unsupported features:
- Pipeline parsers (json, logfmt) not yet supported
- Some aggregations not implemented
Ingestion Issues
Data Not Appearing
Symptoms:
- Sent data but query returns empty
- No errors from ingest
Solutions:
-
Verify data was accepted:
curl -v -X POST http://localhost:4318/v1/logs \ -H "X-Scope-OrgID: my-tenant" \ -H "Content-Type: application/json" \ -d '...' -
Check WAL files:
aws s3 ls s3://warehouse/wal/logs/ --recursive -
Wait for compaction (or query WAL directly)
Ingestion Errors
Common Errors:
400 Bad Request: Invalid OTLP format503 Service Unavailable: Storage unavailable429 Too Many Requests: Rate limited
Solutions:
- Validate OTLP payload format
- Check storage connectivity
- Reduce ingestion rate or scale ingest replicas
Performance Issues
Slow Queries
-
Add partition filters:
{tenant_id="my-tenant", service_name="api"} -
Limit time range:
--data-urlencode 'start=1704067200' --data-urlencode 'end=1704153600' -
Check table statistics:
SHOW STATS FOR icegate.logs;
High Memory Usage
- Reduce concurrent queries
- Add query limits
- Increase service memory allocation
Getting Help
If issues persist:
-
Collect diagnostic information:
# Service logs docker compose logs > logs.txt # System info docker stats > stats.txt -
Check GitHub Issues
-
Include:
- IceGate version
- Configuration (sanitized)
- Error messages
- Steps to reproduce
Next Steps
- Review Maintenance procedures
- Check Deployment configuration
- Understand the Architecture