mcpField
A
aliyun-sls-log-query

aliyun-sls-log-query

github.com/cinienceCloud & DevOps396105 installsUpdated 11w ago
Repository

About aliyun-sls-log-query

This skill uses SLS query syntax and the Python SDK to search, filter, and analyze logs for operators investigating errors or log data. It includes query scripts and a field-based grouping workflow for troubleshooting.

Key features

  1. 01Search and filter logs by conditions
  2. 02Aggregate data with analysis clauses
  3. 03Set time ranges and result limits in scripts
  4. 04Group errors by a field for troubleshooting
  5. 05Query multiple Logstores

Use cases

  1. 01Find recent logs with HTTP 500 errors
  2. 02Count occurrences of each status code
  3. 03Group and inspect incidents by status

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/cinience/alicloud-skills --skill aliyun-sls-log-query

After installing, type/aliyun-sls-log-queryin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

agents/
openai.yaml
references/
python-sdk.md
query-syntax.md
sources.md
templates.md
scripts/
query_logs.py
troubleshoot.py

Details

From the project README

Category: service

SLS Log Query and Troubleshooting

Use SLS query|analysis syntax and Python SDK for log search, filtering, and analytics.

Prerequisites

  • Install SDK (virtual environment recommended to avoid PEP 668 restrictions):
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -U aliyun-log-python-sdk
  • Configure environment variables:
    • ALIBABACLOUD_ACCESS_KEY_ID
    • ALIBABACLOUD_ACCESS_KEY_SECRET
    • SLS_ENDPOINT (e.g. cn-hangzhou.log.aliyuncs.com)
    • SLS_PROJECT
    • SLS_LOGSTORE(supports a single value or comma-separated values)

Query Composition

  • Query clause: filters logs (e.g. status:500).
  • Analysis clause: statistical aggregation, format query|analysis.
  • Example: * | SELECT status, count(*) AS pv GROUP BY status

See references/query-syntax.md for full syntax.

Quickstart (Python SDK)

import os
import time
from aliyun.log import LogClient, GetLogsRequest

client = LogClient(
    os.environ["SLS_ENDPOINT"],
    os.environ["ALIBABACLOUD_ACCESS_KEY_ID"],
    os.environ["ALIBABACLOUD_ACCESS_KEY_SECRET"],
)

project = os.environ["SLS_PROJECT"]
logstore = os.environ["SLS_LOGSTORE"]

query = "status:500"
start_time = int(time.time()) - 15 * 60
end_time = int(time.time())

request = GetLogsRequest(project, logstore, start_time, end_time, query=query)
response = client.get_logs(request)
for log in response.get_logs():
    print(log.contents)

Script quickstart

python skills/observability/sls/aliyun-sls-log-query/scripts/query_logs.py \
  --query "status:500" \
  --last-minutes 15

Optional args: --project, --logstore(repeatable, or comma-separated values), --endpoint, --start, --end, --last-minutes, --limit, --parallel.

Troubleshooting script

python skills/observability/sls/aliyun-sls-log-query/scripts/troubleshoot.py \
  --group-field status \
  --last-minutes 30 \
  --limit 20

Optional args: --error-query, --group-field, --limit, --logstore(repeatable, or comma-separated values), --parallel, plus the time range args above.

Workflow

  1. Ensure Logstore indexing is enabled (queries/analysis fail without index).
  2. Write query clause and append analysis clause when needed.
  3. Execute with SDK/script and inspect results.
  4. Control returned rows with limit; narrow time range when needed.

Validation

mkdir -p output/aliyun-sls-log-query
for f in skills/observability/sls/aliyun-sls-log-query/scripts/*.py; do
  python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/aliyun-sls-log-query/validate.txt

Pass criteria: command exits 0 and output/aliyun-sls-log-query/validate.txt is generated.

Output And Evidence

  • Save artifacts, command outputs, and API response summaries under output/aliyun-sls-log-query/.
  • Include key parameters (region/resource id/time range) in evidence files for reproducibility.

References

  • Syntax and examples:references/query-syntax.md

  • Python SDK initialization and queries:references/python-sdk.md

  • Troubleshooting templates:references/templates.md

  • Source list: references/sources.md

Comments

Markdown supported