すべてのプロダクト
Search
ドキュメントセンター

Application Real-Time Monitoring Service:セルフマネージド Web アプリケーションへの Grafana ダッシュボードの埋め込み

最終更新日:Jul 02, 2025

このトピックでは、セルフマネージド Web アプリケーションに Grafana ダッシュボードを埋め込む方法について説明します。この方法を使用すると、システムを切り替えたり、Grafana にログインしたりすることなく、アプリケーションで Grafana ダッシュボードを表示できます。

背景情報

セルフマネージド Web アプリケーションに Grafana ダッシュボードを埋め込む操作には、次の利点があります。

  • 独自のシステムにログインして、埋め込まれた Grafana ダッシュボードを参照できます。

  • Grafana の上部ナビゲーションバーと左側のナビゲーションウィンドウを非表示にできます。詳細については、「手順 5」をご参照ください。

ワークフロー

次の図は、外部システムが Grafana にアクセスする方法を示しています。

image

手順 1:RAM ユーザーを作成し、RAM ユーザーに権限を付与する

Alibaba Cloud アカウントを使用して RAM ユーザーを作成し、RAM ユーザーが セキュリティトークンサービス (STS) を呼び出して RAM ロールをアサインする権限を付与します。

  1. 管理者権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーを使用して、RAM コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[ID] > [ユーザー] を選択します。

  3. [ユーザー] ページで、[ユーザーの作成] をクリックします。image

  4. [ユーザーの作成] ページで、ログオン名表示名[ユーザーアカウント情報] セクションの コンソールアクセスアクセスモードOK パラメーターと パラメーターを設定し、 セクションで を選択し、 をクリックします。

    重要

    RAM は RAM ユーザーの AccessKey ペアを自動的に生成します。これにより、RAM ユーザーは必要な API 操作を呼び出すことによって STS にアクセスできます。セキュリティ上の理由から、RAM コンソールでは、AccessKey シークレットを 1 回だけ表示またはダウンロードできます。そのため、AccessKey ペアを作成する際は、関連する AccessKey シークレットを厳重に管理する必要があります。

  5. [ユーザー] ページで、必要な RAM ユーザーを見つけ、権限を追加[アクション] 列の をクリックします。

    image

    複数の RAM ユーザーを選択し、ページ下部の [権限の追加] をクリックして、一度に複数の RAM ユーザーに権限を付与することもできます。

  6. [ポリシー] セクションの [権限の付与] パネルで、AliyunSTSAssumeRoleAccess を追加し、[権限を付与] をクリックします。

  7. [閉じる] をクリックします。

手順 2:RAM ロールを作成し、RAM ロールに権限を付与する

RAM ロールを作成し、Application Real-Time Monitoring Service (ARMS) コンソールにアクセスするための権限を RAM ロールに付与します。その後、RAM ユーザーは RAM ロールをアサインして ARMS コンソールにアクセスできます。

  1. 信頼できる Alibaba Cloud アカウントの RAM ロールを作成する

  2. RAM ロールに権限を付与する:

    • AliyunARMSFullAccess: ARMS へのフルアクセス権限

    • AliyunARMSReadOnlyAccess: ARMS への読み取り専用権限

手順 3:一時的な AccessKey ペアと STS トークンを取得する

セルフマネージド Web アプリケーションにログインし、Web サーバーで STS の AssumeRole 操作を呼び出して、一時的な AccessKey ペアと STS トークンを取得します。これらは一時的な認証情報として使用されます。AssumeRole 操作の詳細については、「AssumeRole」をご参照ください。

次のいずれかの方法を使用して、AssumeRole 操作を呼び出すことができます。

Java 用 RAM SDK を例として使用します。

Java 用 SDK を使用する場合、次のパラメーターを設定します。

String accessKey = "<accessKeyId>"; // RAM ユーザーの AccessKey ID。
String accessSecret = "<accessKeySecret>"; // RAM ユーザーの AccessKey シークレット。
String roleArn = "<roleArn>"; // RAM ロールの Alibaba Cloud リソースネーム (ARN)。

RAM ユーザーの AccessKey ID と AccessKey シークレットは、RAM ユーザーの作成時に提供されます。詳細については、「AccessKey ペアを作成する」をご参照ください。

RAM ロールの ARN を取得するには、次の手順を実行します。

  1. RAM コンソール の左側のナビゲーションウィンドウで、[ID] > [ロール] を選択します。[ロール] ページの下部で、ARN を取得する RAM ロールの名前をクリックします。

  2. 表示されるページで、ARN[基本情報] セクションの パラメーターの値をコピーします。

    Example ARN

手順 4:ログイントークンを取得する

STS の AssumeRole 操作を呼び出して一時的な AccessKey ペアと STS トークンを取得した後、GetSigninToken 操作を呼び出してログイントークンを取得します。

重要

一時的な STS トークンには、特殊文字が含まれている場合があります。トークンを使用する前に、URL エンコード方式を使用して特殊文字をエンコードする必要があります。

リクエスト例:

https://signin.alibabacloud.com/federation?Action=GetSigninToken
    &AccessKeyId=<STS が返した一時的な AccessKey ID>
    &AccessKeySecret=<STS が返した一時的な AccessKey シークレット>
    &SecurityToken=<STS が返したトークン>
説明

セルフマネージド Web アプリケーションが仮想ネットワークオペレーターによってデプロイされている場合は、&TicketType=mini パラメーターを追加する必要があります。

手順 5:ログイン不要の URL を生成する

取得したログイントークンと、埋め込む Grafana ダッシュボードの URL を使用して、ログイン不要の URL を生成します。この URL を使用すると、Grafana にログインすることなく、セルフマネージド Web アプリケーションから Grafana ダッシュボードにアクセスできます。

説明

ログイントークンは 3 時間有効です。セルフマネージド Web アプリケーションで URL を構成して、リクエストごとに新しいログイントークンを生成することをお勧めします。

  1. Grafana から埋め込みたいダッシュボードの URL を取得します。

    説明
    • 左側のナビゲーションウィンドウを非表示にするには、URL の検索セクションに kiosk=tv を追加します。

    • 上部のナビゲーションバーと左側のナビゲーションウィンドウを非表示にするには、URL の検索セクションに kiosk を追加します。

    • 上部のナビゲーションバーと左側のナビゲーションウィンドウを非表示にし、右上隅のタイムセレクターは保持するには、URL の検索セクションに kiosk=tv2 を追加します。

  2. ログイン トークンと Grafana ダッシュボードの URL を使用して、ログイン不要の URL を生成します。

    http://signin.alibabacloud.com/federation?Action=Login
        &LoginUrl=<セルフマネージド Web サイトでログインに失敗し、302 HTTP ステータスコードが返された場合にリダイレクトされる URL>
        &Destination=<Grafana ダッシュボードの URL>
        &SigninToken=<取得したログイントークン>
  3. ログイン不要の URL を使用して、ブラウザで ARMS コンソールページにアクセスします。