关于 alicloud-observability-sls-log-query
用于通过 SLS 查询语法和 Python SDK 搜索及排查 Alibaba Cloud 日志的技能,提供日志过滤、分析和分组排查脚本。
主要功能
- 01SLS 日志搜索与过滤
- 02查询和分析子句
- 03Python SDK 与查询脚本
- 04分组故障排查脚本
适用场景
- 01查找匹配错误或状态的日志
- 02按字段汇总日志数量
- 03检查指定时间段内的错误
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cinience/ alicloud-skills --skill alicloud-observability-sls-log-query安装后在 Claude Code 中输入/alicloud-observability-sls-log-query确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/python-sdk.mdquery-syntax.mdsources.mdtemplates.mdscripts/query_logs.pytroubleshoot.py详细介绍
Category: 服务
SLS 日志查询与故障排查
使用 SLS query|analysis 语法和 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_IDALIBABA_CLOUD_ACCESS_KEY_SECRETSLS_ENDPOINT(例如cn-hangzhou.log.aliyuncs.com)SLS_PROJECTSLS_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,以及上述时间范围参数。
工作流
- 确认已启用 Logstore 索引(未启用索引时,查询和分析会失败)。
- 编写查询子句,并在需要时添加分析子句。
- 使用 SDK/脚本执行并检查结果。
- 使用
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
评论
支持 Markdown