Analyses influxdb v1 http access logs for resource intensive queries
739
š Analyze InfluxDB v1 HTTP access logs to identify problematic queries that impact database performance
This Docker image contains a powerful tool for analyzing InfluxDB v1 access logs to detect queries that may cause performance issues. It validates queries against configurable filtering rules and generates detailed JSON reports.
Show help:
docker run --rm ranjan97/influxql-analyzer
Analyze a log file:
docker run --rm \
-v /var/log/influxdb/access.log:/app/logs/access.log:ro \
-v /tmp/analysis:/app/output \
ranjan97/influxql-analyzer \
-log /app/logs/access.log \
-output /app/output/results.json
# Analyze access logs with default configuration
docker run --rm \
-v /var/log/influxdb:/app/logs \
-v /tmp/results:/app/output \
ranjan97/influxql-analyzer \
-log /app/logs/access.log \
-output /app/output/analysis.json
# Mount only specific files with read-only access
docker run --rm \
-v /var/log/influxdb/access.log:/app/logs/access.log:ro \
-v /tmp/results:/app/output \
ranjan97/influxql-analyzer \
-log /app/logs/access.log \
-output /app/output/analysis.json
# Use your own filtering rules
docker run --rm \
-v /var/log/influxdb/access.log:/app/logs/access.log:ro \
-v /path/to/my_rules.yaml:/app/config/my_rules.yaml:ro \
-v /tmp/results:/app/output \
ranjan97/influxql-analyzer \
-log /app/logs/access.log \
-config /app/config/my_rules.yaml \
-output /app/output/analysis.json
| Container Path | Purpose | Required |
|---|---|---|
/app/logs | InfluxDB log files | ā Yes |
/app/output | Analysis results | ā Yes |
/app/config | Custom configuration | ā Optional |
The tool uses a YAML configuration file to define filtering rules:
Default configuration is included in the image at /app/filtering_rules.yaml. To view the default settings:
docker run --rm ranjan97/influxql-analyzer cat /app/filtering_rules.yaml
Generates JSON reports with:
:ro to prevent accidental writes{
"analysis_summary": {
"total_problematic_queries": 52,
"analysis_timestamp": "2025-08-06T04:22:09Z"
},
"problematic_queries": [
{
"LogEntry": {
"RawLine": "10.11.8.19 - root [05/Aug/2025:09:20:12 +0000] \"GET /query?chunk_size=10000&chunked=true&db=Alteryx&q=select+cron_ran_at+from+rp_seven_days.grid_barcode_mapping+where+time+%3C+%272025-08-05T04%3A48%3A00Z%27+and+time+%3Enow%28%29-30d+order+by+time+desc+limit+1 HTTP/1.1\" 200 160"
},
"HasTimeFilter": false,
"TimeRange": null,
"Issue": "BLOCKED_BY_FILTER",
"Reason": "Time range (696h25m50s) exceeds maximum allowed (480h0m0s)"
},
{
"LogEntry": {
"RawLine": "10.11.8.19 - root [05/Aug/2025:09:21:06 +0000] \"GET /query?chunk_size=10000&chunked=true&db=GreyOrange&q=select+unique_id%2Cfirst_put_time%2Cfirst_put_uom+from+rp_seven_days.slots_ageing_elk+where+time+%3E%3D+%272025-08-05+02%3A25%3A17%27+and+time%3C%3D+%272025-08-05T09%3A21%3A00Z%27+and+remaining_uom%21%3D%270%27+order+by+time+desc+limit+5000+offset+15000 HTTP/1.1\" 200 72064"
},
"HasTimeFilter": false,
"TimeRange": null,
"Issue": "BLOCKED_BY_FILTER",
"Reason": "OFFSET value (15000) exceeds maximum allowed (10000)"
}
]
}
Content type
Image
Digest
sha256:87494a74eā¦
Size
8.9 MB
Last updated
11 months ago
docker pull ranjan97/influxql-analyzer