Discovery をバージョン 3.x にアップデートする
要件
このバージョンの要件は次のとおりです。
- .Net Framework 4.7.2
- Insight 8.1 以降
Assets Discovery 3.1.9 or later:
- If you are using Assets bundled with Jira Service Management, upgrade to Jira Service Management 5.3 or later.
- If you install Assets via the marketplace, upgrade to Assets 8.10.12 or later.
アップグレードに関する FAQ
次のよくある質問をお役立てください。
パターン
Discovery 3.x では、パターン ファイルのロジックが次のように変更されました。
以前は、各パターンがユース ケースと内部ロジックに基づいた特定の情報を含むオブジェクトまたはリストを返して、新しい情報を以前フェッチされたデータにマージしていました。
例
たとえば、Linux システムのホスト名を取得するために使用されるパターンは、次のとおりです。
- Discovery 2.x では、パターンによって新しい HostInfo オブジェクトが作成されて、その結果からオブジェクトに Hostname 属性が追加されていました。
- Discovery 3.x では、パターンがスキャン開始時に最初に作成された HostInfo オブジェクトを再利用して、その結果から Hostname 属性を強化します。
これは、マージ ロジックが削除されて、データの完全な透明性がパターン実行に移されたことを意味します。
新しいコマンドの結果
Discovery 3.x では、すべてのパターン プロセス タイプにコマンド結果が実装されています。
プロセス タイプ | コマンド結果のタイプ |
---|---|
WMIQuery | WMIQueryResult |
WMIRegValue | WMIRegValueResult |
WMIRegValueList | WMIRegValueListResult |
WMIExecute | WMIExecuteResult |
PowerShellExecute | PowerShellExecuteResult |
SSHExecute | SSHExecuteResult |
SNMP_GET | SNMPExecuteResult |
SNMP_WALK | SNMPExecuteResult |
VIMObject | VIMCommandResult |
カスタム パターンの調整
カスタム パターンを作成した場合は、次の方法でそれらを更新します。
SSH プロバイダー
以前のバージョンでは、コマンド結果を文字列として直接解析していました。
string input = (string)parameters[0];
今後は、コマンド結果の既定のインターフェイス (クリック可能でインターフェイス (LogResult、IsNullOrEmpty など) を含むページの一部にユーザーをリダイレクトする) を持つ SSHExecuteResult
として解析します。
SSHExecuteResult sshExecuteResult = (SSHExecuteResult)parameters[0];
SshExecuteResult
は文字列のカスタム実装であり、文字列メソッドを使用する場合は、SshExecuteResult を文字列として解析できます。
string commandResult = sshExecuteResult;
WMI プロバイダー
結果タイプは複数あるため、それぞれが独自の実装を持っています。
WmiExecuteResult
クラスは SSH (カスタム文字列の実装) と同じです。
WMIExecuteResult result = (WMIExecuteResult)parameters[0];
WmiPowerShellResult
クラスも文字列の結果です。
PowerShellExecuteResult result = (PowerShellExecuteResult)parameters[0];
WmiQueryResult
クラスはディクショナリのリストです。
ManagementObjectCollection results = (ManagementObjectCollection)parameters[0];
WMIQueryResult commandResult = (WMIQueryResult)parameters[0];
WmiRegistryListResult
は文字列のリストです。
WmiRegistryResult
はオブジェクトのリストです。
SNMP プロバイダー
SnmpExecuteResult
クラスは Dictionary<string, object> の実装です。
List<ExtendedInformation> input = (List<ExtendedInformation>)parameters[0];
SNMPExecuteResult commandResult = (SNMPExecuteResult)parameters[0];
VIM プロバイダー
VimCommandResult
は List<EntityViewBase> の実装です。
List<EntityViewBase> input = (List<EntityViewBase>)parameters[0];
VIMCommandResult commandResult = (VIMCommandResult)parameters[0];
既定のインターフェイス
初期設定では、新しい CommandResult クラスには次のような便利な関数が用意されています。
IsNullOrEmpty()
- オブジェクトが null か空かをチェックします。LogResult()
- 結果オブジェクトを含むログ コマンド (ログ レベルを渡す方法の説明) 。
新しいオブジェクト タイプ
Discovery 3.x には、次の新しいオブジェクト タイプが含まれています。
- ユーザー
- グループ
新しいオブジェクト属性
Discovery 3.x には、次の新しいオブジェクト属性が含まれています。
Device
- タイプ
- モデル
- Serial Number
- vendor
データベース
- インスタンス名
- ポート