Use Cases
Common Use Cases
- Centralized log viewing
- Error rate tracking
- Request tracing
- Performance monitoring
Before You Begin
Prerequisites
- Elasticsearch cluster with log data
- Grafana instance
- Logs shipped to Elasticsearch via Filebeat/Fluentd
Walkthrough
Step-by-Step Guide
1
Configure Elasticsearch Data Source
Add Elasticsearch as a Grafana data source via MCP.
2
Create Log Explorer Panel
Build a Grafana panel that queries Elasticsearch for log entries.
3
Add Metric Panels
Create panels showing error rates, response times, and request volumes.
async function createLogDashboard(indexPattern) {
await grafana.createDashboard({
title: "Application Logs",
panels: [
{ title: "Log Stream", type: "logs", datasource: "Elasticsearch", target: { query: "*", index: indexPattern } },
{ title: "Error Rate", type: "timeseries", target: { query: "level:error", metric: "count", interval: "1m" } },
{ title: "Top Errors", type: "table", target: { query: "level:error", metric: "count", groupBy: "message.keyword", size: 10 } }
]
});
}4
Set Up Alerts
Configure alerts for error rate spikes and new error types.
Examples
Code Examples
typescript
Log Search
async function searchLogs(query, timeRange) {
return await elasticsearch.search({
index: "logs-*",
body: { query: { bool: { must: [{ query_string: { query } }, { range: { "@timestamp": { gte: timeRange.from, lte: timeRange.to } } }] } } }
});
}Help
Troubleshooting
How do I handle large log volumes?+
Queries are slow on large indices+
Quick Info
DifficultyIntermediate
Time Estimate1 hour
Tools
Elasticsearch MCP ServerGrafana MCP Server