ネットワークスイッチまたはネットワークルーターのパターンにファームウェアバージョンを取得するための拡張セクションを作成する方法Summary<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 初期状態では、Discovery は、ネットワークスイッチやネットワークルーターなどのネットワーク機器のファームウェアバージョンを収集したり、値を入力したりしません。これは設計によるものであり、想定どおりに動作しています。 ただし、Cisco や Juniper などの一部のネットワークデバイスメーカーは、分類ステージ中にクエリおよび収集される sysDescr OID に、デバイスに関するその他のデータとともにファームウェアバージョンを含めています。 識別セクション自体を変更せずに、識別セクションの Discovery ロジックを変更できます。Network Switch Pattern または Network Router Pattern のいずれかに拡張セクションを追加することで、分類フェーズ中にすでに収集された sysDescr からファームウェアバージョンを解析できます。 この記事では、これを実装する方法を段階的に説明します。 この記事は、独自のカスタムパターン拡張の設定を開始するためのガイドとして使用することを目的としています。ServiceNow Support は、お客様の環境に適合するようにこれを拡張するための支援を提供できません。お客様のニーズを満たすためにこれをさらに拡張できる Professional Services を紹介できますが、これは有料サービスであることに注意してください。 Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } すべてのリリース Instructions<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } I. 拡張セクションを作成する [Pattern Designer] > [Discovery Patterns] モジュールに移動します。Pattern Designer で [Network Switch] インフラストラクチャパターンを開きます。[Extensions] セクションで [New] をクリックします。新しい拡張セクションに「Get Firmware Version - Network Switch」という名前を付けます。[Order] フィールドはデフォルト値のままにして、[Done] をクリックします。 II. ファームウェアバージョンを取得するステップを作成する 新しい拡張セクションの名前をクリックして、Pattern Debugger で開きます。[Parse Variable] オペレーションを選択して拡張の最初のステップを作成し、新しいステップに「Get Cisco Firmware Version」という名前を付けます。[Precondition] チェックボックスをクリックし、条件「$sysDescr Is Not Empty」を追加します。必須の [Enter Variable] フィールドに「$sysDescr」と入力します。[Define Parsing] 選択リストから [Regular Expression] を選択します。[Variables] セクションで変数を作成し、「fw_version」という名前を付けます。[Regular Expression] フィールドに「Cisco.*Version\s([^,]+),」と入力します。 III. 他のメーカーからファームウェアバージョンを取得するための追加ステップを作成する (オプション) 他のメーカーからファームウェアを取得する場合は、[Get Cisco Firmware Version] の下に新しいステップを作成し、以下の変更を加えてプロセスを繰り返すことができます。メーカーごとに 1 回実行します。 名前を「Get Firmware Version」に変更します。前提条件を「$fw_version Is Empty」に変更します。[Regular Expression] フィールドに、ファームウェアバージョンのみを解析する正規表現を入力します。正規表現に慣れていない場合は、いろいろ試す必要があることがあります。以下に例を示します。 Arista.*version\s([^\s]+) Juniper.*JUNOS\s([^,]+) IV. IP Switch テーブルを一時テーブルに設定する データの損失を回避するために、ここでは識別セクションですでに収集された属性を、変更する前に一時テーブルに保持します。 最後の [Get Firmware Version] ステップの下に [New Step] を作成し、[Transform Table] オペレーションを選択して、ステップに「Set IP Switch table to Temp Table」という名前を付けます。[Precondition] チェックボックスをクリックし、条件「$fw_version Is Not Empty」を追加します。必須の [Source] フィールドに「$cmdb_ci_ip_switch」と入力します。必須の [Target] フィールドに「$temp_cmdb_ci_ip_switch」と入力します。[Target Field Name] フィールドに「firmware_version」と入力し、その横の [Value] フィールドに「$fw_version」と入力します。 V. 一時テーブルを IP Switch テーブルに戻す 識別セクションのその他の属性とともに firmware_version を一時テーブルに設定したため、これを IP Switch テーブルにコピーして戻すことができます。 [Set IP Switch table to Temp Table] ステップの下に [New Step] を作成し、「Set Temp table back to IP Switch Table」という名前を付けます。[Precondition] チェックボックスをクリックし、条件「$fw_version Is Not Empty」を追加します。必須の [Source] フィールドに「$temp_cmdb_ci_ip_switch」と入力します。必須の [Target] フィールドに「$cmdb_ci_ip_switch」と入力します。[Target Field Name] フィールドに「firmware_version」と入力し、その横の [Value] フィールドに「$fw_version」と入力します。 VI. パターンを保存し、パターンを MID Server と同期する Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Network Router Pattern の場合は、上記と同じプロセスを繰り返し、cmdb_ci_ip_switch のすべての箇所を cmdb_ci_ip_router に置き換えます。