Alicloud Observability Sls Log Query

通过 Python SDK 查询阿里云 SLS 日志,支持时间范围筛选与错误分析。

已扫描
适合谁
运维工程师、云平台开发人员
不适合谁
无阿里云账号的用户、不熟悉日志查询语法的初学者
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
中等(★★☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @cinience/alicloud-observability-sls-log-query

Skill 说明

命令、参数、文件名以原文为准

Category: service

SLS 日志查询与故障排查

使用 SLS 查询/分析语法和 Python SDK 进行日志搜索、过滤与分析。

前置条件

  • 安装 SDK(建议使用虚拟环境以避免 PEP 668 限制):
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -U aliyun-log-python-sdk
  • 配置环境变量:

- ALIBABA_CLOUD_ACCESS_KEY_ID

- ALIBABA_CLOUD_ACCESS_KEY_SECRET

- SLS_ENDPOINT(例如:cn-hangzhou.log.aliyuncs.com

- SLS_PROJECT

- SLS_LOGSTORE(支持单个值或逗号分隔的多个值)

查询语句构成

  • 查询子句:用于过滤日志(例如:status:500)。
  • 分析子句:用于统计聚合,格式为 query|analysis
  • 示例:* | SELECT status, count(*) AS pv GROUP BY status

完整语法参考:references/query-syntax.md

快速入门(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)

脚本快速启动

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

可选参数:--project--logstore(可重复指定,或用逗号分隔)、--endpoint--start--end--last-minutes--limit--parallel

故障排查脚本

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

可选参数:--error-query--group-field--limit--logstore(可重复指定,或用逗号分隔)、--parallel,以及上述时间范围相关参数。

工作流程

1) 确保日志库已启用索引(未启用索引会导致查询或分析失败)。

2) 编写查询子句,必要时追加分析子句。

3) 使用 SDK 或脚本执行查询并检查结果。

4) 通过 limit 控制返回行数;如需缩小范围,可调整时间区间。

验证步骤

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

通过标准:命令退出码为 0,且生成 output/alicloud-observability-sls-log-query/validate.txt 文件。

输出与证据

  • 将生成的文件、命令输出及 API 响应摘要保存至 output/alicloud-observability-sls-log-query/ 目录下。
  • 证据文件中应包含关键参数(如区域、资源 ID、时间范围),以确保可复现性。

参考资料

  • 语法与示例:references/query-syntax.md
  • Python SDK 初始化与查询方法:references/python-sdk.md
  • 故障排查模板:references/templates.md
  • 源列表:references/sources.md
C
@cinience

已收录 3 个 Skill

相关推荐