サービスマッピングのトラブルシューティング 101:サービスモデルを使用したビジネスサービス (ビジネスサービスマップがページに表示されないのはなぜですか?Issue <!-- /*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: ; } } <!-- div.margin{ padding: 10px 40px 40px 30px; } table tr td { padding: 15px; } table.tocTable{ border: 1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); padding-top: .6em; padding-bottom: .6em; padding-left: .9em; padding-right: .6em; } table.noteTable{ border:1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); width: 100%; border-spacing:2; } table.internaltable { white-space:nowrap; text-align:left; border-width: 1px; border-collapse: collapse; font-size:14px; width: 85%; } table.internaltable th { border-width: 1px; padding: 5px; border-style: solid; border-color: rgb(245, 245, 245); background-color: rgb(245, 245, 245); } table.internaltable td { border-width: 1px; padding: 5px; border-style: solid; border-color: #E0E0E0; color: #000000; } .title { color: #D1232B; font-weight:normal; font-size:28px; } .spanColor { color: #646464; } h1{ color: #D1232B; font-weight:normal; font-size:21px; margin-bottom:-5px } h2{ color: #646464; font-weight:bold; font-size:18px; } h3{ color: #000000; font-weight:BOLD; font-size:16px; text-decoration:underline; } h4{ color: #646464; font-weight:BOLD; font-size:15px; text-decoration:; } h5{ color: #000000; font-weight:BOLD; font-size:13px; text-decoration:; } h6{ color: #000000; font-weight:BOLD; font-size:14px; text-decoration:; } hr{ border-top-width: 1px; border-top-style: solid; border-top-color: #cccccc; } ul { list-style: disc outside none; margin-left: 0; } li { padding-left: 1em; } --> 背景 1) サービスマッピングのビジネスサービスマップには、バックエンドに「サービスモデル」データ構造があります。 2)「ビューマップ」を依頼すると、システムは「サービスモデル」をJSON形式で生成する必要があり、ページはデータをレンダリングします。 3) Kingston リリースでは、サービスモデルの再計算を行う「Recompute Business Service」という名前の「関連リンク」がビジネスサービスにあります。 4) 各「検出サービス」(cmdb_ci_service_discovered)の「関連リンク」には、3つの追加リンクがあります。現時点では「メンテナンス」のためにのみ表示されています。 それらは次のとおりです。a) 「サービスモデル JSON を表示」b) 「サービスモデルと同期」c) 「サービスモデルから削除」 注意:3 つのリンクは、インスタンスの「UI アクション」で定義されます。これらのリンクにアクセスする場合は、それぞれのレコードを開き、特定のユーザーにのみ表示するように条件を変更し、「挿入と維持」を実行して別のレコードを作成します。これらの機能を誤用すると、インスタンスでパフォーマンスの問題が発生する可能性があります。 チェック 「ディスカバリーサービス」(cmdb_ci_service_discovered) が表示されない場合は、「サービスモデル」JSON が正しい情報を返しているかどうかを確認する必要があります。 これを行うには、[サービスモデル JSON を表示] リンクをクリックし、適切な JSON オブジェクトが表示されているかどうかを確認します。「null」という単語のみが返される場合は、「ビジネスサービス」の適切な「エントリポイント」があるかどうかを確認してください。 「ビジネスサービス」の適切な「エントリポイント」がある場合は、次のクイックフィックスを試すことができます。 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: ; } } Resolution<!-- /*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: ; } } クイックフィックス 1 「サービスモデル JSON を表示」に「null」という単語のみが返される場合は、[ビジネスサービスの再計算] を 1 回クリックしてみてください。 これは、「ビジネスサービス」の「サービスモデル」の「再計算」を行うことです。 しばらくしてから、「サービスモデル JSON を表示」を試して、適切な JSON が返されるかどうかを確認します。 それでも同じ結果が返される場合は、この KB の下部にある「サービスモデルのトラブルシューティング」に記載されているバックグラウンドスクリプトを試すことができます。 クイックフィックス 2 最初に「ビジネスサービスの再計算」を試してください。 それでも「サービスモデル JSON を表示」に「null」という単語のみが返される場合は、[サービスモデルと同期] を 1 回クリックしてみてください。 これは、「ビジネスサービス」の「サービスモデル」の「再計算」を行うことです。 **注意して使用してください**この「サービスモデルとの同期」では、ビジネスサービスが削除され、そのエントリポイントおよび境界エンドポイントとともにサービスモデルに追加されます。その結果、すべてのビジネスサービス履歴がリセットされます。 しばらくしてから、「サービスモデル JSON を表示」を試して、適切な JSON が返されるかどうかを確認します。 クイックフィックス 3 最初に「ビジネスサービスの再計算」と「サービスモデル JSON の同期」を試してください。 場合によっては、「サービスモデル」全体を再度実行する必要がある場合があります。 警告:この手順を実行すると、ビジネスサービスの歴史全体が永遠に消えてしまいます。 手順は次のとおりです。1) [サービスモデルから削除] をクリックします。2) [サービスモデルと同期] をクリックします。 確認するには、[サービスモデル JSON を表示] をもう一度クリックして、適切な JSON が返されるかどうかを確認します。 サービスモデルのトラブルシューティング 上記のクイックフィックスを試しても、「サービスモデル JSON を表示」が 1 つの単語「null」を返す場合は、システムが「サービスモデル」の「再計算」を実行しようとして問題が発生したことを示唆している可能性があります。 これを行うには、インスタンスで「バックグラウンドスクリプト」を使用して次のスクリプトを実行する必要があります。 // Begin Script gs.setProperty("glide.cmdb.logger.source.service_mapping.coordinator","info,warn,error,*"); gs.setProperty("glide.cmdb.logger.source.service_mapping.template", "info,warn,error,*"); gs.setProperty("glide.cmdb.logger.source.service_mapping.matching", "info,warn,error,*"); gs.setProperty('glide.transaction.max_logs', 200*10000); var gr = new GlideRecord('cmdb_ci_service_discovered'); gr.get('<replace_with_business_service_sys_id'); // <<<<<<<======= replace argument with service sys_id var layerId= gr.layer; var layerGr= new GlideRecord('svc_layer'); layerGr.get(layerId); var env= sn_svcmod.ServiceContainerFactory.loadEnvironment(layerGr.environment); var allLayers= env.layers(); for (var i= 0 ; i< allLayers.length; i++) { var layer = allLayers[i]; layer.markRecomputationNeeded(); } SNC.ServiceMappingFactory.recomputeLayer(layerGr); gs.setProperty('glide.transaction.max_logs', 200*1000); gs.setProperty("glide.cmdb.logger.source.service_mapping", "info,warn,error"); gs.setProperty("glide.cmdb.logger.source.service_mapping.coordinator", "info,warn,error"); gs.setProperty("glide.cmdb.logger.source.service_mapping.template", "info,warn,error"); gs.setProperty("glide.cmdb.logger.source.service_mapping.matching", "info,warn,error"); // End Script