Dynamics CRM 2015 設置型 監視サービス新機能紹介 その 2

みなさん、こんにちは。

前回に続き、Microsoft Dynamics CRM 2015 設置型の役割である監視サービスの
新機能を紹介します。今回は監視結果の取得 について紹介します。

監視結果をデータベースへ格納

前回紹介した通り、既定で監視結果はファイルとして保存されています。もし
Web サービスや PowerShell 経由で監視結果を確認したい場合は、以下手順で
データベースに結果を格納するように変更します。

1. 展開サービスがインストールされているサーバーにログインします。

2. 以下のコマンドを入力して Powershell モジュールを読み込みます。
>Add-PSSnapin Microsoft.Crm.Powershell

3. 以下のコマンドを入力して現在の監視設定を取得します。
>$setting = Get-CrmSetting –SettingType MonitoringSettings

4. 以下コマンドを実行して設定を確認します。
※前回記事で設定を変えているため、以下画面は既定の設定とは異なります。
>$setting
image

5. 以下のコマンドでデータベースへの格納を有効にします。
>$setting.StoreResultsInDatabase = $true

6. 以下のコマンドでデータベースに保存する監視履歴数を設定します。
ここでは 10 としています。
>$setting.ResultsToKeepInDatabase = 10

7. 以下のコマンドでパスワードを再設定します。前回パスワードを設定した場合も
必ず再設定してください。
>$setting.MonitoringOrganizationUserPassword = “<ユーザーのパスワード>”

8. 以下のコマンドで設定を有効化します。
>Set-CrmSetting $setting

データベースに格納された監視結果は後ほど紹介する PowerShell コマンドで取得
できるほか、以下のクエリでも取得可能です。

USE MSCRM_CONFIG SELECT * FROM MonitoringResults ORDER BY EndTime

監視結果の確認

監視結果は PowerShell のコマンドを利用して出力できます。

監視のサマリを取得

個別の監視結果ではなく、全体の状況を把握したい場合には、以下の
コマンドを実行します。

>Get-CrmMonitoringResult –ServiceHealth

結果は以下のように 1 行で出ます。

image

結果は以下の 4 タイプです。

Healthy – Service Verification Only
- 組織レベルの監視をしていない場合、かつサービスの死活状況に問題がない場合
Healthy
- すべての監視で問題がない場合
Not Healthy
- 1 つでも監視に問題があった場合
No Data
- データベースに監視結果が存在しない場合

詳細な監視結果の確認

詳細な結果は、Get-CrmMonitoringResult コマンドを - ServiceHealth オプション
なしで実行しますが、非常に多くの結果が表示されるため以下オプションを
併用することを検討してください。

TestName
- 任意の監視結果だけ確認できます。テストの一覧は前回の記事をご覧ください。
StartTime/- EndTime
- 任意の期間の監視結果だけを確認できます。
Server
- 特定のサーバーの結果だけを確認できます。
Role
- 特定の役割の結果だけを確認できます。

監視の既知の問題と回避策

ここまで実行していただくと、いくつかの監視が失敗している場合があります。
以下に日本語環境で発生しやすい問題と対処を紹介します。

CheckWebApp

CheckWebApp はダミーの取引先企業レコードを作成して、そのレコードを開く
ことで成功/失敗を判定していますが、結果の文字列に ”Account Name” という
文字列が含まれているか確認します。しかし日本語環境ではレコード上にこの
文字列がないため失敗します。以下手順でレコードをの中身を変更してください。

1. ブラウザで Microsoft Dynamics CRM へ接続します。

2. 取引先企業の一覧より「TestAccountForWebAppTests」レコードを開きます。

3. 「説明」フィールドに 「Account Name」という文字列を追加して保存します。

CheckCrmReporting

CheckCrmReporting は既定のレポートを実行することで成功/失敗を判定して
いますが、英語用のレポートを対象としているため失敗します。次に紹介
するテスト項目の除外よりテストを除外してください。

監視テストの除外

以下の手順で不要な監視を除外することができます。今回は CheckCrmReporting
テストを除外してみます。

1. Microsoft Dynamics CRM サーバーのインストールフォルダ配下にある Mnitoring\
Sample フォルダを開きます。

2. TestsToExclude.xml ファイルをメモ帳等で開きます。

image

3. 除外するテストを追加します。

image

4. ファイルを保存して、Monitoring フォルダ直下にコピーします。

手動での監視テスト実行

手動ですぐに監視テストを実行したい場合、以下の手順で実行できます。

1. Microsoft Dynamics CRM サーバーのインストールフォルダ配下にある Mnitoring\
bin フォルダを開きます。

2. SmokeTest.exe を実行します。

3. 結果が表示されます。

※結果はファイルで表示されます。データベースには格納されません。

まとめ

2 回に渡って Microsoft Dynamics CRM 2015 で強化された監視機能を紹介して
来ましたが、いかがだったでしょうか。付属してくる機能ですので、是非とも
ご活用ください。

参考 URL:Microsoft Dynamics CRM 監視サービス
https://technet.microsoft.com/ja-jp/library/dn905215.aspx