【ServiceNow】IREの基本

ServiceNow
DIチーム

こんにちは、ServiceNow担当のKIです。
今回はIRE(識別および調整エンジン)についてご紹介します。

構成情報や資産情報を取り扱う際に、
Import SetやIntegrationHub ETLといった取込方法を
活用されている方が多いと思います。
しかし、このような機能を利用して情報を取り込むだけでは、
構成アイテム(CI)の重複や不整合が発生してしまう可能性があります。

そこで重要となるのがIREです。

本記事では、IREの概要や基本的な設定方法についてご説明します。

 

IREの概要

IRE(識別及び調整エンジン)はImport SetやIntegrationHub ETLなどから
取り込んだデータを、ServiceNowのCMDBに登録・更新する際に
使用される仕組みです。
IREは、識別ルールで既存CIを特定し、調整ルールでどのデータソースの値を優先するかを
制御することで、CIの重複や不整合を防ぐ仕組みです。
上記機能を活用することによって、CIの重複や不整合を防ぐことができます。

 

識別ルールについて

識別ルールは、取り込んだデータが既にServiceNow上に存在する、
どのCIに一致するかを判断するためのルールです。
データソースにあるデータがCMDBに取り込まれる前に「どのCIに該当するか」を
一意に判断するためのルールを定義します。

ルールを定義するためには「識別子エントリ」を使用します。
識別子エントリにはデータを取り込むテーブルにて一意に判別することができる
属性を設定します。
1つの識別子エントリに対して複数の属性を含めることが可能です。
また優先順位別に複数の識別子エントリを設定することができます。

例として、ハードウェアテーブルに対して識別子エントリを設定する場合を考えます。

  1. 優先順位1の識別子エントリに”シリアル番号”を設定します。
  2. 優先順位2の識別子エントリに”名前”を設定します。

この場合だと、まず優先順位1の識別子エントリを参考に取り込んだデータが
ハードウェアテーブル上に存在するかどうかを確認します。
もし存在する場合はCIを更新し、存在しない場合は次の優先順位2の識別子エントリ
を参考にハードウェアテーブル上に存在するかを確認します。
もし存在する場合はCIを更新し、存在しない場合は新規CIを作成します。

 

調整ルールについて

調整ルールは、複数のデータソースから同じCIにデータが入る場合に、
どのソースの値を優先してCMDBへ反映するかを判断するためのルールです。

調整ルールを使用しない場合、信頼性の低いデータソースからの情報により
誤った情報でCMDBを更新してしまう可能性があります。

調整ルールを定義するには以下2つの設定が必要です。

調整ルール

どのデータソースがどの属性を更新できるかを優先度別に
設定することができます。

2つのデータソースがある場合を例に挙げます。

  1. 優先順位1の調整ルールに”Import Set”を設定します。
  2. 優先順位2の調整ルールに”SCCM”を設定します。

2つのデータソースがある場合は、設定した調整ルールにより
“Import Set”から取り込まれたデータを
CMDB上のテーブルに反映することになります。

Import Setなどの一部機能では、IREが自動では呼び出されないため、設定や実装で明示的に利用する必要があります。
ここでは説明を割愛しますが、スクリプトインクルード「CMDBTransformUtil」などで詳細を調べていただければと思います。

 

データ更新ルール

高優先度のデータソースが一定期間更新されない場合に、次のソースへ更新権限を渡すルールです。
その期間内に更新がない場合は、次の優先順位のデータソースが更新できるようになります。
データ更新ルールを設定することで、CIを常に最新の状態に保ちやすくなります。

 

簡単な動作イメージ

識別ルールおよび調整ルール、データ更新ルールを実際に設定してみます。

識別ルール

  1. ナビゲーションメニューからすべて>構成>CIクラスマネージャーを開きます。
  2. [階層]を選択して設定したいテーブルを選択します。(今回はハードウェアを選択します)
  3. クラスナビゲーションバーで、[クラス情報] を展開して [識別ルール] を選択します。
  4. [識別ルール] セクションで [追加]を選択し優先度を入力します。
  5. “基本属性 利用可能”から一意の属性を選択し保存ボタンを押下します。
  6. 上記手順で設定した識別子エントリが作成されます。

他にも複数の識別子エントリを設定したり、1つの識別子エントリ内で複数の属性
を設定することも可能です。

 

調整ルール

識別ルールの手順2までと同様の操作を実行します。

  1. クラスナビゲーションバーで、[クラス情報] を展開して [調整ルール] を選択します。
  2. [調整ルール]セクションで[追加]を選択しディスカバリーソースと優先度を設定します。
  3. [属性を選択]画面で適用させたい属性の選択をします。
    ※「すべての属性に適用」をオンにすることですべてのフィールドを更新対象とすることができます。
  4. フィルター条件を設定し、更新したいCIを限定します。
    ※フィルターを設定しなければすべてのCIに適用できます。
  5. 上記手順で設定した調整ルールが作成されます。

 

データ更新ルール

識別ルール手順の2までと同様の操作を実行します。

  1. クラスナビゲーションバーで、[クラス情報] を展開して [調整ルール] を選択します。
  2. [データ更新ルール]セクションで[追加]を選択します。
  3. ディスカバリーソースと有効期間を設定し[保存]ボタンを押下します。
  4. 上記手順で設定したデータ更新ルールが作成されます。

以上で識別ルールおよび調整ルール、データ更新ルールの設定は完了です。

これらの設定を活用することで、複数存在するデータソースが正しい
CIを作成、更新することができます。

 

まとめ

今回はIREについてご紹介しました。
調整ルールや識別ルールを適切に設定しておくことで、
複数のデータソースを利用する際にも、CIの重複や不整合を防ぎやすくなります。

また、今回ご紹介した内容については基本的な設定であり、
環境に応じてさらに詳細に設定することも可能です。

運用に合わせて柔軟に設定し、安定したCMDB運用に役立ててみてください。

今回の記事が少しでも皆さんの役に立てば幸いです。

 

お問い合わせはこちら

記事を書いた人

DIチーム

主にServiceNowに関するお役立ち情報をお届けします!

関連記事

TOP