構成ログ

構成ログ機能では、管理者によるサイト構成の変更やそのほかの管理操作がデータベースに記録されます。このログは、以下の目的で使用できます:

  • 構成変更の履歴を確認して問題の診断およびトラブルシューティングを行う。
  • 変更管理の補助および構成の追跡を行う。
  • 管理アクティビティのレポートを生成する。

Citrix Studioでは、構成ログの基本設定を変更したり、構成ログを表示したり、HTMLおよびCSV形式のレポートを生成したりできます。日範囲および全文検索の結果により構成ログ表示をフィルターできます。必須ログ機能を有効にすると、ログが記録可能になるまで管理者による構成の変更が禁止されます。適切な権限を持つ管理者は、構成ログのエントリを削除できます。構成ログ機能では、ログの内容を編集することはできません。

構成ログでは、PowerShell SDKとConfiguration Logging Serviceが使用されます。構成ログサービスは、サイト内のすべてのControllerで実行されます。任意のControllerに障害が発生しても、ほかのControllerが自動的にログ要求を処理します。

デフォルトでは、構成ログ機能は有効で、サイト作成時に作成されたデータベース(サイト構成データベース)が使用されます。データベースには別の場所を指定できます。構成ログデータベースでは、サイト構成データベースと同じ高可用性機能がサポートされます。

構成ログにアクセスするには、[ログ基本設定を編集]および[構成ログを表示]権限が必要です。

構成ログの言語には、作成時のロケールが適用されます。たとえば、英語で作成されたログは、管理者側のロケールには関係なく英語で表示されます。

ログの内容

構成ログには、Studio、Director、およびPowerShellスクリプトから開始された構成の変更および管理アクティビティのログが記録されます。以下の項目に対する作成、編集、削除などの操作が構成ログに記録されます。

  • マシン カタログ
  • デリバリーグループ(電源管理設定の変更を含む)
  • 管理者の役割とスコープ
  • ホストのリソースおよび接続
  • Studioで構成するCitrixポリシー

ログが記録される管理変更の例には次のものがあります。

  • 仮想マシンまたはユーザーのデスクトップの電源管理
  • StudioまたはDirectorからユーザーへのメッセージ送信

次の操作はログに記録されません。

  • 仮想マシンのプール管理電源オンなどの自動操作。
  • グループポリシー管理コンソール(GPMC)でのポリシー操作。これらの操作のログはMicrosoftのツールを使って表示できます。
  • レジストリによる変更、データベースの直接的な変更、およびStudio、Director、PowerShell以外での変更。
  • 展開の初期化後、最初のConfiguration Logging ServiceインスタンスがConfiguration Serviceに登録されたときに構成ログが有効になります。このため、構成の初期のアクティビティが記録されない場合があります(ハイパーバイザーの初期化時にデータベーススキーマが取得および適用される場合など)。

構成ログの管理

デフォルトでは、サイトの作成時に作成されたデータベース(サイト構成データベース)に構成ログが記録されます。Citrixは、以下の理由により、構成ログデータベース(および監視データベース)には別の場所を使用することを推奨しています。

  • 構成ログデータベースのバックアップ方針が、サイト構成データベースのバックアップ方針と異なる場合があります。
  • 構成ログ(およびMonitoring Service)で収集されるデータの量によっては、サイト構成データベース用の領域が不足する場合があります。
  • データベースを分散させると、単一ポイント障害の問題が解消されます。

構成ログをサポートしない製品エディションでは、Studioに[ログ]ノードが表示されません。

構成ログおよび必須ログの有効化および無効化

構成ログ機能はデフォルトで有効になっており、必須ログ機能は無効になっています。

  1. Studioのナビゲーションペインで [ログ] ノードを選択します。
  2. [操作]ペインの [基本設定] を選択します。[ログ設定]ダイアログボックスが開き、データベースに関する情報と、構成ログおよび必須ログ機能の有効/無効が表示されます。
  3. 望ましい操作を選択します:

    構成ログを有効にするには、[有効] をクリックします。これがデフォルトの設定です。データベースに書き込みができない場合、ログ情報は破棄されますが構成内容は正しく反映されます。

    構成ログを無効にするには、[無効]をクリックします。それまでに記録されたログの内容は、PowerShell SDKで読み取ることができます。

    必須ログ機能を有効にするには、[データベースが切断されている場合の構成変更を禁止する]をクリックします。通常ログに記録される構成の変更や管理作業は、構成ログデータベースへの書き込みが可能になるまで許可されません。必須ログ機能は、構成ログが有効な場合(*有効*が選択されている場合)にのみ有効にできます。Configuration Logging Serviceに障害が発生して、しかも高可用性が無効な場合、必須ログが有効になります。このような場合、構成ログデータベースに記録されるようなタスクは実行できなくなります。

    必須ログ機能を無効にするには、[データベースが切断されていても構成変更を許可する] をクリックします。構成ログデータベースにアクセスできない場合でも、管理者は構成の変更やそのほかの管理タスクを実行できます(管理タスクが優先されます)。これがデフォルトの設定です。

構成ログデータベースの場所の変更

必須ログ機能が有効になっている場合、データベースの場所を変更することはできません。データベースの変更時に短時間データベースから切断されるためです。

  1. サポートされるバージョンのSQL Serverを使用してデータベースサーバーを作成します。
  2. Studioのナビゲーションペインで [ログ] ノードを選択します。
  3. [操作]ペインの [基本設定] を選択します。
  4. [ログ設定]ダイアログボックスで [ログデータベースの変更] をクリックします。
  5. [ログデータベースの変更]ダイアログボックスで、新しいデータベースサーバーが入っているサーバーの場所を指定します。有効な形式については、「データベースのアドレス形式」を参照してください。
  6. Studioで自動的にデータベースを作成する場合は、[OK] をクリックします。確認のメッセージが表示され、[OK] をクリックするとデータベースが自動的に作成されます。現在のStudioユーザーの資格情報を使ってデータベースへのアクセスが試行されます。それが失敗すると、データベースユーザーの資格情報の入力を求められます。アクセスに成功すると、データベーススキーマがデータベースにアップロードされます(資格情報はデータベース作成時のみ保持されます)。
  7. データベースを手動で作成する場合は、[データベーススクリプトの生成] をクリックします。生成されるスクリプトにはデータベースを手動で作成するためのコマンドが記述されます。スキーマをアップロードする前に、データベースが空であること、および1人以上のユーザーがそのデータベースにアクセスでき、変更できることを確認してください。

変更前のデータベース内の構成ログデータは変更後のデータベースにインポートされません。構成ログデータベースの場所を変更する場合、変更前のデータベースの内容は集約されなくなります。変更後の構成ログデータベースの最初にデータベースの変更を示すログが記録されますが、変更前のデータベースの場所は記録されません。

構成ログの内容の表示

管理者が構成の変更などの管理作業を開始すると、StudioやDirectorによって作成された高レベル操作がStudioの中央ペインの上部に表示されます。高レベル操作により1つまたは複数のサービスおよびSDKの呼び出しが実行されます。これは、低レベル操作です。ペインの上部で高レベル操作を選択すると、ペインの下部に低レベル操作が表示されます。

操作が完了する前に失敗すると、データベースでログ操作が完結しない場合があります。たとえば、開始レコードに対応する停止レコードがないなどです。このような場合、情報不足であることがログに示されます。時間の範囲を指定してログを表示する場合、未完結のログが表示される場合があります。たとえば、直近5日間のログを表示するときにその5日間に開始時間のみが含まれ、終了時間が含まれていない場合も、その操作のログが表示されます。

PowerShellコマンドレットを呼び出すスクリプトを使う場合、親の高レベル操作を指定せずに低レベル操作を作成すると、構成ログにより代わりの高レベル操作が作成されます。

構成ログの内容を表示するには、Studioのナビゲーションペインで [ログ] ノードを選択します。デフォルトでは、中央ペインにログコンテンツが時系列順に(最新のエントリが最初に)表示されます。以下のことができます:

  • 列の見出しで表示を並べ替える。
  • 日間隔を指定するか、[検索] ボックスにテキストを入力して、表示をフィルタリングする。検索後に通常の表示に戻すには、[検索] ボックスのテキストをクリアします。

レポートの生成

構成ログデータをCSVおよびHTML形式のレポートとして書き出すことができます。

  • CSV形式のレポートには、指定した期間のすべてのログデータが書き込まれます。データベースの階層データが単一のCSVテーブルとして出力されます。データの特定の要素に基づいて並べ替えられたものではありません。書式も適用されず、読み取りやすさについても考慮されていません。レポートファイル(MyReport)には、汎用的な書式でデータが書き出されます。CSVファイルはデータのアーカイブ化や、レポート機能またはMicrosoft Excelなどデータ操作ツールのデータソースとして使用されます。
  • HTML形式のレポートには、指定した期間のログデータが判読可能な形式で書き込まれます。変更内容の確認が容易な、構造的でナビゲーション可能なレポートです。HTMLレポートでは、概要(Summary)および詳細(Details)の2つのファイルが生成されます。概要レポートには、各操作の実行日時、操作主、および操作結果など、より高レベルな情報が一覧で表示されます。各操作項目の横にある[詳細]リンクをクリックすると詳細ファイルが開き、より低いレベルの操作に関する情報を参照できます。

構成ログレポートを生成するには、Studioのナビゲーションペインで [ログ] ノードを選択し、[操作]ペインの [カスタムレポートの作成] を選択します。

  • レポートの日付の範囲を選択します。
  • レポート形式として、[CSVファイル]、[HTML]、または[両方]を選択します。
  • レポートを保存する場所を参照します。

構成ログの内容の削除

構成ログを削除するには、特定の委任管理権限およびSQL Serverデータベース権限が必要です。

  • 委任管理: 展開構成を読み取ることができる委任管理の役割が必要です。すべての管理権限を実行できる管理者には、この権限があります。カスタムの役割では、[そのほかの権限]カテゴリで[読み取り専用]または[管理]権限を選択する必要があります。

    構成ログデータを削除する前にバックアップを作成するには、[ログ]カテゴリで[読み取り専用]または[管理]権限を選択する必要もあります。

  • SQL Serverデータベース: データベースからレコードを削除するための権限を持つSQL Serverのログインアカウントが必要です。次のいずれかの方法を使用します:

    • データベースに対するすべての権限を持つsysadminサーバーロールを持つSQL Serverデータベースログインを使用します。また、serveradminまたはsetupadminサーバーロールでも削除操作を実行できます。

    • 高度なセキュリティが必要な環境では、データベースからレコードを削除する権限を持つデータベースユーザーにマップされた非sysadminデータベースログインを使用します。

      1. SQL Server Management Studioで、sysadmin以外のサーバーロールを持つSQL Serverログインを作成します。
      2. 作成したログインをデータベースのユーザーにマップします。SQL Serverにより、ログインと同じ名前のユーザーがデータベースに作成されます。
      3. データベースロールのメンバーシップとして、このデータベースユーザーにConfigurationLoggingSchema_ROLEまたはdb_ownerのロールを指定します。

      詳しくは、SQL Server Management Studioのドキュメントを参照してください。

構成ログを削除するには、以下の手順に従います:

  1. Studioのナビゲーションペインで [ログ] ノードを選択します。
  2. [操作]ペインの [ログの削除] を選択します。
  3. 削除する前にログのバックアップを作成するかどうかを確認するメッセージが表示されます。バックアップを作成する場合は、バックアップを保存する場所を参照します。バックアップはCSVファイルとして作成されます。

構成ログを削除すると、その削除操作が最初のエントリとしてログに記録されます。このエントリには、いつだれがログを削除したのかが記述されます。