360 Secure SkillHub
360 安全技能中心

Alicloud Observability Sls Log Query

核心功能:依托阿里云SLS查询分析语法与Python SDK,实现日志过滤、统计聚合,支持多日志库查询。典型场景:时间范围日志检索、错误排查、根因分析。需提前配置阿里云密钥及SLS环境变量,安装依赖SDK,可通过代码或脚本执行查询,指定语句、时间范围等参数;输出结果可保存至指定目录,含关键参数便于复现。

cinience
cinience
热度 83.06
最近更新 2026-05-11 16:23:40
分类:数据依赖:代码执行 / 第三方 API / 读写文件应用场景:数据处理 / 调试排错 / 报告撰写

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add alicloud-observability-sls-log-query
Metadata
name
alicloud-observability-sls-log-query
description
Query and troubleshoot logs in Alibaba Cloud Log Service (SLS) using query|analysis syntax and the Python SDK. Use for time-bounded log search, error investigation, and root-cause analysis workflows.
version
1.0.0

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:
    • ALIBABA_CLOUD_ACCESS_KEY_ID
    • ALIBABA_CLOUD_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["ALIBABA_CLOUD_ACCESS_KEY_ID"],
    os.environ["ALIBABA_CLOUD_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/alicloud-observability-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/alicloud-observability-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/alicloud-observability-sls-log-query
for f in skills/observability/sls/alicloud-observability-sls-log-query/scripts/*.py; do
  python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/alicloud-observability-sls-log-query/validate.txt

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

Output And Evidence

  • Save artifacts, command outputs, and API response summaries under output/alicloud-observability-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