POC ガイド:OData と API クライアントを使用して PowerBI を DaaS モニターに接続する方法

概要

Citrix DaaS のお客様は、通常、組織内で複数の監視ツールが使用されています。チームが異なれば、使用するソリューションも異なります。あるチームがインフラストラクチャコンポーネントを監視し、別のチームがセキュリティと脅威ハンティングを担当する場合があります。オブザーバビリティと一元化されたダッシュボードの必要性は、お客様の要望の上位にあります。Citrix にはそれを支援する方法があります! この POC ガイドでは、基本的なダッシュボードを作成する方法について説明します。ここではPowerBIを使用しますが、これはODataを介してデータを接続および取得できるソリューションであればどれでもかまいません。

読みやすく、文書化しやすくするために、このブログの鍵と秘密はぼやけていません。 スクリーンショットの顧客テナントID、キー、シークレットは無効です。必ず接続の詳細に置き換えてください。

Citrix Cloud でAPIクライアントを作成する

まず、API クライアントを作成します。Citrix Cloud サービスAPIを使用するには、Citrix Cloud アカウントが必要です。新しい管理者の場合は、既存のCitrix Cloud管理者に招待してもらい、Citrix DaaS、IDおよびアクセス管理への権限を付与するか、APIクライアントを作成する必要があります。 開始するには、 Citrix Cloudにログインしてください 。Citrix Cloudにアクセスできるようになったら、次の手順に従います。

  1. Citrix Cloudコンソールで、画面の左上隅にあるメニューをクリックします。

    Citrix Cloud

  2. メニューから [ ID とアクセス管理 ] オプションを選択します。このオプションが表示されない場合は、API クライアントを作成するための適切な権限がない可能性があります。

    Citrix Cloud

  3. API アクセスタブを選択します

    Citrix Cloud

  4. セキュアクライアントにわかりやすい名前を付けて、他のクラウド管理者が後でこのキーの使用目的 (PowerBI-Dashboard など) を確認して、「クライアントを作成」をクリックします。

    Citrix Cloud

  5. 次のメッセージが表示されます。 ID とシークレットは正常に作成されました。クライアント ID とシークレットをダウンロードするか、コピーして保存します。API にアクセスするには両方が必要です。

    Citrix Cloud

  6. 前のダイアログを閉じた後、[クライアントを作成] ボタンの上の説明、または画面の右上隅にある CCID ラベルにある顧客 ID をメモしておきます。これは後で API にアクセスする際に必要になります。

    Citrix Cloud

ベアラートークンの作成-手動

まず、認証してデータを取得できるかどうかをテストします。気づいていないプロキシやファイアウォールの制限があるかもしれません。不必要なトラブルシューティングを避けるために、物事をシンプルに保っています。これには、開発者ポータルと API エクスプローラーを使用する方法と、コマンドラインを使用する方法の 2 つがあります。

API エクスプローラーの使用

  1. 最も簡単な方法の 1 つは、 開発者ポータルを開いてInvoke API 関数を利用することです。

    Citrix Cloud

  2. API を起動」をクリックした後、「 承認 」ボタンをクリックします。以前にダウンロードしたクライアントIDとクライアントシークレットを要求するポップアップが表示されます。

    Citrix Cloud

  3. 「生成」をクリックすると、フォームは認証用のベアラートークンを提供します。トリプルクリックまたはシングルクリックで Ctrl+A キーを押すと、ベアラートークンを選択してコピーできます。

    Citrix Cloud

  4. この方法を使用した場合は、簡単にするためにベアラートークンのコピーを一時的なメモ帳に持っていってください。トークン自体から始まる前は、トークンは CWSauth bearer= という形式になっていることに注意してください。また、 Bearerトークンは通常1時間有効で、その後有効期限が切れることを覚えておくことも重要です。この処理中にトークンが無効になった場合は、同じ手順に従って新しいトークンを生成します。

注:

このガイドが終了すると、PowerBI は自動的にトークンを作成します。

cURL を使用する

ここでは、Windows 用 GIT と、このバンドルに付属している Git Bash を使用しています。また、cURLクライアントやWindows上のLinuxなど、最適なオプションをダウンロードすることもできます。コマンドはおそらく同じでしょう。

  1. このコマンドは、米国を自分の地域(米国、EU、AP-S、または日本のクラウドapi.citrixcloud.jp)、client_id、および以前に作成した詳細を含むclient_secretに置き換えてから実行してください

    curl 'https://api-us.cloud.com/cctrustoauth2/root/tokens/clients' --data-raw 'client_id=a7bd32de-h6c6-41d8-9138-d24354fb758a&client_secret=B9bhC3cn_08Ot9axi_5cgD==%3D%3D&grant_type=client_credentials'

    注:

    ブラウザメソッドを使用する以外に、「ey」で始まるaccess_tokenが取得されます。 また、手作業で CWSAuth bearer= を先頭に追加する必要があります。

  2. この方法を使用した場合は、簡単にするためにベアラートークンのコピーを一時的なメモ帳に持っていってください。

Power BI を使用してCitrix Cloud に接続

  1. 接続の詳細は複数回使用する必要があるため、準備してください。
  2. 同じメモ帳に、前述の顧客ID/CCIDをコピーします。この例のスクリーンショットでは、dcint216d0e6でした。

  3. PowerBI を起動し、空のワークスペース/新しいレポートで開く

    Citrix Cloud

  4. [ 別のソースからデータを取得 ] をクリックし、[接続] をクリックして [ Web ] を選択します。

    Citrix Cloud

  5. 詳細設定 」を選択し、説明に従ってコンテンツを置き換えます。

    Citrix Cloud

  6. 最初の接続テストでは、 https://api-us.cloud.com/monitorodataに接続します。これにより、使用可能なすべてのリソースのリストが表示されます。これにより、クエリのタイプミスを防ぎ、同時に優れた概要を把握できます。

  7. これらの手順を60分以内に実行し、ファイアウォールがCitrix Cloudへの接続を許可している場合、次のような画面が表示されます:

    Citrix Cloud

  8. デスクトップの場合は /DesktopGroups、 セッションの場合は /Sessions、Users テーブルには /**Users を 追加して、関心のある各テーブルで同じ接続手順を繰り返します。 とりあえず、シンプルにしてください。間もなく、ベアラートークンの作成プロセスを自動化します。

  9. この例では、次のテーブルとリレーションを作成しました:

    Citrix Cloud

  10. この接続により、すでにいくつかの基本的なビジュアライゼーションを作成できるようになっています。

    Citrix Cloud

PowerBI に関数を使用してベアラートークンを自動的に作成させる

まず、PowerBI内で関数を作成し、Bearerトークンを使用する代わりにこの関数を呼び出すようにソースを更新する必要があります。

  1. 空白のクエリを作成

    Citrix Cloud

  2. クエリに GetAccessToken (右側のメニューペイン/プロパティ) という名前を付け、次の内容をクエリに入力します:

    let
    tokenUrl = "<https://api-eu.cloud.com/cctrustoauth2/root/tokens/clients>", // get citrix cloud API credential (bearer token)
    headers = [
    # "customerid" = "the-ccid-from-step-1", // CCID displayed in citrix cloud tenant
    # "Content-Type" = "application/x-www-form-urlencoded", //format for powerbi
    # "Accept" = "\*/\*"
    ],
    postData = [
    grant_type = "client_credentials",
    client_id = "the-long-customer-id-from-step1", // here your API key from cloud.com identity
    client_secret = "the-short-secret-from-step-1" // here your API secret
    ],
    response = Json.Document(Web.Contents(tokenUrl, [Headers = headers, Content = Text.ToBinary(Uri.BuildQueryString(postData))])),
    // get the CC bearer token from the response and add the in header expected 'CwsAuth bearer' in front
    access_token = "CwsAuth bearer=" & response[access_token]
    in
    access_token
<!--NeedCopy-->

結果は次のようになるはずです:

Citrix Cloud

  1. PowerBI Advanced Editorを使用して、既存のクエリを変更して新しい機能を使用します。

    • PowerBIの設定と、これに慣れているかどうかによっては、「 Formula.Firewall: クエリが他のクエリを参照している」または「ステップ 」というエラーメッセージが表示される場合があります。

    Citrix Cloud

    • 簡単な解決策は、 PowerBIの [ファイル] > [オプション] > [プライバシー] をクリックし、[プライバシーレベルを無視する] を選択することです

    Citrix Cloud

  2. パワー・クエリー・エディターで、既存のクエリーを右クリックして「 パワー・エディター」を選択します。

    Citrix Cloud

  3. クエリ内のベアラートークンを削除して、新しく作成した関数 getAccessToken に置き換えます。これで、「」や「() なしで authorization=getAccessToken」という行が表示されるはずです

    Citrix Cloud

  4. [ Done] と [ Close & Apply] をクリックすると、新しい関数と更新されたクエリが新しいトークンを取得し、コンテンツを正常に更新するはずです。

このステップが正常に機能していることを確認したら、以前に追加した他のクエリを更新して関数を利用することもできます。

まとめ

お気づきかもしれませんが、一定の制限があります。

アクセス権

Citrix CloudでモニターAPIに対してODataクエリを実行するために必要な権限は、 少なくとも読み取り専用管理者です。詳細については、 データアクセス権限のドキュメントをご覧ください

ページネーション

モニター API は、1 回の呼び出しで 100 件のレコードを返すため、スクリプトが 100 件を超えるレコードをクエリするように設計されている場合は、ページネーションを処理するか、ライブクエリなどを使用してそれに応じて結果をフィルタリングするようにスクリプトを変更する必要があります。

データの細分性と保持

Citrix Monitorは、さまざまな種類のデータをさまざまな粒度で保存および集約します。Monitor API を使用してデータを取得したときに得られる結果を理解するには、データの粒度を知ることが不可欠です。

たとえば、セッション RTT を含む SessionMetrics データは 1 日間しか使用できませんが、セッション自体は、デフォルトで Premium Edition では 90 日間、Advanced では 31 日間利用できます。

これは、Citrix Director and Monitorの目的が、ヘルプデスクチームのセッションのリアルタイムのトラブルシューティングと優先順位付けであるためです。

モニターデータ保持について詳しくは、こちらをご覧ください。

過去の洞察と分析をお探しですか

現在、 プライベートプレビューのCitrix Analytics OData接続では、13か月分の履歴データとより多くの洞察が得られます。そのためには、Citrix Analyticsを導入する必要があります。これにより、接続されているさまざまなサイトからさらに多くのメトリックを取得できます。

POC ガイド:OData と API クライアントを使用して PowerBI を DaaS モニターに接続する方法