情報収集元の定義は、以下から構成されます。
収集項目の定義
情報収集元から収集できるソフトウェア情報とパッチ情報の収集項目です。
ソフトウェアパッチ収集スクリプト
業務サーバにインストールされているソフトウェア情報および適用されているパッチ情報を収集するためのスクリプトです。
情報収集元から収集できる情報を収集項目として定義します。収集項目はソフトウェアとパッチごとに定義します。複数の収集項目を定義することができます。定義可能な収集項目については、「1.1.2 収集項目一覧」を参照してください。収集項目には、以下の分類があります。
識別項目
識別項目は、ソフトウェアまたはパッチを識別するのに使用される情報です。識別項目は複数定義することができ、識別項目の組み合わせが同一なソフトウェアまたはパッチが、同一のソフトウェアまたはパッチとして管理されます。
定義項目
定義項目は、ソフトウェアまたはパッチの定義として使用される情報です。ソフトウェアまたはパッチの定義情報は、ソフトウェア情報またはパッチ情報をインストール済ソフトウェアまたは適用済パッチとしてCMDBに登録する際にデフォルト値として使用されます。
同一ソフトウェアを同一サーバに複数のインストール済ソフトウェアとして登録するには、インストール先の収集項目を使用します。同一ソフトウェアでもインストール先が異なる場合、別のインストール済ソフトウェアとしてCMDBに登録されます。
ソフトウェアパッチ収集スクリプトは、業務サーバにインストールされているソフトウェア情報および適用されているパッチ情報を収集するためのスクリプトです。このスクリプトはサーバに転送されて、サーバ上で実行されます。サーバから収集した情報は、ソフトウェア情報CSVファイルとパッチ情報CSVファイルに出力されます。このファイルは管理サーバに転送されインストール済ソフトウェアおよび適用済みパッチとしてCMDBに登録されます。
ソフトウェアパッチ収集スクリプトは、複数のファイルで構成されています。また、ソフトウェアパッチ収集スクリプトは、対象のサーバのOS種別ごとに作成します。Windowsで使用できるバッチファイルと、LinuxまたはSolarisで使用できるシェルスクリプトが決められています。このファイルの説明を、以下に示します。
ディスカバリスクリプト
ディスカバリスクリプトは、必ず初めに呼び出されるスクリプトで、ファイル名が決められています。バッチファイル名はdiscover.cmd、シェルスクリプト名はdiscover.shです。このスクリプトの処理では、サーバから収集したソフトウェア情報とパッチ情報をソフトウェア情報CSVファイルとパッチ情報CSVファイルに必ず出力します。また、結果を復帰します。このほかの処理は、情報収集元ごとに作成することができます。
添付ファイル
ディスカバリスクリプトで使用できるのは任意のファイルです。このファイルは、ディスカバリスクリプトと一緒にサーバに転送されます。添付ファイルにシェルスクリプトを含める場合は、実行権をシェルスクリプトのディスカバリスクリプトの中で設定してください。
ディスカバリスクリプトは、サーバにインストールされているソフトウェア情報および適用されているパッチ情報をファイルに出力します。このファイルの説明を以下に示します。
ソフトウェア情報CSV
サーバにインストールされているソフトウェア情報は、収集情報CSVファイルの形式で出力してください。詳細は「6.2.3 収集情報CSVファイル」を参照してください。
このファイルはファイル名が決められています。ファイル名はsoftwareinfo.csvです。
パッチ情報CSV
サーバに適用されているパッチ情報は、収集情報CSVファイルの形式で出力してください。
このファイルはファイル名が決められています。ファイル名はpatchinfo.csvです。詳細は「6.2.3 収集情報CSVファイル」を参照してください。
ディスカバリスクリプト(バッチファイル)の形式【Windows】
バッチファイルのディスカバリスクリプト(discover.cmd)は、以下の形式で作成します。
バッチファイルの第1引数に-dirオプションを指定し、第2引数(%2)にソフトウェアとパッチの情報を出力するディレクトリを指定します。このディレクトリに収集した情報を、ソフトウェア情報CSVファイル(softwareinfo.csv)とパッチ情報CSVファイル(patchinfo.csv)に出力します。最後に処理が成功した場合は0を復帰して、失敗した場合は0以外を復帰します。
標準出力と標準エラー出力は、エージェントのログに出力されます。
@echo off setlocal @rem サーバからソフトウェア情報およびパッチ情報を収集する処理 <各情報収集元の処理> <%2のディレクトリにソフトウェア情報およびパッチ情報を出力する処理> @rem 結果(正常)を復帰する if ERRORLEVEL 1 goto ERROR_END endlocal exit /B 0 @rem 結果(異常)を復帰する : ERROR_END echo ERROR0002 Software and Patch collecting failed. 1>&2 endlocal exit /B 1
ディスカバリスクリプト(シェルスクリプト)の形式【Linux/Solaris】
シェルスクリプトのディスカバリスクリプト (discover.sh) は、以下の形式で作成します。
シェルスクリプトの第1引数に-dirオプションが指定され、第2引数($2)にソフトウェアとパッチの情報を出力するディレクトリが指定されます。このディレクトリに収集した情報を、ソフトウェア情報CSVファイル(softwareinfo.csv)とパッチ情報CSVファイル(patchinfo.csv)に出力します。最後に処理が成功した場合は0を復帰して、失敗した場合は0以外を復帰します。
標準出力と標準エラー出力は、エージェントのログに出力されます。
#!/bin/sh # サーバからソフトウェア情報およびパッチ情報を収集する処理 <各情報収集元の処理> <$2のディレクトリにソフトウェア情報およびパッチ情報を出力する処理> # 結果を復帰する if [ $? = "0" ]; then # 正常を復帰する exit 0 else # 正常を復帰する echo "ERROR0002 Software and Patch collecting failed." 1>&2 exit 1 fi
ディスカバリスクリプトの出力ディレクトリ
ディスカバリスクリプトでソフトウェア情報およびパッチ情報を出力する場合は、以下のディレクトリの形式で出力してください。ソフトウェア情報CSVファイルは、サーバにインストールされているソフトウェア情報を収集できた場合のみ作成されます。パッチ情報CSVファイルは、サーバに適用されているパッチ情報を収集できた場合のみ作成されます。また、パッチ情報CSVファイルのみを作成することはできません。
+ <出力ディレクトリ> + ソフトウェア情報CSVファイル(softwareinfo.csv) + パッチ情報CSVファイル(patchinfo.csv)
ソフトウェア情報CSVファイルおよびパッチ情報CSVファイルの形式
ディスカバリスクリプトで収集したソフトウェア情報とパッチ情報を、ソフトウェア情報CSVファイルおよびパッチ情報CSVファイルに出力するようにディスカバリスクリプトを作成してください。このソフトウェア情報CSVファイルおよびパッチ情報CSVファイルは、収集情報CSVファイルの形式です。詳細は、「6.2.3 収集情報CSVファイル」を参照してください。
スクリプトパッケージ
スクリプトパッケージは、1つ以上のソフトウェアパッチ収集スクリプトをZIP形式で圧縮したファイルです。このファイルは、情報収集元を定義する際に使用します。このファイルは、サーバに転送されて、サーバ上で解凍されます。
このZIPファイルは、以下の構造で格納する必要があります。それぞれのOS種別と同名のディレクトリ配下に、該当のOS種別で動作するソフトウェアパッチ収集スクリプトを配置します。情報収集元から情報が収集できないサーバのOS種別のソフトウェアパッチ収集スクリプトは配置する必要はありません。配置しないOS種別のソフトウェアパッチ収集スクリプトは、OS種別のディレクトリを作成しないでください。最低でも1つ以上のOS種別のソフトウェアパッチ収集スクリプトを配置してください。このZIPファイルは、以下の構造で格納する必要があります。添付ファイルは、ディレクトリを含んでも構いません。
<ZIPファイルのルート> + Windows(注) + ディスカバリスクリプト(discover.cmd) + 添付ファイル + Linux(注) + ディスカバリスクリプト(discover.sh) + 添付ファイル + Solaris(注) + ディスカバリスクリプト(discover.sh) + 添付ファイル
注)ディレクトリです。