プロセスによるソフトウェア検出

星野 強司
Tera Contributor

ServiceNow のディスカバリー(Discovery)では、インストーラを持たないソフトウェア、特にコピーして利用する単体の exe ファイルは、そのままでは検出されません。

しかし、常駐アプリケーションのように常に起動しているプロセスであれば、プロセス検出によってソフトウェアとして認識させることが可能です。本手順では、その設定方法を説明します。

なお、この機能の利用には SAM ライセンスに加えて SAM Plugin (例  sn_itam_samp) のインストールが必要です。。

最小限必要なのは、 SAM Foundation Plugin となります。

SAMにはSAM Standard(ITSM付属)、SAM Foundation、SAM Professional、SAM Enterprise のエディションがあります。

通常はITSM付属のSAM Standardとなっています。ITSMのライセンスでもSAM Foundationはインストール可能で、

これをいれることで、cmdb_sam_sw_installテーブルなどが作成され、プロセスによるソフトウェア検出が可能です。

 

手順

  1. Discovery を実行します。

 

  1. 実行後、Discovery → Home を選択し、Application Suggestions をクリックします。

_0-1771290277628.png

 

 

  1. 検出したいアプリケーションを選択します。

Application Suggestions 画面は分かりづらいため、

「View Processes」列の Process Sample を確認し、対象となるプロセスを判断します。

登録したいプロセス名に近いものが見つかったら、

「View Processes」列の Process Sample をクリックします。

プロセスのサンプル情報が表示されるので、

これが目的のプロセスであるか確認します。

 

  1. 登録したいプロセスであることが確認できたら、「Discovery Application」をクリックします。

_1-1771290277629.png

 

 

  1. Discovery Pattern に追加されます。

このとき、CI Type 列に表示されるテーブル名をメモしておきます。後続手順で使用します。

_2-1771290277630.png

 

 

  1. Discovery を再実行します。

ただし、この時点では ソフトウェア一覧には表示されません。

実行結果は対象 CI の Related List → Runs に表示されます。

_3-1771290277631.png

 

 

  1. SAM が無い場合はここまでです。

SAM  Plugin をインストールすると、Software Installations への書き込みが可能になります。また、SAM Plugin をインストールすると、CI の項目は以下のように変わります:

  • Software Installed → Software Installations

 

ソフトウェア資産管理(SAM)で利用するテーブルの変化

これらのアプリケーションは、ソフトウェアを IT 資産として管理することを目的としており、OS にインストールされたソフトウェア情報を取り込むテーブルも次のように変更されます。

旧テーブル

新テーブル

cmdb_software_instance

cmdb_sam_sw_install

cmdb_ci_spkg

cmdb_sam_sw_discovery_model

「cmdb_sam_sw_install」テーブルへの書き込み処理(Sync Installed Software)および関連テーブルは、SAM Pro アプリケーションによって提供されます。

 

■ cmdb_sam_sw_install に “検出したソフトウェア” を登録する条件

検出した Discovery Pattern を Software Installations(cmdb_sam_sw_install)へ書き込むためには 以下 2 点が必須です。

  1. cmdb_sam_sw_name_mapping への製品情報登録
  2. Sync Installed Software へのパターン追加

以下に手順を示します。

 

  1. Software Installation Name Mapping への製品情報登録
  1. ナビゲーションフィルタで
    cmdb_sam_sw_name_mapping.list
    と入力し、Software Installation Name Mapping テーブルを開きます。
  2. テーブルを開いたら Newをクリックし、新規レコードを作成します。

 

  1. Software Installation Name Mapping にレコード追加

以下入力例です:

_4-1771290277632.png

 

 

項目

説明

Product

CI の Software Installations に表示したい製品名

Classname

手順 5 で確認した Discovery Pattern のテーブル名

Domain

Global

Publisher

検出したプログラムの発行元

入力後、Submit をクリックして登録します。

 

 

  1. Sync Installed Software にパターン追加
  1. ナビゲーションより
    Pattern Designer → Pre Post Processing
    を開きます。
  2. Sync Installed Software」を検索し、開きます。

_5-1771290277633.png

 

 

  1. Sync Installed Software Discovery Pattern を関連付け
  1. Sync Installed Software の画面で 「Pattern」 をクリックします。
  2. 手順 5 で追加された Discovery Pattern を設定します。

Sync Installed Software のスクリプトでは、

製品名および Publisher 情報を cmdb_sam_sw_name_mapping から読み込む仕様になっています。

そのため、Mapping テーブルに登録することで、パブリッシャー情報などが正しくマッピングされます。

_6-1771290277633.png

 

 

  1. Discovery 実行と結果確認

Discovery を再実行します。

完了後、対象 CI の Software Installations を確認します。

cmdb_sam_sw_name_mapping に登録した内容が正しく反映されていることが分かります。

_7-1771290277634.png

 

 

参考  デモサンプル動画

https://solutions.servicenow.com/i/UUHkHe3SWN5krwtUMSlhfIVJ___xzhhzbgPmszwWuVSDm6HPLUSSIGNbD___aF6jE...

 

0 REPLIES 0