調整ルール

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む6読むのに数分
  • 調整ルールは、CI 属性を更新できる検出ソースを決定します。

    EventManagement、ImportSet、ManualEntry、および Tivoli などの検出ソースは、CI の手動更新をシミュレートする createOrUpdateCI() API で使用されます。調整ルールがない場合、検出ソースは互いの属性値の更新を上書きできます。

    調整ルールには、次の 2 種類があります。
    静的調整ルール

    静的調整ルールは、CI 属性を更新するためのさまざまな検出ソースの優先度を設定する従来の調整ルールです。静的調整ルールは、クラス属性を更新できる検出ソース、およびこれらの検出ソース間の優先順位を指定します。

    静的調整ルールを作成する場合、属性の更新が許可されている各検出ソースに調整ルールがあることを確認します。調整ルールは、親クラスおよび子クラスレベルで定義できます。

    静的調整ルールは、調整定義 [cmdb_reconciliation_definition] テーブルに保存されます。

    動的調整ルール

    動的調整ルールは、検出ソースの優先度ではなく、CMDB 360/マルチソース CMDB によって処理される属性値に基づいています。まず、CMDB 360 は、現在のペイロードデータを CMDB 360 データストアに処理します。次に、IRE は動的調整ルールを適用して、たとえば検出ソース全体で、報告された最大値または最も報告件数が多い値をを選択します。動的調整ルールは CMDB 360 を利用するため、動的調整ルールを使用するにはその機能を有効にする必要があります。

    動的調整ルールを作成すると、たとえば、複数の検出ソースに優先順位を設定することが困難になった場合などに役立ちます。クラス属性ごとに存在できる動的調整ルールは 1 つだけです。

    動的調整ルールは、動的調整定義 [cmdb_dynamic_reconciliation_definition] テーブルに保存されます。

    静的調整ルールの例

    cmdb_ci_computer クラスとその cmdb_ci_linux_server 子クラスに対して、次の静的調整ルールのサンプルが作成されます。
    1. Discovery は、cmdb_ci_computer クラスの name 属性の更新を独占的に許可されます。

      調整ルールは親クラスから子クラスによって派生するため、このルールは Discovery が cmdb_ci_computer クラスの任意の子クラスの name 属性を更新することも許可します。

    2. ServiceWatch は、cmdb_ci_linux_server クラスの name 属性の更新を独占的に許可されます。
    3. ServiceWatch は、ルールの [属性] フィールドを空にして設定すると、cmdb_ci_linux_server クラス内のすべての属性を更新することが独占的に許可されます。

    静的調整ルールの作成 (たとえば name などの特定の属性の更新を検出ソースに許可するなど) の詳細については、「CI 調整ルールの作成」を参照してください。

    調整ルールの使用

    調整ルールを作成するときは、属性レベルでのルールの柔軟性と改良のために設計された、次の原則を念頭に置いてください。

    動的調整ルールの優先順位

    同じ CI 属性に静的調整ルールと動的調整ルールの両方が存在する場合、静的調整ルールよりも動的調整ルールが優先されます。

    クラス内のすべての属性に対する許可

    静的調整ルールを使用すると、検出ソースによるクラス内の全属性の更新を許可することができます。ただし、この許可は、特定の属性がリストされている子クラスのルールによって、一部の属性について上書きできます。

    たとえば、上の例のルール #1 と #3 のみが作成された場合、Discovery は cmdb_ci_linux_server クラスの name 属性の更新が許可されます。ServiceWatch は name 属性を除くクラス内の他のすべての属性の更新が許可されます。

    Discovery の権限を上書きして name 属性を更新するには、上の例のルール #2 を追加して、属性の更新を ServiceWatch に特別に許可します。

    クラス内の特定の属性のみに対する許可

    検出ソースにクラス内の特定の属性を更新する権限を付与する場合は、その検出ソースに対して静的調整ルールを作成し、そのルールでこれらの属性をリストします。クラス内の特定の属性へのアクセスを許可するルールは、クラス全体へのアクセスを許可する空の属性リストを持つ他の静的調整ルールを上書きします。

    上の例のルール #1 は、Discovery に、cmdb_ci_computer クラスの name 属性の更新を独占的に許可します。他のすべての検出ソースは、cmdb_ci_computer クラス内の任意の CI の name 属性を更新できなくなります。

    子クラスのルールによる親クラスのルールの上書き

    子クラスに対して定義された調整ルールは、その親クラスに対して定義されたルールを上書きします。このルールは、子の調整ルールが静的で、親のルールが動的である場合にも適用されます (同じレベルのクラスの場合、動的調整ルールは静的調整ルールよりも優先されます)。

    たとえば、上のルール #1 では、Discovery は cmdb_ci_computer クラスおよびそのすべての子クラスの name 属性を更新できます。ただし、親クラスのルール #1 を上書きする cmdb_ci_linux_server 子クラスルのルール #2 は、ServiceWatch が子クラスのこの属性を更新することを明示的に許可します。

    結果:
    • Discovery は子 cmdb_ci_linux_server クラスの name 属性を更新できません。ServiceWatch のみがこの属性の更新を許可されます。
    • Discovery は、cmdb_ci_computer クラスのその他すべての子クラスで CI レコードの name 属性を更新することが許可されます。
    静的調整ルールの重複

    同じクラスの同じ属性に対して異なる検出ソースを許可する静的調整ルールは、共存することができ、互いに除外しません。

    たとえば、次のルールが追加されたとします。これは上のルール #1 の例と似ていますが、別の検出ソースを許可します。

    ServiceWatch は、cmdb_ci_computer クラスの name 属性の更新を許可されます。

    上のルール #1 の例と同様に、この新しいルールは cmdb_ci_computer クラスの name 属性に適用されるため、Discovery および ServiceWatch のどちらも属性を更新できます。検出ソースが互いの更新を上書きしないように、調整ルールが適用されます。

    調整ルールの詳細については、「[CMDB - データ優先順位ルール] CMDB データ優先順位ルールの理解とトラブルシューティング [KB0756709]」のナレッジベース記事を参照してください (Paris リリース以降、調整ルールとデータ優先順位ルールは結合されています)。

    ドメイン分離

    Domain Separation を有効にすると、特定のドメインに調整ルールを適用できます。親ドメインのルールは、上書きされない場合、子ドメインの CI に適用されます。ドメインに表示されるすべてのルールが適用され、親ドメインを上書きするルールによって子ドメインのバージョンが表示されます。

    CMDB 調整ルールとトラブルシューティング [KB0756709] の理解