mcpField
A
alicloud-observability-sls-log-query

alicloud-observability-sls-log-query

github.com/cinienceクラウド・DevOps396340 回インストール11 週間前に更新
リポジトリ

alicloud-observability-sls-log-query について

SLS のクエリ構文と Python SDK を使って Alibaba Cloud のログを検索・調査するスキルです。ログの絞り込みや分析、グループ別のエラー確認に対応します。

主な機能

  1. 01SLS ログ検索とフィルタリング
  2. 02クエリと分析の句
  3. 03Python SDK と検索スクリプト
  4. 04グループ別トラブルシューティング

活用シーン

  1. 01エラーやステータスに一致するログの検索
  2. 02フィールド別ログ件数の集計
  3. 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.yaml
references/
python-sdk.md
query-syntax.md
sources.md
templates.md
scripts/
query_logs.py
troubleshoot.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_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. Logstore のインデックス作成が有効になっていることを確認します(インデックスがないと、クエリや分析は失敗します)。
  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

コメント