ルーティングルールの定義
ルーティングルールを定義するには、プラットフォームログの送信先として1つ以上のターゲットを指定する必要があります。 また、これらのプラットフォームログがどのようにこれらの宛先にルーティングされるかの条件を定義する1つ以上の包含フィルタを定義することもできる。
アカウント定義した各ルートに対して、最大10個のルールを設定できる。 ルールは、リージョン内でどのプラットフォームログがルーティングされ、どこにルーティングされるかを指定する。 詳細は お客様のアカウントルートがどのように機能するかを理解する を参照。
ルールは、1つのアクション、1つ以上のターゲット、および0つ以上の包含フィルタで構成される。
ターゲット
ターゲットは、プラットフォームログがルーティングされるターゲットIDのリストを定義する。
-
1つのルールにつき、最大3つのターゲットIDを指定できる。
-
ルートを設定している同じ地域、異なる地域、異なるアカウント利用可能なリソースのターゲットIDを定義できます。
例えば、以下のようにターゲットのリストを定義することができる:
"targets": [{"id":"11111111-1111-1111-1111-111111111111"},{"id":"22222222-2222-2222-2222-222222222222"}]
ターゲットは IBM Cloud Logs インスタンスでなければならない。
アクション
アクションは、 IBM Cloud Logs Routing、ルート上のプラットフォームログを含めるか、除外するかを定義する。 send と drop の2つのアクションがサポートされている。 指定されない場合、デフォルトの動作はプラットフォームログを送信することである。
send- プラットフォームログは、ルーティングルールに基づいて、定義されたルートで送信されます。
drop- プラットフォームログが定義されたルートで送信される場合、ルーティングルールに基づき、プラットフォームログは除外されます。
包含フィルター
包含フィルタは、どのプラットフォームログがルールで指定されたターゲットにルーティングされるかを決定するために使用される条件を定義する。
すべてのプラットフォームログをルーティングするには、ルートを構成するときに inclusion_filters 定義を除外する。
インクルージョン・フィルターは operand、 operator、 value で構成される:
operand-
オペランドは、データのフィルタリングに使用されるターゲットのプロパティ名です。 以下のオペランドがサポートされている:
location. 値はターゲットCRNから抽出される。 operator-
inとisの2つの演算子がサポートされている。in-
オペランド・プロパティの値は、値のリストと比較されます。
最大20個の値を定義できる。
is-
オペランド・プロパティの値は、単一の値と比較される。
isを使用する場合、指定できる値は1つだけである。
value-
ログがルーティングされるかどうかを決定するために、
operandプロパティと比較される文字列、または文字列の配列。isoperatorを使用する場合、valueには文字列を1つ含めなければならない。inoperator、valueは複数の文字列を配列に含めることができる。有効な値は
operandによる。location- IBM Cloud Logs Routing。
インクルード・フィルターを設定する際には、これらの制限に注意すること。
-
各ルールには最大7つの包含フィルタを設定できる。
-
inclusion_filter.valuesには最大 20 個の値を設定できます。 -
inclusion_filter.values、最大100文字まで設定可能。
IAM アクセス権限
ルーティング・ルールを使用するには、適切なIAMロールが必要です。 IAMロールについては IAMアクセスの管理
UIを使ったルーティングルールの定義
アクションとインクルードフィルターのルーティングルールはUIで設定できます。 詳細については、 ルートの管理を 参照してください。
CLIを使用したルーティングルールの定義
ルートとインクルード・フィルターのルールはJSON形式で定義される。 ルールの定義は以下の通り:
--rulesオプションを使用すると、情報はコマンド上で直接JSONとして渡される。--filesオプションを使うと、情報はJSONファイルとして渡される。
--rules オプションを使った例
以下の例では、 --rules オプションで直接ルールを指定している。 この例では、 us-east からのすべてのプラットフォームログは、 0b4e6aa9-257c-4a3a-ae42-9a36a5b3adc7 にルーティングされる。 eu-de と eu-es からのすべてのプラットフォームログは 6f9137b3-2bb9-4724-851b-153e23c82d80 にルーティングされる。
'[{"action": "send", "targets":[{"id":"0b4e6aa9-257c-4a3a-ae42-9a36a5b3adc7"}], "inclusion_filters":[{"operand": "location","operator": "is","values": ["us-east"]}]},{"targets":[{"id":"22222222-2222-2222-2222-222222222222"},{"id":"33333333-3333-3333-3333-3333333333333"}], "inclusion_filters":[{"operand": "location","operator": "in","values": ["eu-de","eu-es"]}]}]'
'[{"アクション":"send", "targets" [:{"id":"0b4e6aa9-257c-4a3a-ae42-9a36a5b3adc7"}], "inclusion_filters":[{"operand": "location","operator": "is","values": ["us-east"] }]},{"targets": [{"id":"6f9137b3-2bb9-4724-851b-153e23c82d80"}], "inclusion_filters":[{"operand": "location","operator": "in","values": ["eu-de","eu-es"] }]}]'
コマンドの出力は以下のようになる:
Id 92f4cdb3-212c-4811-bf16-03b5449e0fb8
Name route1
Rules
action send
inclusion_filters
operand location
operator is
values [us-east]
targets
id 0b4e6aa9-257c-4a3a-ae42-9a36a5b3adc7
name cl-target2
target_type cloud-logs
action send
inclusion_filters
operand location
operator in
values [eu-de, eu-es]
targets
id 6f9137b3-2bb9-4724-851b-153e23c82d80
name cl-platform-logs-sydney-113
target_type cloud-logs
Created At 2026-04-28T22:26:38.022Z
Updated At 2026-04-28T22:26:38.022Z
Managed By account
--file オプションを使った例
次の例では、 --file オプションで、 rules_def.json という名前の JSON ファイルを渡してルールを指定する:
--file rules_def.json
rules_def.json :
[
{
"action":"send",
"targets": [
{
"id":"0b4e6aa9-257c-4a3a-ae42-9a36a5b3adc7""
},
{
"id":"6f9137b3-2bb9-4724-851b-153e23c82d80"
}
],
"inclusion_filters": [
{
"operand": "location",
"operator": "in",
"values": [
"us-south",
"eu-de"
]
}
]
}
]
APIを使ってルーティング・ルールを定義する
ターゲットとインクルード・フィルターは、 rules を使ってAPIコールで定義します。 rules はJSON構造で定義されている。
例えば、以下の例では、 my-route という名前のルートを作成し、 us-east リージョンからのプラットフォームログをターゲット 0b4e6aa9-257c-4a3a-ae42-9a36a5b3adc7 と 6f9137b3-2bb9-4724-851b-153e23c82d80 に送ります。
curl -X POST https://api.private.<REGION>.logs-router.cloud.ibm.com/v3/routes -H "Authorization: Bearer <IAM_TOKEN>" -H 'content-type: application/json' -d '{
"name": "my-route",
"rules": [
{
"action":"send",
"targets": [{"id":"0b4e6aa9-257c-4a3a-ae42-9a36a5b3adc7"}, {"id":"6f9137b3-2bb9-4724-851b-153e23c82d80"}],
"inclusion_filters": [
{
"operand": "location",
"operator": "is",
"values": ["us-east"]
}
]
}
]
}'
詳細は APIリファレンスを 参照