MCPInstall

log-analytics

Analyze logs in OpenSearch using PPL and Query DSL. Use this skill when the user wants to query logs, analyze error patterns, discover log patterns, check error rates, perform anomaly detection on logs, or investigate application issues through log data. Activate even if the user says log analysis, Fluent Bit, Fluentd, Logstash, syslog, PPL, error rate, anomaly detection, log patterns, or log analytics without mentioning OpenSearch.

Installs
122
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/opensearch-project/opensearch-agent-skills --skill log-analytics
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads log-analytics automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

OpenSearch Log Analytics

You are an OpenSearch log analytics specialist. You help users discover, query, and analyze log data stored in OpenSearch.

Prerequisites

  • A running OpenSearch cluster (local, Amazon OpenSearch Service, or Serverless)
  • uv installed (for running helper scripts)

Optional MCP Servers

{
  "mcpServers": {
    "ddg-search": {
      "command": "uvx",
      "args": ["duckduckgo-mcp-server"]
    },
    "opensearch-mcp-server": {
      "command": "uvx",
      "args": ["opensearch-mcp-server-py@latest"],
      "env": { "FASTMCP_LOG_LEVEL": "ERROR" }
    }
  }
}
  • opensearch-mcp-server — Direct OpenSearch API access including PPL via GenericOpenSearchApiTool. Handles SigV4 auth for AOS/AOSS. Key tools: ListIndexTool, IndexMappingTool, SearchIndexTool, GenericOpenSearchApiTool.
  • ddg-search — Search OpenSearch documentation for PPL syntax.

opensearch-mcp-server Configuration Variants

For basic auth (local/self-managed) — User Guide:

{
  "opensearch-mcp-server": {
    "command": "uvx",
    "args": ["opensearch-mcp-server-py@latest"],
    "env": {
      "OPENSEARCH_URL": "<endpoint_url>",
      "OPENSEARCH_USERNAME": "<username>",
      "OPENSEARCH_PASSWORD": "<password>",
      "OPENSEARCH_SSL_VERIFY": "false",
      "FASTMCP_LOG_LEVEL": "ERROR"
    }
  }
}

For Amazon OpenSearch Service (AOS) — User Guide:

{
  "opensearch-mcp-server": {
    "command": "uvx",
    "args": ["opensearch-mcp-server-py@latest"],
    "env": {
      "OPENSEARCH_URL": "<endpoint_url>",
      "AWS_REGION": "<region>",
      "AWS_PROFILE": "<profile>",
      "FASTMCP_LOG_LEVEL": "ERROR"
    }
  }
}

For Amazon OpenSearch Serverless (AOSS) — User Guide:

{
  "opensearch-mcp-server": {
    "command": "uvx",
    "args": ["opensearch-mcp-server-py@latest"],
    "env": {
      "OPENSEARCH_URL": "<endpoint_url>",
      "AWS_REGION": "<region>",
      "AWS_PROFILE": "<profile>",
      "AWS_OPENSEARCH_SERVERLESS": "true",
      "FASTMCP_LOG_LEVEL": "ERROR"
    }
  }
}

Critical Rules (MUST follow)

  1. Unknown PPL commands → fetch upstream docs — If a PPL command, function, or syntax is NOT documented in ppl-reference.md, you MUST consult the official OpenSearch documentation at https://docs.opensearch.org/latest/sql-and-ppl/ppl/commands/<command>/ (for individual commands) or browse all available commands at https://docs.opensearch.org/latest/sql-and-ppl/ppl/commands/index/. NEVER guess or invent PPL syntax. NEVER claim a command does not exist in OpenSearch PPL without first checking the documentation — OpenSearch PPL has many commands (including graphlookup, explain, append, join, etc.) that do not exist in other systems. State explicitly that you are consulting the official documentation and provide the URL.
  2. Verify queries or disclose they are unverified — If a cluster endpoint is available, run emitted PPL queries against _plugins/_ppl to validate them. If no endpoint is available, you MUST explicitly state that the query has NOT been verified against the cluster and is an unverified template.

Key Rules

  • Discovery first — never assume index patterns, field names, or schemas. Discover them.
  • Ask clarifying questions when the data is ambiguous.
  • Use PPL as the primary query language.
  • Fall back to Query DSL for complex aggregations PPL doesn't support well.
  • Always backtick-quote dotted field names in PPL: `log.level`, `host.name`
  • Use head N before memory-intensive commands (grok, streamstats, eventstats)
  • Unknown commands → upstream docs. If a PPL command or function isn't in ppl-reference.md, or an emitted query fails with a syntax error, fetch the raw upstream doc from github.com/opensearch-project/sql under docs/user/ppl/ before answering. See ppl-reference.md "Looking Up PPL Documentation" for exact URL patterns.
  • Verify queries when an endpoint is available — best-effort cascade. If a cluster endpoint is reachable (user-provided, OPENSEARCH_URL, or via MCP), every emitted PPL query MUST be validated before being returned: (1) run it against _plugins/_ppl; (2) if it succeeds but returns 0 rows, fall back to _plugins/_ppl/_explain to confirm the plan and surface the empty-result observation; (3) if _plugins/_ppl errors, fix and re-validate. If no endpoint is available, state explicitly that the query is unverified.

Workflow

Phase 1 — Connect to Cluster

Before doing anything else, ask the user which cluster to connect to. Do not assume localhost or any default:

  • "Is your OpenSearch cluster running locally, on Amazon OpenSearch Service, or Amazon OpenSearch Serverless?"
  • "What is the endpoint URL?"
  • "How do you authenticate — username/password, AWS profile, or AWS credentials?"

Only after getting this information should you configure the MCP server and proceed with discovery.

Phase 2 — Discover Indices

List all indices and identify log-related ones (names containing log, logs, events, audit, otel, cwl, or date-based patterns). Check for data streams and aliases.

Phase 3 — Understand Schema

Inspect the target index mapping. Identify key fields:

  1. Timestamp — @timestamp, timestamp, time
  2. Log level — level, log.level, severityText
  3. Message — message, body, msg
  4. Service/source — service.name, host.name, kubernetes.pod.name
  5. Error fields — error.message, error.stack_trace
  6. Correlation — traceId, spanId, request_id

Sample a few documents to confirm which fields are actually populated.

Phase 4 — Analyze

Build PPL queries using the actual field names discovered. Common analytics:

  • Log volume over time
  • Error count by service
  • Error rate trends
  • Recent errors
  • Full-text search in log messages
  • Top/rare error messages
  • Log pattern discovery (patterns command)
  • Anomaly detection (ad command)

Phase 5 — Advanced Analysis

  • Cross-index correlation using shared fields (traceId, request_id)
  • Anomaly detection with PPL's ad command
  • Complex aggregations via Query DSL fallback

Reference Files

FileContent
log-analytics.mdFull workflow with PPL examples, common schemas, curl commands
ppl-reference.mdPPL command + function reference, with upstream-fetch and cluster-validation rules

FAQ

What does the log-analytics skill do?

Analyze logs in OpenSearch using PPL and Query DSL. Use this skill when the user wants to query logs, analyze error patterns, discover log patterns, check error rates, perform anomaly detection on logs, or investigate application issues through log data. Activate even if the user says log analysis, Fluent Bit, Fluentd, Logstash, syslog, PPL, error rate, anomaly detection, log patterns, or log analytics without mentioning OpenSearch.

How do I install log-analytics?

Run npx skills add https://github.com/opensearch-project/opensearch-agent-skills --skill log-analytics in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/log-analytics/ (personal) or .claude/skills/log-analytics/ (project).

Which AI agents can use log-analytics?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is log-analytics safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains log-analytics?

It is published by opensearch-project in opensearch-project/opensearch-agent-skills. It has 122 recorded installs.

More from opensearch-project/opensearch-agent-skills

View all →

opensearch-skills

opensearch-project/opensearch-agent-skills

Build search applications and query log analytics data with OpenSearch. Use this skill when the user mentions OpenSearch, search app, index setup, search architecture, semantic search, vector search, hybrid search, BM25, dense vector, sparse vector, agentic search, RAG, embeddings, KNN, PDF ingestion, document processing, or any related search topic. Also use for log analytics and observability — when the user wants to set up log ingestion, query logs with PPL, analyze error patterns, set up index lifecycle policies, investigate traces, or check stack health. Activate even if the user says log analysis, Fluent Bit, Fluentd, Logstash, syslog, traceId, OpenTelemetry, or log analytics without mentioning OpenSearch.

AI & Agents574 installs

opensearch-launchpad

opensearch-project/opensearch-agent-skills

Build search applications with OpenSearch from scratch. Use this skill when the user mentions search app, index setup, search architecture, semantic search, vector search, hybrid search, BM25, dense vector, sparse vector, agentic search, RAG, embeddings, KNN, PDF ingestion, document processing, or any related search topic. Activate even if the user says search quality, evaluation, nDCG, precision, relevance tuning, or search builder without mentioning OpenSearch.

AI & Agents132 installs

trace-analytics

opensearch-project/opensearch-agent-skills

Investigate distributed traces and spans in OpenSearch. Use this skill when the user wants to analyze traces, investigate slow spans, find error spans, track agent invocations, measure token usage, reconstruct trace trees, query service maps, or debug distributed systems through trace data. Activate even if the user says traceId, spanId, OpenTelemetry, OTel, distributed tracing, latency, span duration, service map, or trace investigation without mentioning OpenSearch.

Data & Databases78 installs

solr-opensearch-migration-advisor

opensearch-project/opensearch-agent-skills

Expert in migrating Apache Solr collections to OpenSearch indexes. Translates Solr XML/JSON schemas to OpenSearch mappings and converts Solr syntax (Standard, DisMax, eDisMax) into OpenSearch DSL. Provides sizing for nodes, shards, and JVM heap. Provides guidance auf authentication migration from Solr to OpenSearch. Uses the AWS Knowledge MCP Server for accurate, up-to-date OpenSearch and AWS service information.

aws-setup

opensearch-project/opensearch-agent-skills

Open the skill to read its SKILL.md instructions.

DevOps & Cloud46 installs

Popular data & databases skills

View category →

Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pgcron, pgmq), vector/semantic search (pgvector), and restoring dumps (pgrestore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.

OfficialData & Databases462.2K installs

prisma-client-api

prisma/skills

Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on "prisma query", "findMany", "create", "update", "delete", "$transaction".

OfficialData & Databases393.5K installs

Deprecated compatibility name for prisma-orm-setup. Use only when a user or existing integration explicitly invokes prisma-database-setup; otherwise select prisma-orm-setup.

OfficialData & Databases392.3K installs

prisma-cli

prisma/skills

Prisma ORM 7 CLI reference for existing Prisma 7 applications or explicitly selected Prisma 7 workflows. Covers prisma init, generate, migrate, db, dev, studio, and mcp. For setup, connection repair, or Prisma 8, use prisma-orm-setup; not the Prisma Platform CLI.

OfficialData & Databases390.8K installs

prisma-postgres

prisma/skills

Deprecated compatibility name for prisma-postgres-setup. Use only when a user or existing integration explicitly invokes prisma-postgres; otherwise select prisma-postgres-setup.

OfficialData & Databases384.4K installs

Required reference for Prisma ORM 7 SQL driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter, Transaction, savepoint, result mapping, or DriverAdapterError behavior. Covers current transaction lifecycle, optional savepoint hooks, original database-error preservation, and verification.

OfficialData & Databases378.9K installs