huawei-cloud-lts-manage について
hcloud CLI で Huawei Cloud LTS のリソースを管理するスキルです。ログ運用、障害診断、セキュリティ対応向けに、ロググループ、ストリーム、インデックス、転送、アラーム、検索を扱います。
主な機能
- 01ロググループとストリームの管理
- 02インデックスと OBS 転送の設定
- 03アラームルールの作成・更新・検索
- 04キーワードと期間によるログ検索
- 05ログコンテキストと分布ヒストグラムの確認
- 06削除前に明示的な確認を要求
活用シーン
- 01期間とキーワードで障害ログを調査
- 02ログインデックスと OBS 転送の設定
- 03保持期間とアラームルールの管理
- 04セキュリティ対応時のアラーム履歴確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ huaweicloud/ huaweicloud-skills --skill huawei-cloud-lts-manageインストール後、Claude Code で/huawei-cloud-lts-manageを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/acceptance-criteria.mdcli-installation-guide.mddataflow-diagram.mdiam-policies.mdlts-alarm-reference.mdverification-method.mdscripts/test-cli-commands.shtemplates/test-vars.json詳細
Huawei Cloud LTS ログサービス管理
概要
このスキルでは、hcloud CLI を使用して Huawei Cloud LTS(Log Tank Service / 云日志服务)リソースを管理します。 ロググループ、ログストリーム、インデックス、転送タスク、アラームルールのライフサイクル全体に対応し、 障害診断やセキュリティイベントへの対応に向けたログ検索も行えます。
機能:
| カテゴリ | 操作 |
|---|---|
| クエリ | ロググループ、ログストリーム、インデックス、転送、アラームルール、アラーム履歴の一覧表示。ログ検索(キーワード、構造化、コンテキスト、ヒストグラム) |
| 作成 | ロググループ、ログストリーム、全文インデックス、OBS 転送タスク、キーワードアラームルール、SQL アラームルールの作成 |
| 更新 | ロググループの TTL、ログストリームの TTL/ストレージ、転送設定、アラームルール、アラームのステータス、構造設定の更新 |
| 削除 | ロググループ、ログストリーム、転送、アラームルールの削除(⚠️ 確認が必要) |
| 診断 | キーワード/時間によるログ検索で障害を特定。ログコンテキストのクエリ。ログ分布ヒストグラムの表示 |
対応範囲:このスキルは、Huawei Cloud LTS(Log Tank Service / 云日志服务)の ロググループ/ログストリーム/インデックス/転送/アラーム/検索の管理のみをサポートします。その他のクラウドサービス(ECS、データベースなど)はサポートしません。LTS 以外のリクエストは受け付けず、 適切なスキルまたはコンソールを案内してください。
前提条件
- hcloud CLI がインストールされ、認証済みであること —
references/cli-installation-guide.mdを参照 - Huawei Cloud AK/SK が
hcloud configure(CLI プロファイル)で設定されていること - IAM 権限 — 最小権限ポリシーについては
references/iam-policies.mdを参照 - リージョン:LTS はリージョンごとに提供されます。対象リージョンを指定するには
--cli-regionを使用します(例:cn-north-4、ap-southeast-1)
ワークフロー
1. Identify target log group/stream (ListLogGroups → ListLogStreams)
2. Query or manage resources based on user intent:
├── Query: list/show logs, indexes, transfers, alarms
├── Create: create log group/stream/index/transfer/alarm
├── Update: modify TTL/index/transfer/alarm config
├── Delete: remove resources (⚠️ confirmation required)
└── Diagnose: search logs with keywords/time range
3. Return results (query returns JSON; mutations return resource config snapshot)
基本コマンド
クエリ — ロググループとログストリーム
# List all log groups
hcloud LTS ListLogGroups --cli-region={region} --project_id={project_id}
# List log streams under a group
hcloud LTS ListLogStreams --cli-region={region} --project_id={project_id} \
--log_group_name={log_group_name}
# Query index configuration for a log stream
hcloud LTS ListLogStreamIndex --cli-region={region} --project_id={project_id} \
--group_id={group_id} --stream_id={stream_id}
クエリ — 転送タスク
# List all transfer tasks
hcloud LTS ListTransfers --cli-region={region} --project_id={project_id}
# Filter by transfer type (OBS/DIS/DMS)
hcloud LTS ListTransfers --cli-region={region} --project_id={project_id} \
--log_transfer_type=OBS
クエリ — アラームルールと履歴
# List keyword alarm rules
hcloud LTS ListKeywordsAlarmRules --cli-region={region} --project_id={project_id}
# List SQL alarm rules
hcloud LTS ListSqlAlarmRules --cli-region={region} --project_id={project_id}
# Query active or history alarms (type: active_alert/history_alert)
# --whether_custom_field=false requires --time_range (minutes); true requires --start_time/--end_time (ms)
hcloud LTS ListActiveOrHistoryAlarms --cli-region={region} --project_id={project_id} \
--domain_id={domain_id} --type=history_alert --whether_custom_field=false --time_range=30 --limit=10
クエリ — ログ検索(診断)
# Search logs by keyword and time range
hcloud LTS ListLogs --cli-region={region} --project_id={project_id} \
--log_group_id={log_group_id} --log_stream_id={log_stream_id} \
--start_time={start_time} --end_time={end_time} \
--keywords="ERROR" --limit=50 --is_desc=true --highlight=true
# Get log context around a specific line (for fault diagnosis)
hcloud LTS ListLogContext --cli-region={region} --project_id={project_id} \
--log_group_id={log_group_id} --log_stream_id={log_stream_id} \
--__time__={timestamp} --line_num={line_num} \
--backwards_size=10 --forwards_size=10
# Get log distribution histogram (for trend analysis)
hcloud LTS ListLogHistogram --cli-region={region} --project_id={project_id} \
--group_id={group_id} --stream_id={stream_id} \
--start_time={start_time} --end_time={end_time} \
--key_word="ERROR" --step_interval=3600000
# Query structured logs with SQL expression (requires the log stream to have a struct config)
# Supported SQL: GROUP BY / LIKE / WHERE
hcloud LTS ListQueryStructuredLogs --cli-region={region} --project_id={project_id} \
--log_group_id={log_group_id} --log_stream_id={log_stream_id} \
--start_time={start_time} --end_time={end_time} \
--sql_expression="select * where level like '%ERROR%'"
作成 — ロググループとログストリーム
# Create a log group with TTL (days)
hcloud LTS CreateLogGroup --cli-region={region} --project_id={project_id} \
--log_group_name="my-log-group" --ttl_in_days=30
# Create a log stream under a group
# Note: log stream TTL must equal the TTL of the log group it belongs to
# (e.g. `--ttl_in_days={log_group_ttl}` where {log_group_ttl} is the owning group's TTL),
# otherwise the API returns a USE_ERROR.
hcloud LTS CreateLogStream --cli-region={region} --project_id={project_id} \
--log_group_id={log_group_id} --log_stream_name="my-log-stream" --ttl_in_days={log_group_ttl}
作成 — インデックス
# Create full-text index for a log stream
hcloud LTS CreateLogStreamIndex --cli-region={region} --project_id={project_id} \
--group_id={group_id} --stream_id={stream_id} --logStreamId={stream_id} \
--fullTextIndex.enable=true --fullTextIndex.caseSensitive=false \
--fullTextIndex.includeChinese=true --fullTextIndex.tokenizer=" "
作成 — 転送タスク(OBS へ)
# Create a transfer task to OBS bucket
hcloud LTS CreateTransfer --cli-region={region} --project_id={project_id} \
--log_group_id={log_group_id} \
--log_streams.1.log_stream_id={stream_id} --log_streams.1.log_stream_name={stream_name} \
--log_transfer_info.log_transfer_type=OBS \
--log_transfer_info.log_transfer_mode=cycle \
--log_transfer_info.log_storage_format=RAW \
--log_transfer_info.log_transfer_status=ENABLE \
--log_transfer_info.log_transfer_detail.obs_bucket_name={bucket_name} \
--log_transfer_info.log_transfer_detail.obs_period=5 \
--log_transfer_info.log_transfer_detail.obs_period_unit=min
作成 — アラームルール
# Create a keyword alarm rule
hcloud LTS CreateKeywordsAlarmRule --cli-region={region} --project_id={project_id} \
--domain_id={domain_id} \
--keywords_alarm_rule_name="error-alarm" \
--keywords_alarm_level=Critical \
--keywords_requests.1.log_group_id={group_id} \
--keywords_requests.1.log_stream_id={stream_id} \
--keywords_requests.1.keywords="ERROR" \
--keywords_requests.1.condition=">=" --keywords_requests.1.number=1 \
--keywords_requests.1.search_time_range=5 --keywords_requests.1.search_time_range_unit=minute \
--frequency.type=CRON --frequency.cron_expr="0 */5 * * * *" --notification_frequency=5
# Create a SQL alarm rule (requires sql_requests.[N].search_time_range)
hcloud LTS CreateSqlAlarmRule --cli-region={region} --project_id={project_id} \
--domain_id={domain_id} \
--sql_alarm_rule_name="sql-error-alarm" \
--sql_alarm_level=Major \
--sql_requests.1.log_group_id={group_id} \
--sql_requests.1.log_stream_id={stream_id} \
--sql_requests.1.sql="select count(*) where level='ERROR'" \
--sql_requests.1.search_time_range=5 --sql_requests.1.search_time_range_unit=minute \
--condition_expression=">=1" \
--frequency.type=CRON --frequency.cron_expr="0 */5 * * * *" --notification_frequency=5
更新 — TTL と設定
# Update log group TTL (save duration)
hcloud LTS UpdateLogGroup --cli-region={region} --project_id={project_id} \
--log_group_id={log_group_id} --ttl_in_days=60
# Update log stream TTL and storage
hcloud LTS UpdateLogStream --cli-region={region} --project_id={project_id} \
--log_group_id={log_group_id} --log_stream_id={log_stream_id} \
--ttl_in_days=60 --whether_log_storage=true
# Update transfer task config
hcloud LTS UpdateTransfer --cli-region={region} --project_id={project_id} \
--log_transfer_id={transfer_id} \
--log_transfer_info.log_storage_format=RAW \
--log_transfer_info.log_transfer_status=ENABLE \
--log_transfer_info.log_transfer_detail.obs_bucket_name={bucket_name} \
--log_transfer_info.log_transfer_detail.obs_period=5 \
--log_transfer_info.log_transfer_detail.obs_period_unit=min
# Enable/disable an alarm rule (status: RUNNING/STOPPING; type: keywords/sql)
hcloud LTS UpdateAlarmRuleStatus --cli-region={region} --project_id={project_id} \
--alarm_rule_id={alarm_rule_id} --status=STOPPING --type=keywords
削除 — ⚠️ 確認が必要
重要:削除操作を実行する前に、必ずユーザーから明示的な確認を得てください。 すべての LTS リソースを一括削除することは禁止されています。削除のたびに、リソース ID を 1 つだけ指定してください。
# Delete a log group (⚠️ cascades all log streams under it)
hcloud LTS DeleteLogGroup --cli-region={region} --project_id={project_id} \
--log_group_id={log_group_id}
# Delete a log stream
hcloud LTS DeleteLogStream --cli-region={region} --project_id={project_id} \
--log_group_id={log_group_id} --log_stream_id={log_stream_id}
# Delete a transfer task
hcloud LTS DeleteTransfer --cli-region={region} --project_id={project_id} \
--log_transfer_id={transfer_id}
# Delete a keyword alarm rule
hcloud LTS DeleteKeywordsAlarmRule --cli-region={region} --project_id={project_id} \
--keywords_alarm_rule_id={alarm_rule_id}
# Delete a SQL alarm rule
hcloud LTS DeleteSqlAlarmRule --cli-region={region} --project_id={project_id} \
--sql_alarm_rule_id={alarm_rule_id}
パラメーターの確認
| パラメーター | 必須 | 説明 | 例 |
|---|---|---|---|
--cli-region | はい | 対象リージョン | {your-region} |
--project_id | はい | プロジェクト ID | IAM コンソールで取得 |
--log_group_id | ストリーム/インデックス/転送操作で必要 | ロググループ ID | xxx-xxx-xxx |
--log_stream_id | インデックス/ログ検索操作で必要 | ログストリーム ID | xxx-xxx-xxx |
--ttl_in_days | グループ/ストリームの作成・更新で必要 | ログ保持日数 | 30、60、365 |
--keywords | ログ検索で必要 | 検索キーワード | "ERROR"、"Exception" |
--start_time / --end_time | ログ検索で必要 | 時間範囲(ms) | 1700000000000 |
--log_transfer_type | 転送のフィルターで必要 | 転送タイプ | OBS、DIS、DMS |
削除時の安全ルール
- 削除できるリソースは 1 つのみ — 削除の呼び出しごとに、リソース ID を 1 つだけ指定してください
- ワイルドカード/一括削除は禁止 —
DeleteLogGroupはグループ配下のすべてのストリームを削除します。カスケード削除の影響を必ず確認してください - ユーザーによる明示的な確認が必要 — 削除を実行する前に、「确认」/「confirm」/「ok」と返信してもらってください
- 禁止事項:個別の確認を得ずに、1 回のセッションですべてのロググループまたはすべてのアラームルールを削除すること
リファレンスドキュメント
- IAM ポリシー — LTS 用の最小権限 IAM ポリシー
- CLI インストールガイド — hcloud CLI のセットアップ
- 検証方法 — スキルの検証方法
- データフロー図 — スキル内のデータフロー
- 受け入れ基準 — 受け入れ基準
- LTS アラームリファレンス — アラームルール設定リファレンス
KooCLI コマンド形式標準
hcloud LTS ListLogGroups --cli-region={your-region} [--key=value ...]
| 機能 | 説明 | 例 |
|---|---|---|
| サービス名 | LTS(大文字) | hcloud LTS ListLogGroups |
| オペレーション名 | パスカルケース | ListLogGroups、CreateTransfer、DeleteLogStream |
| リージョンパラメーター | --cli-region=<value> | --cli-region={your-region} |
| 単純なパラメーター | --key=value | --log_group_name=my-group |
| インデックス付きパラメーター | --key.1=value | --keywords_requests.1.keywords=ERROR |
コメント
Markdown 対応