XenApp and XenDesktop

構成ロギング

構成ログは、サイト構成の変更と管理アクティビティをデータベースに記録します。記録されたコンテンツは、次の目的で使用できます。

  • 構成変更が行われた後の問題の診断とトラブルシューティング。ログは追跡記録を提供します
  • 変更管理を支援し、構成を追跡する
  • 管理アクティビティを報告する

Citrix Studioから、構成ログ設定を行い、構成ログを表示し、HTMLおよびCSVレポートを生成できます。構成ログの表示は、日付範囲と全文検索結果でフィルタリングできます。強制ログ記録が有効になっている場合、ログに記録できない限り構成変更は行われません。適切な権限があれば、構成ログからエントリを削除できます。構成ログ機能を使用してログコンテンツを編集することはできません。

構成ログは、PowerShell SDKと構成ログサービスを使用します。構成ログサービスは、サイト内のすべてのコントローラで実行されます。いずれかのコントローラで障害が発生した場合、別のコントローラ上のサービスが自動的にログ記録要求を処理します。

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

構成ログへのアクセスは、委任管理を通じて、「ログ設定の編集」および「構成ログの表示」権限によって制御されます。

構成ログは、作成時にローカライズされます。たとえば、英語で作成されたログは、閲覧者のロケールに関係なく、英語で読み取られます。

ログに記録される内容

Studio、Director、およびPowerShellスクリプトから開始された構成変更と管理アクティビティがログに記録されます。ログに記録される構成変更の例には、次の操作(作成、編集、削除、割り当て)が含まれます。

  • マシンカタログ
  • デリバリーグループ(電源管理設定の変更を含む)
  • 管理者ロールとスコープ
  • ホストリソースと接続
  • Studio を通じて設定される Citrix ポリシー

ログに記録される管理変更の例は次のとおりです。

  • 仮想マシンまたはユーザーデスクトップの電源管理
  • Studio または Director がユーザーにメッセージを送信する

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

  • プール管理による仮想マシンの電源投入などの自律的な操作。
  • グループポリシー管理コンソール (GPMC) を介して実装されたポリシーアクション。これらのアクションのログを表示するには、Microsoft ツールを使用してください。
  • レジストリ、データベースへの直接アクセス、または Studio、Director、PowerShell 以外のソースを介して行われた変更。
  • 展開が初期化されると、最初の構成ログサービスインスタンスが構成サービスに登録されたときに、構成ログが利用可能になります。したがって、構成の非常に初期の段階(たとえば、データベーススキーマが取得および適用されたとき、ハイパーバイザーが初期化されたときなど)はログに記録されません。

構成ログの管理

デフォルトでは、構成ログはサイトの作成時に作成されるデータベース(サイト構成データベースとも呼ばれます)を使用します。Citrix は、次の理由により、構成ログデータベース(および監視データベース)に別の場所を使用することをお勧めします。

  • 構成ログデータベースのバックアップ戦略は、サイト構成データベースのバックアップ戦略とは異なる可能性があります。
  • 構成ログ(および監視サービス)のために収集されるデータ量によって、サイト構成データベースで利用可能な領域に悪影響が及ぶ可能性があります。
  • これにより、3つのデータベースの単一障害点が分割されます。

注: 構成ログをサポートしない製品エディションには、Studioにログノードがありません。

構成ログと強制ログの有効化と無効化

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

  1. Studioのナビゲーションペインでログを選択します。
  2. アクションペインで設定を選択します。構成ログダイアログボックスにはデータベース情報が含まれており、構成ログと強制ログが有効か無効かを示します。
  3. 目的のアクションを選択します:

構成ログを有効にするには、有効ラジオボタンを選択します。これはデフォルト設定です。データベースに書き込めない場合、ログ情報は破棄されますが、操作は続行されます。

構成ログを無効にするには、無効ラジオボタンを選択します。以前にログが有効になっていた場合、既存のログはPowerShell SDKで読み取り可能です。

強制ログを有効にするには、データベースが利用できない場合にサイト構成への変更を防止するラジオボタンを選択します。通常ログに記録される構成変更や管理アクティビティは、構成ログデータベースに書き込める場合にのみ許可されます。強制ログは、構成ログが有効になっている場合、つまり有効ラジオボタンが選択されている場合にのみ有効にできます。構成ログサービスが失敗し、高可用性が使用されていない場合、強制ログが適用されます。そのような場合、通常ログに記録される操作は実行されません。

強制ログを無効にするには、データベースが利用できない場合にサイト構成への変更を許可するラジオボタンを選択します。構成ログに使用されるデータベースにアクセスできない場合でも、構成変更と管理アクティビティは許可されます。これはデフォルト設定です。

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

注: 強制ログが有効になっている場合、データベースの場所を変更することはできません。場所の変更には、ログに記録できない短い切断間隔が含まれるためです。

  1. サポートされているSQL Serverバージョンを使用して、データベースサーバーを作成します。
  2. Studioのナビゲーションペインでログを選択します。
  3. アクションペインで設定を選択します。
  4. 「ログ設定」ダイアログボックスで、「ログデータベースの変更」を選択します。
  5. 「ログデータベースの変更」ダイアログボックスで、新しいデータベースサーバーを含むサーバーの場所を指定します。有効な形式は、Databases記事に記載されています。
  6. Studioでデータベースを作成するには、「OK」をクリックします。プロンプトが表示されたら「OK」をクリックすると、データベースが自動的に作成されます。Studioは、現在のStudioユーザーの資格情報を使用してデータベースへのアクセスを試行します。失敗した場合は、データベースユーザーの資格情報の入力を求められます。その後、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つのファイルで構成されます。Summaryには、各操作がいつ、誰によって、どのような結果になったかという高レベルの操作が一覧表示されます。各操作の横にあるDetailsリンクをクリックすると、Detailsファイル内の低レベルの操作に移動し、追加情報が表示されます。

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

  • レポートの日付範囲を選択します。
  • レポート形式を選択します: CSV、HTML、またはその両方。
  • レポートを保存する場所を参照します。

構成ログコンテンツの削除

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

  • 委任管理 — 展開構成の読み取りを許可する委任管理の役割が必要です。組み込みの完全管理者役割にはこの権限があります。カスタム役割では、その他の権限カテゴリで「読み取り専用」または「管理」が選択されている必要があります。

    構成ログデータを削除する前にバックアップを作成するには、カスタム役割でログ権限カテゴリの読み取り専用または管理も選択されている必要があります。

  • SQL Server データベース — データベースからレコードを削除する権限を持つSQL Serverログインが必要です。これを行うには、2つの方法があります。

    • データベースサーバー上で任意の操作を実行できるsysadminサーバーロールを持つSQL Serverデータベースログインを使用します。あるいは、serveradminまたはsetupadminサーバーロールを使用すると、削除操作を実行できます。

    • 展開で追加のセキュリティが必要な場合は、データベースからレコードを削除する権限を持つデータベースユーザーにマッピングされた、sysadmin以外のデータベースログインを使用します。

      1. 「SQL Server マネジメント スタジオ」で、「sysadmin」以外のサーバーロールを持つSQL Serverログインを作成します。
      2. ログインをデータベース内のユーザーにマッピングします。SQL Serverは、ログインと同じ名前のユーザーをデータベース内に自動的に作成します。
      3. データベースロールメンバーシップで、データベースユーザーのロールメンバーの少なくとも1つを指定します: ConfigurationLoggingSchema_ROLE または dbowner。

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

構成ログを削除するには:

  1. Studioナビゲーションペインで、ログを選択します。
  2. アクションペインで、ログの削除を選択します。
  3. ログを削除する前にバックアップを作成するかどうかを尋ねられます。バックアップを作成することを選択した場合、バックアップアーカイブを保存する場所を参照します。バックアップはCSVファイルとして作成されます。

構成ログがクリアされた後、ログの削除は、空のログに投稿される最初のアクティビティです。そのエントリには、誰がいつログを削除したかに関する詳細が記載されています。

構成ロギング