kibana-streams について
kibana-streamsは、Kibana管理者向けにStreams REST APIを操作するスキルです。ストリームの定義、設定、添付リソースの読み取りと、有効化・無効化・再同期を行えます。Streamsは実験的機能で、作成、更新、削除、フォークには対応していません。
主な機能
- 01ストリーム一覧とメタデータの取得
- 02取り込み設定とクエリ設定の読み取り
- 03関連するダッシュボード、ルール、SLOの確認
- 04ストリームの有効化、無効化、再同期
- 05ストリームのデータ保持設定の確認
活用シーン
- 01Kibana内のストリームの棚卸し
- 02ES|QLクエリストリーム定義の確認
- 03ストリームに関連するリソースの確認
- 04ストリームの状態管理や再同期
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ elastic/ agent-skills --skill kibana-streamsインストール後、Claude Code で/kibana-streamsを入力して読み込まれたか確認します。
同梱ファイルreferences/streams-api-reference.md
詳細
Kibana Streams
Kibana Streams REST API を使用して、ストリームのメタデータ、設定、添付ファイルを読み取り、ストリームのライフサイクル(有効化、無効化、再同期)を管理します。Streams は Kibana でデータを管理する実験的な方法です。API や動作が変更される可能性があります。このスキルの対象は読み取り操作とライフサイクル操作のみです。作成、更新、削除、フォークなどのその他の変更操作は、今後のバージョンで追加される可能性があります。
エンドポイントとパラメーターの詳細については、references/streams-api-reference.md を参照してください。
使用する場面
- すべてのストリームを一覧表示する場合、または単一のストリームの定義とメタデータを取得する場合
- ストリームの取り込み設定、またはクエリストリームの ES|QL 定義を読み取る場合
- ストリームにリンクされた添付ファイル(ダッシュボード、ルール、SLO)を一覧表示する場合
- ストリームを有効化、無効化、または再同期する場合
前提条件
| 項目 | 説明 |
|---|---|
| Kibana URL | Kibana エンドポイント(例:https://localhost:5601 または Cloud デプロイ URL) |
| 認証 | API キーまたは基本認証(elasticsearch-authn スキルを参照) |
| 権限 | 読み取り操作には read_stream、ライフサイクル API には manage_stream |
デフォルト以外のスペースで操作する場合は、スペーススコープのパス /s/{space_id}/api/streams を使用してください。ロールの設定(Kibana 機能権限と Elasticsearch レベルの権限)については、Streams required permissions を参照してください。
API のベースパスとヘッダー
- ベースパス:
<kibana_url>/api/streams(スペースの場合は/s/<space_id>/api/streams)に対してGETまたはPOSTを実行します。 - 読み取り操作: 通常、追加のヘッダーは不要です。各エンドポイントについては公式 API ドキュメントに従ってください。
- ライフサイクル操作:
POST /api/streams/_disable、_enable、_resyncは変更操作です。Kibana のバージョンに応じて必要な場合は、kbn-xsrf: true(または同等のもの)を送信してください。
操作(読み取りとライフサイクル)
読み取り
| 操作 | メソッド | パス |
|---|---|---|
| ストリーム一覧を取得 | GET | /api/streams |
| ストリームを取得 | GET | /api/streams/{name} |
| 取り込みストリームの設定を取得 | GET | /api/streams/{name}/_ingest |
| クエリストリームの設定を取得 | GET | /api/streams/{name}/_query |
| ストリームの添付ファイルを取得 | GET | /api/streams/{streamName}/attachments |
ライフサイクル
| 操作 | メソッド | パス |
|---|---|---|
| ストリームを無効化 | POST | /api/streams/_disable |
| ストリームを有効化 | POST | /api/streams/_enable |
| ストリームを再同期 | POST | /api/streams/_resync |
パスパラメーター:{name} と {streamName} は同じストリーム識別子です。API ドキュメントでは両方の名前が使われています。
ライフサイクルと保持期間(取り込み設定)
取り込み設定(GET /api/streams/{name}/_ingest)では、ライフサイクルに関する領域が2つ公開されています。
- ストリームのライフサイクル(
ingest.lifecycle)— ストリームのデータを保持する期間を制御します。明示的な保持期間にはlifecycle.dsl.data_retention(例:"30d")を、子ストリームにはlifecycle.inheritを使用します。ユーザーが「保持期間を設定する」「保持期間を更新する」「ストリームの保持期間を変更する」と尋ねる場合、通常はこの設定を指します。 - 失敗ストアのライフサイクル(
ingest.failure_store.lifecycle)— 失敗したドキュメント(正常に処理されなかったドキュメント)の保持期間のみを制御します。ユーザーが失敗ストアまたは失敗ドキュメントの保持期間に明示的に言及しない限り、変更が必要になることはほとんどありません。
ユーザーが保持期間の設定や更新を依頼した場合、失敗ストアや失敗ドキュメントについて明示的に尋ねていない限り、失敗ストアではなく、ストリームのメインのライフサイクル(lifecycle.dsl.data_retention)を対象にしてください。
例
ストリームの一覧表示
curl -X GET "${KIBANA_URL}/api/streams" \
-H "Authorization: ApiKey <base64-api-key>"
単一のストリームの取得
curl -X GET "${KIBANA_URL}/api/streams/my-stream" \
-H "Authorization: ApiKey <base64-api-key>"
クエリストリーム設定の取得
curl -X GET "${KIBANA_URL}/api/streams/my-stream/_query" \
-H "Authorization: ApiKey <base64-api-key>"
ストリームのアタッチメントの取得
# Attachments (dashboards, rules, SLOs linked to the stream)
curl -X GET "${KIBANA_URL}/api/streams/my-stream/attachments" \
-H "Authorization: ApiKey <base64-api-key>"
ストリームの無効化、有効化、または再同期
# Disable streams (request body per API docs) — deletes wired stream data; warn and confirm before proceeding
curl -X POST "${KIBANA_URL}/api/streams/_disable" \
-H "Authorization: ApiKey <base64-api-key>" \
-H "kbn-xsrf: true" \
-H "Content-Type: application/json" \
-d '{}'
# Enable streams
curl -X POST "${KIBANA_URL}/api/streams/_enable" \
-H "Authorization: ApiKey <base64-api-key>" \
-H "kbn-xsrf: true" \
-H "Content-Type: application/json" \
-d '{}'
# Resync streams
curl -X POST "${KIBANA_URL}/api/streams/_resync" \
-H "Authorization: ApiKey <base64-api-key>" \
-H "kbn-xsrf: true" \
-H "Content-Type: application/json" \
-d '{}'
リクエスト/レスポンスのボディについては、Streams API の操作ページを確認してください(必要な場合は、たとえば _disable/_enable/_resync のリクエストボディなど)。
ガイドライン
- ユーザーが保持期間の設定や更新を依頼した場合、ストリームのデータ保持期間(
ingest.lifecycle/lifecycle.dsl.data_retention)を指すものとして扱ってください。失敗ストアまたは失敗ドキュメントについて明示的に依頼されない限り、失敗ストアの保持期間だけを変更してはいけません。 - その他の変更操作(作成、更新、削除、フォーク、アタッチメントの管理など)は、このスキルではサポートされていません。保留中の操作の全リストについては、references/streams-api-reference.mdを参照してください。
- 重要イベントとその検出クエリは対象外です。 重要イベント、SigEvents、または Knowledge Indicators に関するリクエストは、
platform.sig_events.*Agent Builder ツールを使用する専用の重要イベントスキルの対象です。/api/streams/{name}/queriesと/api/streams/{name}/significant_eventsエンドポイントは非推奨であり、Kibana から削除される予定です。ここではこれらを使用しないでください。 - クエリストリームと重要イベントのクエリを混同しないでください。
/api/streams/{name}/_queryはクエリストリーム(wired および classic と並ぶストリームの種類)の ES|QL 定義であり、検出クエリとは関係ありません。 - ストリームを無効化すると、wired ストリームではデータ損失につながる可能性があります。 無効化 API は wired ストリームのデータを削除します(classic ストリームのデータは保持されます)。無効化を実行する前に、リスクをユーザーに警告し、リスクを理解していること(およびデータをバックアップ済みか、データが不要であること)を確認してください。
- ユーザーがストリームの状態の確認だけを必要としている場合は読み取り操作を優先し、ストリームの有効化、無効化、または再同期が必要な場合はライフサイクル API を使用してください。