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詳細
カテゴリ:サービス
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_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