Cisco Cloud Observability Grafana プラグインを使用して、Grafana® などのサードパーティの視覚化ツールで Cisco Cloud Observability データを表示します。Cisco Cloud Observability Grafana プラグインは、Grafana に Cisco Cloud Observability データソースを追加および構成できるようにするデータソースプラグインです。

Cisco Cloud Observability Grafana プラグインは、Grafana とシームレスに統合します。UQL クエリを作成して実行し、Grafana パネルとダッシュボードでクエリ出力を視覚化できます。

Cisco Cloud Observability Grafana プラグインの機能

  • データをすばやく視覚化するために、デフォルトのダッシュボードをインポートします。
    デフォルトのダッシュボードは、Splunk AppDynamics Kubernetes、APM、および AWS ホストモニタリングに使用できます。
  • カスタムメトリックを含む、選択した主要なメトリックを監視します。
  • 1 つのペインにさまざまなメトリックを表示します。
  • 新しいダッシュボードを作成するための所要時間を短縮します。
  • Grafana の高度なチャート作成機能とパネルを利用します。
  • 支援されたクエリ作成プロセスを使用して、その場で UQL ベースのクエリを作成します。
    これは、組織の要件に従ってカスタムチャートをすばやく作成するのに役立ちます。
  • 複数のテナントデータソースを構成し、一連のデフォルトダッシュボードをインポートして、データをすばやく表示します。
  • とからの両方の認証タイプをサポートします。 PostBasicCisco Cloud Observability
  • 組み込みの変換を使用して、UQL クエリによって取得されたデータを Grafana でサポートされているデータ形式に書式設定してすばやく視覚化します。
  • [Assisted Query Workflow] および [Query Box] を使用して独自のクエリを作成します。
  • 変数(クエリベースの変数とフィルタ)を使用してテンプレート化されたクエリを作成します。

サポートされるブラウザ

この表は、サポートされているブラウザを示しています。

Browser

Version Tested

Operating System

Firefox

105.0.3(64 ビット)

105.0.2(64 ビット)

Windows 10

Chrome

バージョン 105.0.5195.127(公式ビルド)(64 ビット)

Windows 10

バージョン 106.0.5249.119(公式ビルド)(x86_64)

Mac OS

Microsoft Edge

106.0.1370.42(公式ビルド)(64 ビット)

106.0.1370.47(公式ビルド)(64 ビット)

Windows 10

Safari

v15.6.1

Mac OS

v14.4.2

iPad

Grafana プラグインのデプロイ Cisco Cloud Observability

Grafana は、ローカルの Grafana(Windows OS、Mac OS)および Kubernetes 環境に展開できます。

はじめる前に

  • 検索フィルターでプラグインを選択して、ダウンロード ポータルから Grafana プラグインをダウンロードします。Splunk AppDynamicsAgents > Type  
  • 署名されていない Cisco Cloud Observability Grafana プラグインの zip ファイルがある場合は、zip ファイルを手動で抽出し、zip ファイルの内容を Grafana に追加する必要があります。詳細については、このページで後述する展開に関するトピックを参照してください。
  • Cisco Cloud Observability 管理者に連絡するか、管理者のログイン情報でログインして、サービスプリンシパルを作成します。 このサービスプリンシパルにより、Cisco Cloud Observability API とのプラグイン通信が可能になります。「
    Cisco Cloud Observability API の呼び出し」を参照してください。
  • Kubernetes にプラグインを展開するには、Kubernetes クラスタが実行されていることを確認してください。
  • Grafana は、Grafana Helm チャートを使用してプラグインとともにインストールされます。

Windows OS に Grafana を展開する

  1. 次のリンクから Windows プラットフォーム用の Grafana インストーラをダウンロードします。
    https://grafana.com/grafana/download?platform=windows
  2. バージョン 9.x.x を選択し、[Edition] は [OSS] を選択します。
    システムですでに 9.x.x バージョンが実行されている場合は、この手順をスキップして手順 7 に進むことができます。
  3. [Download the installer] をクリックします。
    .msi 拡張子付きのファイルをダウンロードします。
  4. .msi ファイルを実行し、ウィザードの各ページで提供される手順に従います。
  5. URL を使用して Grafana を起動します。http://localhost:3000
    3000 は、Grafana セットアップのデフォルトポートです。ポートをカスタマイズするには、Grafana のヘルプドキュメントに従ってください。
  6. ユーザー名 adminパスワード admin を使用して、Grafana にログインします。
  7. ローカル Grafana インスタンスの Install-dir に移動します。
    デフォルトの場所:C:\Program Files\GrafanaLabs\grafana
  8. data\plugins を開きます。
    プラグインディレクトリがまだ存在しない場合は作成します。
  9. プラグイン ディレクトリに Grafana プラグインを抽出します。Cisco Cloud Observability 
  10. Grafana から構成ファイル install-dir/conf/defaults.ini を開きます。
  11. [plugins] セクションを検索し、次の値を入力します。

    allow_loading_unsigned_plugins = appdynamicscloud
    CODE
  12. Grafana サービスを再起動します。
    1. [Task Manager] を開いて [Services] をクリックします。
    2. [Grafana service] を右クリックして [Restart] をクリックします。

Mac OS に Grafana を展開する

  1. Grafana ダウンロードリンクに移動します。https://grafana.com/grafana/download/9.0.0?edition=oss&platform=mac
  2. バージョン 9.x.x を選択し、[Edition] は [OSS] を選択します。
    システムですでに 9.x.x バージョンの Grafana が実行されている場合は、この手順をスキップして手順 6 に進むことができます。
  3. Mac ターミナルを開き、次の CURL コマンドを使用してバイナリをダウンロードします。

    次の例は、Grafana 9.0.0 バージョンを示しています。

    curl -O https://dl.grafana.com/oss/release/grafana-9.0.0.darwin-amd64.tar.gz
    CODE
  4. gz ファイルを抽出し、選択した場所にファイルをコピーします。

    tar -zxvf grafana-9.0.0.darwin-amd64.tar.gz
    CODE
  5. Grafana サービスを開始するには、インストール bin ディレクトリに移動し、次のコマンドを実行します。

    ./bin/grafana-server web
    CODE
  6. URL を使用して Grafana を起動します。http://localhost:3000
    3000 は Grafana セットアップのデフォルトポートです。ポート番号をカスタマイズするには、Grafana のヘルプドキュメントに従ってください。
  7. ユーザー名 admin とパスワード admin を使用して、Grafana にログインします。
  8. ローカル Grafana インスタンスのインストールディレクトリに移動します。
  9. data/plugins を開き、プラグインディレクトリがまだ存在しない場合は作成します。
  10. Cisco Cloud Observability Grafana プラグインアーカイブ(zip)のコンテンツを プラグインディレクトリに抽出します。
  11. Grafana から構成ファイル install-dir/conf/defaults.ini を開きます。

    [plugins] セクションを検索し、次の値を入力します。

    allow_loading_unsigned_plugins = appdynamicscloud
    CODE
  12. プラグインの Grafana サービスを再起動して、更新を反映します。
    Grafana-server を実行しているターミナルを停止し、Grafana サーバーを再起動します。

    ./bin/grafana-server web
    CODE

Kubernetes に Grafana を展開する

このセクションでは、事前構成されたプラグインを使用して新しい Grafana インスタンスをインストールする手順について説明します。

プラグイン統合をセットアップするには、次の手順を実行します。

  1. 以下のサンプルコンテンツを参考に docker ファイルを作成します。Grafana イメージのバージョン、パスなど、必要な変更について docker ファイルを編集します。

    FROM grafana/grafana-oss:9.1.3
    
    ENV GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS="appdynamicscloud" \
    
        GF_PATHS_PLUGINS="/usr/share/grafana/grafana-plugins" \
    
        GF_SERVER_ROOT_URL="%(protocol)s://%(domain)s:%(http_port)s/grafanaplugin/" \
    
        GF_SERVER_SERVE_FROM_SUB_PATH="true"
    
    WORKDIR /usr/share/grafana
    
    USER root
    
    RUN mkdir -p /usr/share/grafana/grafana-plugins
    
    COPY appdynamicscloud /usr/share/grafana/grafana-plugins/appdynamicscloud
    
    EXPOSE 3000
    
    USER grafana
    
    WORKDIR /
    
    ENTRYPOINT [ "/run.sh" ]
    CODE
  2. appdynamicscloud.zip を docker ファイルと同じディレクトリに解凍します。
  3. 次のコマンドを使用して、docker にログインします。

    $ docker login
    CODE
  4. 次のコマンドを使用して、docker イメージを作成します。

    $ docker build -t <imageName>:<tagName>
    CODE

    例:$ docker build -t dockerusr/appdynamicscloudplugin:v1

  5. イメージを docker にプッシュするには、次のコマンドを実行します。

    $ docker push <imagePath/>imageName:tagName
    CODE

    例:$ docker push dockeruser/appdynamicscloudplugin:v1
    最新の更新されたイメージを確認するには、次のコマンドを実行します。

    $ docker images
    CODE
  6.  データソース構成 yaml ファイルを作成するには、次の手順を実行します。
    1. 使用されるサービスプリンシパルに基づいて、次のファイルの値を更新します。
      authtypeBasic に設定されています。サービスプリンシパル構成に従って、これを Post に変更できます。
    2. ファイルを config_basic.yaml として保存します

      別のファイル名を使用する場合は、次の手順で同じファイル名を使用します。

      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: appd-basic-cm
        namespace: default
      data:
        grafana.yaml: |-
         {
          "apiVersion": 1,
          "datasources": [
           {
            "editable": true,
            "name": "Cisco Cloud Observability",
            "type": "appdynamicscloud",
            "orgId": 1,
            "isDefault":true,
            "jsonData":{
              "authtype":"Basic",
              "clientId":"<enter client id>",
              "secretKey":"<enter secret key>",
              "appdtid":"<enter tenant id>",
              "url":"<enter AppDynamics Tenant URL>"
             },
            "version": 1,
            }]
          }
      
      
      YML
  7. 次のコマンドを使用して構成マップを作成し、ファイル名に適切なフォルダパスを指定します。

    config_basic.yaml 以外のファイル名を使用した場合は、そのファイル名を使用します。

    $ kubectl create -f config_basic.yaml
    CODE
    configmap/appd--basic-cm created
    CODE
  8. deploy.yaml ファイルを作成します。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: appd-grafana
      namespace: default
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: appd-grafana
      template:
        metadata:
          name: appd-grafana
          labels:
            app: appd-grafana
        spec:
          containers:
          - name: grafana-plugin-container
            image: docker.io/imageName:tagName
            ports:
            - name: grafana
              containerPort: 3000
            volumeMounts:
            - mountPath: /etc/grafana/provisioning/datasources
              name: appd-basic-cm
              readOnly: false
          volumes:
          - name: appd-basic-cm
            configMap:
              defaultMode: 420
              name: appd-basic-cm
    ---
    
    apiVersion: v1
    kind: Service
    metadata:
      name: appd-grafana-service
      namespace: default
    spec:
      selector:
        app: appd-grafana
      type: NodePort 
      ports:
      - port: 3000
        targetPort: 3000
        nodePort: 32001
    
    
    YML


    前述のサンプル yaml ファイルに記載されているポート番号は、Grafana ポートを指します。サンプルファイルは、nodePort サービスを作成します。展開環境で nodePort サービスがサポートされていない場合は、ClusterIP サービスを使用して構成し、それに応じてサービスを公開します。

  9. 次のコマンドを使用して、yaml を展開します。

    $ kubectl create -f deploy.yaml
    CODE

    deploy.yaml の代わりに、他のファイル名を使用した場合は、それに応じてコマンドを更新する必要があります。

  10. 次の URL を使用して、Grafana UI を起動します。

    http://<hostname/IP-Address>:<port>
    CODE

    展開 yaml ファイルに記載されているようにポートを使用します。たとえば、 http://10.46.40.67:32001/

サンプルデータソースは config_basic.yaml として事前設定されており、Grafana の [Data Sources] ページからアクセスできます。

サンプルデータソースの例を次に示します。

Helm チャート Grafana にプラグインを展開する

Helm チャート Grafana にプラグインを展開するには、次の手順を実行します。

  1. Grafana Helm チャートをインストールします。https://github.com/grafana/helm-charts/tree/main/charts/grafana を参照してください。
  2. Cisco Cloud Observability プラグインを展開するために、helm values.yaml ファイルのいくつかのセクションを編集します。
    1. 署名されていないプラグインを許可する環境変数を追加します。

      env:
      
         GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS: appdynamicscloud  
      CODE

      プラグインが非公開で署名されている場合、この手順は必要ありません。プラグインへの署名については、「Cisco Cloud Observability Grafana プラグインへの署名」を参照してください。

    2. プラグインセクションで、プラグインの zip パスを入力します。

      plugins:
      
        - https://<s3-bucket-path>/grafana-plugin-23.1.0-21.zip;appdynamicscloud
      CODE


    3. [datasources] セクションで、データソースを構成します。

      datasources:
      
        # Cisco Cloud Observability plugin
      
        datasources.yaml:
      
          apiVersion: 1
      
          datasources:
      
          - name: AppDynamicsCloud
      
            type: appdynamicscloud
      
            isDefault: true
      
            editable: true
      
            version: 1
      
            jsonData:
      
              authtype: Basic
      
              clientId: <client id>
      
              secretKey: <secret key>
      
              appdtid: <tenant id>
      
              url: <cisco observability platform tenant URL>
      
          
      CODE


  3. 次のコマンドを実行して、values.yaml ファイルに加えた更新で Helm チャートをアップグレードします。

    helm upgrade <test-release> grafana/grafana -f values.yaml
    CODE

    <test-release> をリリース名で置き換えます。

  4. 次のコマンドを使用して、外部 IP でサービスを公開します。

    kubectl expose service <grafana-service-name> --target-port 3000 --name <external-service-name> --external-ip <external-IP> --port 80
    CODE
  5. 外部 IP を使用して Grafana にアクセスします。

    http://<external-IP>/login
    CODE


  6. 手順 2 に記載されている詳細に従って、Cisco Cloud Observability Grafana プラグイン用にデータソースが作成されているかどうかを確認します

Cisco Cloud Observability Grafana プラグインへの署名

API キーを使用してプラグインに非公開で署名するには、次の手順を実行します。

  1. API キーを生成します。
    API キーを生成するには、
    https://grafana.com/docs/grafana/latest/developers/plugins/sign-a-plugin/#generate-an-api-key を参照してください。
  2. plugin ディレクトリに移動し、次のコマンドを使用してキーを設定し、プラグインに署名します。
    • For Windows: set GRAFANA_API_KEY=<YOUR_API_KEY>
      For Linux: export GRAFANA_API_KEY=<YOUR_API_KEY>
    • npx @grafana/toolkit plugin:sign --rootUrls <List of comma separated urls>

      • 前のコマンドで入力する URL は、非公開で署名されたプラグインを実行する予定の URL である必要があります。
      • URL を知るには、Grafana 構成で root_url を参照できます。
        たとえば、これはデフォルトの構成です。
        root_url = %(protocol)s://%(domain)s:%(http_port)s/
      • プロトコルは http で、デフォルトのポートは 3000 です。この構成は、URL http://localhost:3000. を形成します。

      • 上記のコマンドを実行すると、Grafana Toolkit によってプラグインの dist ディレクトリに MANIFEST.txt ファイルが作成されます。展開用に zip と dist ディレクトリを共有できます。
  3. Grafana を再起動し、Grafana URL を更新します。
    Grafana にリストされているプラグインは、現在、非公開で署名されています。プラグインへの非公開署名の詳細については、https://grafana.com/docs/grafana/latest/developers/plugins/sign-a-plugin/ を参照してください。


プラグインを変更する場合、または新しいルート URL を追加する場合は、プラグインを再署名する必要があります。

Cisco Cloud Observability から Grafana にデータを送信する

このセクションでは、データソースを作成する手順について説明します。docker ベースの展開を実装した場合は、このページで前述したように、configMap を使用してデータソースを追加できます。ただし、さらにデータソースを追加する必要がある場合、または手動で展開する場合は、次の手順を使用してデータソースを作成します。

  1. Grafana の [Configurations] または [Setting] アイコンをクリックします。
  2. [Data sources.] を選択します。
  3. [Add Data Source] をクリックします
  4. [Data source] リストから、Cisco Cloud Observability の [ plugin.] をクリックします。
    新しいデータソースの構成画面が表示されます。
  5. [Name] フィールドに、データソースの名前を入力します。

    データソース名にスペースや特殊文字が含まれていないことを確認してください。

  6. [URL] フィールドに、URL を入力します。
    例: https://<tenanat-name>.
    appdynamics.com
  7. [Auth Type] については、選択したサービスプリンシパルに基づいて、Basic または Post として認証タイプを選択します。
  8. Splunk AppDynamics のテナント ID を入力します。
  9. クライアント ID と秘密鍵を入力します。
    前に作成したサービスプリンシパルから ID とキーを取得できます。「はじめる前にの項を参照してください。
  10. データソースをデフォルトのデータソースにする場合は、Default ON に設定します。
  11. [Save & test] をクリックして、接続と認証を確認します。
    接続に成功したとのメッセージが表示されます。

Cisco Cloud Observability Grafana プラグインのアップグレード

Grafana プラグインをアップグレードするには、次の手順を実行します。

  1. 更新されたプラグインファイルを、展開時に使用したのと同じプラグインディレクトリ(data\plugins)に抽出します(ローカルまたは Kubernetes 環境に基づいてファイルを選択します)。
  2. 抽出したファイルで既存のファイルを上書きします。

プラグインのアップグレードプロセスを完了するには、サービスを再起動する必要があります。


デフォルトのダッシュボードを表示する

デフォルトのダッシュボードを表示するには、最初にインポートする必要があります。デフォルトのダッシュボードは、次のユースケース用に提供されています。

ユースケース

これらの 3 つのユースケースは、プラグインに期待されるものとソリューションを説明します。

  1. サービス所有者が APM モニタリングのために実行できるタスク:
    • アプリケーション モニタリング サービスに関連するすべての重要な情報を含む監視ダッシュボードを表示して、アプリケーションのパフォーマンスを表示します。
    • 選択したサービスに基づいて、すべての主要なメトリックを視覚化します。
    • さまざまなチャートタイプを使用してウィジェットを作成し、特定のメトリックを監視します。
    • サービスの正常性を監視し、全体像を把握します。
  2. サイト信頼性エンジニアが Kubernetes ダッシュボードで実行できるタスク:
    • ポッドのステータスを監視して、それに応じて追跡し、必要に応じてスケールアップできるようにします。
    • pod CPUpod Memory utilization などの他のパフォーマンスメトリックを監視します。
    • コンテナの CPU 使用率、CPU スロットル時間、ファイルシステムの読み取り/書き込みを視覚化します。
  3. サービス所有者が必要なインフラストラクチャをプロビジョニングできるように、サービス所有者が AWS ホストダッシュボードで不足しているリソースを追跡できるタスク。
    • AWS ホスト全体の正常性を監視し、AWS ホストにドリルダウンするオプションを提供します。
    • disc usageCPU utilization などの詳細なメトリックを追跡する詳細ダッシュボードにドリルダウンします。

デフォルトのダッシュボードのインポート

Cisco Cloud Observability Grafana プラグインには、4 つのデフォルトのダッシュボードがバンドルされています。ユーザーは、これらのダッシュボードを直接インポートして、Grafana でデータの表示を開始できます。

これらのダッシュボードをインポートするには、次の手順を実行します。

  1. 設定を開きます。
  2. [Cisco Cloud Observability data source] を選択します。
  3. [Dashboards] をクリックします。
  4. 目的のダッシュボードまたはすべてのダッシュボードの横にある [Import] ボタンをクリックします。

[dashboards] セクションから、ダッシュボード、チャート、または基になるクエリボックス UQL を表示または編集できます。

ダッシュボードをリセットして、プラグインにバンドルされている元のダッシュボードを表示するには、ダッシュボードを再インポートする必要があります。

Default Dashboards

プラグインは、データソースごとにデフォルトのダッシュボードのコピーを作成します。データソース名にスペースや特殊文字が含まれていないことを確認してください。

新しい展開の場合、すべての拡張機能を表示するには、すべてのデータソースのダッシュボードを再インポートする必要があります。


The following are the default dashboards that are bundled with the plugin:

Splunk AppDynamics APM モニタリングダッシュボード

 

Splunk AppDynamics K8s モニタリングダッシュボード

  

AWS ホストの概要とホストの詳細ダッシュボード

UQL クエリボックスを使用する

クエリボックスを使用してクエリを手動で追加し、ダッシュボードにクエリ出力を表示します。

UQL Syntax: [Query Box ] から UQL クエリを作成するときに、メトリックにエイリアス名を使用する場合、エイリアス名にバックティック(`)文字を使用します。

以下は、サンプルクエリです。

FETCH attributes(service.instance.id), `Calls per min ` : metrics(apm:calls_min, `sys:derived`) FROM   entities(apm:service)
CODE

エイリアス名は、バックティック(`)文字のみで囲む必要があります。

以下は、ダッシュボードで使用できるいくつかのサンプルクエリです。

サンプル A:重大ステータスのホストの数を取得する

Queryfetch ‘critical’ : count from entities(infra:host) [attributes(status) =3]

  1. 統計チャートを含む新しいパネルを追加します。
  2. Critical に名前を変更し、単色を [red] に設定します。
  3. [Cisco Cloud Observability data source.] を選択します。
  4. [Query Box] をクリックして、上記の UQL クエリを入力します。
  5. [Run Query] をクリックして、結果を表示します。

サンプル B:APM メトリックのオンラインチャート

Query: FETCH metrics(apm:response_time), metrics (apm:errors_min, `sys:derived`), metrics     (apm:calls_min, 'sys:derived') FROM entities(apm:service)

  1. 時系列チャートを含む新しいパネルを追加します。
  2. [Query Box] に前述のクエリを追加します。

クエリは、APM メトリックからデータを入力します。

サンプル C:変数を使用した UQL

次の UQL を使用して Grafana ダッシュボードでクエリベースの変数を作成するには、次の手順を実行します。

  1. に進みます。Dashboard Settings.
  2. 変数をクリックして、新しい変数を追加します。
  3. 名前に [Cluster]、タイプに [Query] と入力します。
  4. データソースとして [Cisco Cloud Observability] を選択します。
  5. [Query] フィールドに次のクエリを入力します。

    FETCH attributes(k8s.cluster.name) from entities(k8s:cluster)  
    CODE
  6. [Update
    ] をクリックします。選択したソースからのクラスタ名のリストが表示されます。
                             

UQL クエリボックスで変数を使用する

  1. [Tree] チャートを含むパネルを作成します。
    [Tree] パネルが使用できない場合は、テーブルを使用できます。
  2. [Splunk AppDynamics Source] を選択します。
  3. [${Cluster}] からパネルのタイトルに [Pod List] と入力します。
  4. 次のツリーレベルの定義を追加します。

    ${k8s.cluster.name} ${k8s.pod.name}
    CODE

    テーブルタイプのツリーレベルの定義をスキップします。

  5. 次のクエリを [Query Box] に入力してクエリを実行します。

    FETCH
    
    attributes(k8s.cluster.name),
    
    attributes(k8s.pod.name),
    
    attributes(k8s.pod.status)
    
    FROM  entities(k8s:pod)
    
    [attributes(k8s.cluster.name) in [ ${Cluster:singlequote} ]]
    
    SINCE $__from UNTIL $__to
    CODE

    プレースホルダ Cluster は、ダッシュボードレベルのフィルタまたはドロップダウンからの実際の選択に置き換えられる変数です。フィルタの選択に応じて、ポッドリストが更新されます。
    単一の属性のみをフェッチするには、変数ベースのクエリを作成する必要があります。

サンプル D:支援付きクエリワークフローの操作

  1. パネルを作成して [Cisco Cloud Observability data source] を選択します。
  2. 視覚化オプションとして [Bar chart] を選択します。
  3. チャートの名前を CPU balance by AWS Hosts に変更します。
  4. [Assisted Query Workflow] タブで、次の情報を入力します。
    1. [FROM] ペインで、[Entities] から名前空間を選択します。たとえば、cloud です。
    2. 次のドロップダウンリストからエンティティタイプを [Select ] します。たとえば、cloud: host です。
    3. 粒度を指定します。
      粒度を指定するときは、次の点を考慮してください。
      • テキストボックスに数値を指定します。
      • 粒度は、グローバルな制限と取得された監視の数を示します
      • 粒度の値は、取得されたデータポイントを標準の粒度に基づいてその数またはそれ以下の数に制限します。
      • 実際のデータポイントは、常に事前定義されたサイズです。たとえば、1 分、2 分、10 分、...、1 時間、2 時間などです。
      • 6 時間の時間範囲で粒度を 5 データポイントに制限すると、1 時間および 2 時間の標準の粒度は次のように示されます。

      • 1 時間で 6 つのデータポイントを取得(多い)。
      • 2 時間で 3 つのデータポイントを取得(制限内)。期間の値も指定できます。たとえば、5m は、5 分の粒度でデータポイントを返します。

      • 支援付きクエリワークフローは、生成されたすべてのクエリに SINCE $__from UNTIL $__to を追加します。これらは、ダッシュボードの右上隅から時間範囲の選択を取得してクエリに適用する Grafana 変数です。したがって、すべてのクエリは、選択した Grafana 時間範囲で実行されます。

        支援付きクエリワークフロー UI から Since and Until を選択する必要はありません。

      • Query Box からクエリを作成するときに同様の変数を追加することもできるため、クエリ出力は常に選択した時間範囲からのデータを表示します。
    4. [FETCH] セクションに情報を提供します。
      1. トグルを使用して [ID] を有効にします。これは、[ID] でデータを分類するのに役立ちます([ID] はオプションです)。
      2. Metrics/Source:ドロップダウンリストからメトリックを選択できます。たとえば、cloud:system.cpu.balance.credits.
        です。

        [Source] は、メトリックのデータソースを表します。ソースが利用できない場合、[Source] の選択は無効になります。ただし、ソースが利用可能な場合、[Source] の選択は必須です。

      3. ドロップダウンリストからソースとして [aws-cloudwatch] を選択します。
      4. [+Metrics] をクリックして、さらにメトリック/ソースを追加します。
      5. 2 番目のメトリックの場合は、ドロップダウンリストから [Metric] を選択します。たとえば、ソースとして [cloud:system.cpu.credits] と [aws-cloudwatch] です。
      6. 支援付きクエリフローがサポートする操作は、minmaxsumcount、および group-count です。
        次の例では、選択された操作は [max] であり、選択された [Attribute] は [account.id.] です。
    5. [ FILTER] セクションはオプションです。[attribute] と [tag] でフィルタリングするために使用されます。
      1. [+ ] ボタンをクリックし、[attribute] フィルタを選択します。
      2. ドロップダウンから [cloud.availability_zone] を選択します。
      3. ドロップダウンから [=] を選択します。
      4. ドロップダウンから [us-east-2c] を選択します。
      5. [+] ボタンをもう一度クリックし、[tags filter] を選択します。
      6. ドロップダウンから [aws:eks:cluster-name] を選択します。
      7. ドロップダウンから [=] 演算子を選択します。
      8. ドロップダウンから [cloudkart-aws-ga] 演算子を選択します。
    6. 必要なオプションをすべて選択した後、[View Query] を切り替えて生成されたクエリを表示できます
  5. 選択したオプションを [Assisted Query Workflow] タブに表示します。
  6. [Run Query] をクリックして、出力を表示します。
  7. [Apply] をクリックしてダッシュボードビューに移動し、データ出力を表示します。     

回避する UQL クエリの組み合わせ

一部のクエリタイプでは、ダッシュボードにデータが表示されない場合があります。以下は、Grafana での使用を避ける必要があるいくつかのクエリサンプルです。

データポイントを使用したクエリ – 消費関数の組み合わせ

FETCH id, metrics (k8s:memory.usage,`infra-agent`), metrics (k8s:memory.requests, `infraagent`) {min} FROM entities(k8s:workload) SINCE -5m
CODE

このクエリは、クエリ内の最初のメトリックに対して複数のデータポイントを返し、2 番目のメトリックに対して 1 つのデータポイントを消費関数(集計値)とともに返します。このようなデータは、棒グラフ化してチャートにプロットすることはできません。

メトリックに複数のデータソースが含まれているが、source フィルタは含まれていないクエリ

FETCH id, metrics(k8s:memory.usage), metrics(`k8s:memory.limits`), metrics(k8s:memory.requests) FROM entities(k8s:workload) SINCE -5m
CODE


この UQL クエリは、データソースごとに可変数のデータポイントを返します。同じタイムスタンプに対して任意のメトリックについて、2 つのデータソースから 2 つのデータポイントをプロットすることはできません。

クエリには、複数のメトリックに対するさまざまなソースフィルタが含まれています。

FETCH id, metrics (k8s:memory.usage, `infra-agent`), metrics(`k8s:memory.limits`,`infraagent`) FROM entities(k8s:workload) SINCE -5m
CODE

このクエリは、2 つのソースから不均一な数のデータポイントを返すため、そのようなデータを 1 つのチャートにプロットすることはできません。

属性と消費関数を使用したクエリ

FETCH id, metrics(apm:calls_min) {max,min},metrics(apm:errors_min) {min,count} FROM entities(apm:service)  SINCE -6h 
CODE


属性値は、その集計値に応じて異なる場合があります。たとえば、calls_minabc id の最小値を持つことができ、max 値は erros_minpqr id に関連付けることができます。このようなデータは、チャートにプロットできません。

テーブルビューでの属性とメトリックの組み合わせを使用したクエリ

FETCH attributes(service.name), metrics(apm:calls_min), metrics(apm:errors_min) from entities(apm:service)
CODE

このタイプのクエリは、繰り返される属性値の時系列データを提供するため、テーブルビューには適していません。したがって、適切なチャートタイプは timeseries です。 

さまざまなタイムスタンプを含むメトリックをプロットするには、Grafana の multiple queries 機能を使用する必要があります。Grafana に複数のクエリを追加する方法の詳細については、FAQ ドキュメントを参照してください。

既知の問題

Issue: シークレットを使用して取得したデフォルトのパスワードは機能しない可能性があります。これは、Helm チャートの永続化機能が原因で発生します。

デフォルトのパスワードに関する既知の問題については、https://github.com/helm/charts/issues/9472 を参照してください。


kubectl get secret --namespace default test-release-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo 
CODE


WorkaroundHelm のアップグレード後、次のコマンドを実行して管理者パスワードを変更する必要があります。

kubectl exec test-release-grafana-7bd87bdf6f-sfvvw -- grafana-cli admin reset-admin-password newpassword
CODE

値を適切なポッド名とパスワードに置き換えます。