Download PDF
Download page Cisco Cloud Observability と Grafana の統合.
Cisco Cloud Observability と Grafana の統合
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 ベースのクエリを作成します。
これは、組織の要件に従ってカスタムチャートをすばやく作成するのに役立ちます。 - 複数のテナントデータソースを構成し、一連のデフォルトダッシュボードをインポートして、データをすばやく表示します。
- とからの両方の認証タイプをサポートします。
Post
Basic
Cisco 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 を展開する
- 次のリンクから Windows プラットフォーム用の Grafana インストーラをダウンロードします。
https://grafana.com/grafana/download?platform=windows - バージョン 9.x.x を選択し、[Edition] は [OSS] を選択します。
システムですでに 9.x.x バージョンが実行されている場合は、この手順をスキップして手順 7 に進むことができます。 - [Download the installer] をクリックします。
.msi
拡張子付きのファイルをダウンロードします。 .msi
ファイルを実行し、ウィザードの各ページで提供される手順に従います。- URL を使用して Grafana を起動します。
http://localhost:3000
3000
は、Grafana セットアップのデフォルトポートです。ポートをカスタマイズするには、Grafana のヘルプドキュメントに従ってください。 - ユーザー名
admin
とパスワードadmin
を使用して、Grafana にログインします。 - ローカル Grafana インスタンスの
Install-dir
に移動します。
デフォルトの場所:C:\Program Files\GrafanaLabs\grafana
data\plugins
を開きます。
プラグインディレクトリがまだ存在しない場合は作成します。- プラグイン ディレクトリに Grafana プラグインを抽出します。Cisco Cloud Observability
- Grafana から構成ファイル
install-dir/conf/defaults.ini
を開きます。 [plugins] セクションを検索し、次の値を入力します。
allow_loading_unsigned_plugins = appdynamicscloud
CODE- Grafana サービスを再起動します。
- [Task Manager] を開いて [Services] をクリックします。
- [Grafana service] を右クリックして [Restart] をクリックします。
Mac OS に Grafana を展開する
- Grafana ダウンロードリンクに移動します。https://grafana.com/grafana/download/9.0.0?edition=oss&platform=mac
- バージョン 9.x.x を選択し、[Edition] は [OSS] を選択します。
システムですでに 9.x.x バージョンの Grafana が実行されている場合は、この手順をスキップして手順 6 に進むことができます。 Mac ターミナルを開き、次の CURL コマンドを使用してバイナリをダウンロードします。
次の例は、Grafana 9.0.0 バージョンを示しています。
curl -O https://dl.grafana.com/oss/release/grafana-9.0.0.darwin-amd64.tar.gz
CODEgz ファイルを抽出し、選択した場所にファイルをコピーします。
tar -zxvf grafana-9.0.0.darwin-amd64.tar.gz
CODEGrafana サービスを開始するには、インストール
bin
ディレクトリに移動し、次のコマンドを実行します。./bin/grafana-server web
CODE- URL を使用して Grafana を起動します。
http://localhost:3000
3000 は Grafana セットアップのデフォルトポートです。ポート番号をカスタマイズするには、Grafana のヘルプドキュメントに従ってください。 - ユーザー名
admin
とパスワードadmin
を使用して、Grafana にログインします。 - ローカル Grafana インスタンスのインストールディレクトリに移動します。
- data/plugins を開き、プラグインディレクトリがまだ存在しない場合は作成します。
- Cisco Cloud Observability Grafana プラグインアーカイブ(zip)のコンテンツを プラグインディレクトリに抽出します。
- Grafana から構成ファイル
install-dir/conf/defaults.ini
を開きます。[plugins] セクションを検索し、次の値を入力します。
allow_loading_unsigned_plugins = appdynamicscloud
CODE プラグインの Grafana サービスを再起動して、更新を反映します。
Grafana-server を実行しているターミナルを停止し、Grafana サーバーを再起動します。./bin/grafana-server web
CODE
Kubernetes に Grafana を展開する
このセクションでは、事前構成されたプラグインを使用して新しい Grafana インスタンスをインストールする手順について説明します。
プラグイン統合をセットアップするには、次の手順を実行します。
以下のサンプルコンテンツを参考に 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" ]
CODEappdynamicscloud.zip
を docker ファイルと同じディレクトリに解凍します。次のコマンドを使用して、docker にログインします。
$ docker login
CODE次のコマンドを使用して、docker イメージを作成します。
$ docker build -t <imageName>:<tagName>
CODE例:
$ docker build -t dockerusr/appdynamicscloudplugin:v1
イメージを docker にプッシュするには、次のコマンドを実行します。
$ docker push <imagePath/>imageName:tagName
CODE例:
$ docker push dockeruser/appdynamicscloudplugin:v1
最新の更新されたイメージを確認するには、次のコマンドを実行します。$ docker images
CODE- データソース構成 yaml ファイルを作成するには、次の手順を実行します。
- 使用されるサービスプリンシパルに基づいて、次のファイルの値を更新します。
authtype
はBasic
に設定されています。サービスプリンシパル構成に従って、これをPost
に変更できます。 ファイルを
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
- 使用されるサービスプリンシパルに基づいて、次のファイルの値を更新します。
次のコマンドを使用して構成マップを作成し、ファイル名に適切なフォルダパスを指定します。
config_basic.yaml
以外のファイル名を使用した場合は、そのファイル名を使用します。$ kubectl create -f config_basic.yaml
CODEconfigmap/appd--basic-cm created
CODEdeploy.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
サービスを使用して構成し、それに応じてサービスを公開します。次のコマンドを使用して、yaml を展開します。
$ kubectl create -f deploy.yaml
CODEdeploy.yaml
の代わりに、他のファイル名を使用した場合は、それに応じてコマンドを更新する必要があります。次の 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 にプラグインを展開するには、次の手順を実行します。
- Grafana Helm チャートをインストールします。https://github.com/grafana/helm-charts/tree/main/charts/grafana を参照してください。
- Cisco Cloud Observability プラグインを展開するために、helm
values.yaml
ファイルのいくつかのセクションを編集します。署名されていないプラグインを許可する環境変数を追加します。
env: GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS: appdynamicscloud
CODEプラグインが非公開で署名されている場合、この手順は必要ありません。プラグインへの署名については、「Cisco Cloud Observability Grafana プラグインへの署名」を参照してください。
プラグインセクションで、プラグインの zip パスを入力します。
plugins: - https://<s3-bucket-path>/grafana-plugin-23.1.0-21.zip;appdynamicscloud
CODE[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
次のコマンドを実行して、
values.
yaml
ファイルに加えた更新で Helm チャートをアップグレードします。helm upgrade <test-release> grafana/grafana -f values.yaml
CODE<test-release> をリリース名で置き換えます。
次のコマンドを使用して、外部 IP でサービスを公開します。
kubectl expose service <grafana-service-name> --target-port 3000 --name <external-service-name> --external-ip <external-IP> --port 80
CODE外部 IP を使用して Grafana にアクセスします。
http://<external-IP>/login
CODE- 手順 2 に記載されている詳細に従って、Cisco Cloud Observability Grafana プラグイン用にデータソースが作成されているかどうかを確認します。
Cisco Cloud Observability Grafana プラグインへの署名
API キーを使用してプラグインに非公開で署名するには、次の手順を実行します。
- API キーを生成します。
API キーを生成するには、https://grafana.com/docs/grafana/latest/developers/plugins/sign-a-plugin/#generate-an-api-key を参照してください。 - 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
です。この構成は、URLhttp://localhost:3000.
を形成します。- 上記のコマンドを実行すると、Grafana Toolkit によってプラグインの
dist
ディレクトリにMANIFEST.txt
ファイルが作成されます。展開用に zip とdist
ディレクトリを共有できます。
- For Windows:
Grafana を再起動し、Grafana URL を更新します。
Grafana にリストされているプラグインは、現在、非公開で署名されています。プラグインへの非公開署名の詳細については、https://grafana.com/docs/grafana/latest/developers/plugins/sign-a-plugin/ を参照してください。
プラグインを変更する場合、または新しいルート URL を追加する場合は、プラグインを再署名する必要があります。
Cisco Cloud Observability から Grafana にデータを送信する
このセクションでは、データソースを作成する手順について説明します。docker ベースの展開を実装した場合は、このページで前述したように、configMap
を使用してデータソースを追加できます。ただし、さらにデータソースを追加する必要がある場合、または手動で展開する場合は、次の手順を使用してデータソースを作成します。
- Grafana の [Configurations] または [Setting] アイコンをクリックします。
- [Data sources.] を選択します。
- [Add Data Source] をクリックします
- [Data source] リストから、Cisco Cloud Observability の [ plugin.] をクリックします。
新しいデータソースの構成画面が表示されます。 [Name] フィールドに、データソースの名前を入力します。
データソース名にスペースや特殊文字が含まれていないことを確認してください。
- [URL] フィールドに、URL を入力します。
例:https://<tenanat-name>.
appdynamics.com
- [Auth Type] については、選択したサービスプリンシパルに基づいて、Basic または Post として認証タイプを選択します。
- Splunk AppDynamics のテナント ID を入力します。
- クライアント ID と秘密鍵を入力します。
前に作成したサービスプリンシパルから ID とキーを取得できます。「はじめる前に」の項を参照してください。 - データソースをデフォルトのデータソースにする場合は、Default を ON に設定します。
- [Save & test] をクリックして、接続と認証を確認します。
接続に成功したとのメッセージが表示されます。
Cisco Cloud Observability Grafana プラグインのアップグレード
Grafana プラグインをアップグレードするには、次の手順を実行します。
- 更新されたプラグインファイルを、展開時に使用したのと同じプラグインディレクトリ(
data\plugins
)に抽出します(ローカルまたは Kubernetes 環境に基づいてファイルを選択します)。 - 抽出したファイルで既存のファイルを上書きします。
プラグインのアップグレードプロセスを完了するには、サービスを再起動する必要があります。
デフォルトのダッシュボードを表示する
デフォルトのダッシュボードを表示するには、最初にインポートする必要があります。デフォルトのダッシュボードは、次のユースケース用に提供されています。
ユースケース
これらの 3 つのユースケースは、プラグインに期待されるものとソリューションを説明します。
- サービス所有者が APM モニタリングのために実行できるタスク:
- アプリケーション モニタリング サービスに関連するすべての重要な情報を含む監視ダッシュボードを表示して、アプリケーションのパフォーマンスを表示します。
- 選択したサービスに基づいて、すべての主要なメトリックを視覚化します。
- さまざまなチャートタイプを使用してウィジェットを作成し、特定のメトリックを監視します。
- サービスの正常性を監視し、全体像を把握します。
- サイト信頼性エンジニアが Kubernetes ダッシュボードで実行できるタスク:
- ポッドのステータスを監視して、それに応じて追跡し、必要に応じてスケールアップできるようにします。
pod CPU
、pod Memory utilization
などの他のパフォーマンスメトリックを監視します。- コンテナの CPU 使用率、CPU スロットル時間、ファイルシステムの読み取り/書き込みを視覚化します。
- サービス所有者が必要なインフラストラクチャをプロビジョニングできるように、サービス所有者が AWS ホストダッシュボードで不足しているリソースを追跡できるタスク。
- AWS ホスト全体の正常性を監視し、AWS ホストにドリルダウンするオプションを提供します。
disc usage
、CPU utilization
などの詳細なメトリックを追跡する詳細ダッシュボードにドリルダウンします。
デフォルトのダッシュボードのインポート
Cisco Cloud Observability Grafana プラグインには、4 つのデフォルトのダッシュボードがバンドルされています。ユーザーは、これらのダッシュボードを直接インポートして、Grafana でデータの表示を開始できます。
これらのダッシュボードをインポートするには、次の手順を実行します。
- 設定を開きます。
- [Cisco Cloud Observability data source] を選択します。
- [Dashboards] をクリックします。
- 目的のダッシュボードまたはすべてのダッシュボードの横にある [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)
エイリアス名は、バックティック(`
)文字のみで囲む必要があります。
以下は、ダッシュボードで使用できるいくつかのサンプルクエリです。
サンプル A:重大ステータスのホストの数を取得する
Query:fetch ‘critical’ : count from entities(infra:host) [attributes(status) =3]
- 統計チャートを含む新しいパネルを追加します。
Critical
に名前を変更し、単色を [red] に設定します。- [Cisco Cloud Observability data source.] を選択します。
- [Query Box] をクリックして、上記の UQL クエリを入力します。
- [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)
- 時系列チャートを含む新しいパネルを追加します。
- [Query Box] に前述のクエリを追加します。
クエリは、APM メトリックからデータを入力します。
サンプル C:変数を使用した UQL
次の UQL を使用して Grafana ダッシュボードでクエリベースの変数を作成するには、次の手順を実行します。
- に進みます。Dashboard Settings.
- 変数をクリックして、新しい変数を追加します。
- 名前に [Cluster]、タイプに [Query] と入力します。
- データソースとして [Cisco Cloud Observability] を選択します。
[Query] フィールドに次のクエリを入力します。
FETCH attributes(k8s.cluster.name) from entities(k8s:cluster)
CODE- [Update
] をクリックします。選択したソースからのクラスタ名のリストが表示されます。
UQL クエリボックスで変数を使用する
- [Tree] チャートを含むパネルを作成します。
[Tree] パネルが使用できない場合は、テーブルを使用できます。 - [Splunk AppDynamics Source] を選択します。
- [${Cluster}] からパネルのタイトルに [Pod List] と入力します。
次のツリーレベルの定義を追加します。
${k8s.cluster.name} ${k8s.pod.name}
CODEテーブルタイプのツリーレベルの定義をスキップします。
次のクエリを [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:支援付きクエリワークフローの操作
- パネルを作成して [Cisco Cloud Observability data source] を選択します。
- 視覚化オプションとして [Bar chart] を選択します。
- チャートの名前を
CPU balance by AWS Hosts
に変更します。 - [Assisted Query Workflow] タブで、次の情報を入力します。
- [FROM] ペインで、[Entities] から名前空間を選択します。たとえば、cloud です。
- 次のドロップダウンリストからエンティティタイプを [Select ] します。たとえば、cloud: host です。
- 粒度を指定します。
粒度を指定するときは、次の点を考慮してください。- テキストボックスに数値を指定します。
- 粒度は、グローバルな制限と取得された監視の数を示します。
- 粒度の値は、取得されたデータポイントを標準の粒度に基づいてその数またはそれ以下の数に制限します。
- 実際のデータポイントは、常に事前定義されたサイズです。たとえば、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 からクエリを作成するときに同様の変数を追加することもできるため、クエリ出力は常に選択した時間範囲からのデータを表示します。
- [FETCH] セクションに情報を提供します。
- トグルを使用して [ID] を有効にします。これは、[ID] でデータを分類するのに役立ちます([ID] はオプションです)。
Metrics/Source:ドロップダウンリストからメトリックを選択できます。たとえば、
cloud:system.cpu.balance.credits.
です。[Source] は、メトリックのデータソースを表します。ソースが利用できない場合、[Source] の選択は無効になります。ただし、ソースが利用可能な場合、[Source] の選択は必須です。
- ドロップダウンリストからソースとして [aws-cloudwatch]
- [+Metrics] をクリックして、さらにメトリック/ソースを追加します。
- 2 番目のメトリックの場合は、ドロップダウンリストから [Metric] を選択します。たとえば、ソースとして [cloud:system.cpu.credits] と [aws-cloudwatch] です。
- 支援付きクエリフローがサポートする操作は、
min
、max
、sum
、count
、およびgroup-count
です。
次の例では、選択された操作は [max] であり、選択された [Attribute] は [account.id.] です。
- [ FILTER] セクションはオプションです。[attribute] と [tag] でフィルタリングするために使用されます。
- [+ ] ボタンをクリックし、[attribute] フィルタを選択します。
- ドロップダウンから [cloud.availability_zone] を選択します。
- ドロップダウンから [=] を選択します。
- ドロップダウンから [us-east-2c] を選択します。
- [+] ボタンをもう一度クリックし、[tags filter] を選択します。
- ドロップダウンから [aws:eks:cluster-name] を選択します。
- ドロップダウンから [=] 演算子を選択します。
- ドロップダウンから [cloudkart-aws-ga] 演算子を選択します。
- 必要なオプションをすべて選択した後、[View Query] を切り替えて生成されたクエリを表示できます
- 選択したオプションを [Assisted Query Workflow] タブに表示します。
- [Run Query] をクリックして、出力を表示します。
- [Apply] をクリックしてダッシュボードビューに移動し、データ出力を表示します。
回避する UQL クエリの組み合わせ
一部のクエリタイプでは、ダッシュボードにデータが表示されない場合があります。以下は、Grafana での使用を避ける必要があるいくつかのクエリサンプルです。
データポイントを使用したクエリ – 消費関数の組み合わせ
FETCH id, metrics (k8s:memory.usage,`infra-agent`), metrics (k8s:memory.requests, `infraagent`) {min} FROM entities(k8s:workload) SINCE -5m
このクエリは、クエリ内の最初のメトリックに対して複数のデータポイントを返し、2 番目のメトリックに対して 1 つのデータポイントを消費関数(集計値)とともに返します。このようなデータは、棒グラフ化してチャートにプロットすることはできません。
メトリックに複数のデータソースが含まれているが、source
フィルタは含まれていないクエリ
FETCH id, metrics(k8s:memory.usage), metrics(`k8s:memory.limits`), metrics(k8s:memory.requests) FROM entities(k8s:workload) SINCE -5m
この UQL クエリは、データソースごとに可変数のデータポイントを返します。同じタイムスタンプに対して任意のメトリックについて、2 つのデータソースから 2 つのデータポイントをプロットすることはできません。
クエリには、複数のメトリックに対するさまざまなソースフィルタが含まれています。
FETCH id, metrics (k8s:memory.usage, `infra-agent`), metrics(`k8s:memory.limits`,`infraagent`) FROM entities(k8s:workload) SINCE -5m
このクエリは、2 つのソースから不均一な数のデータポイントを返すため、そのようなデータを 1 つのチャートにプロットすることはできません。
属性と消費関数を使用したクエリ
FETCH id, metrics(apm:calls_min) {max,min},metrics(apm:errors_min) {min,count} FROM entities(apm:service) SINCE -6h
属性値は、その集計値に応じて異なる場合があります。たとえば、calls_min
は abc
id の最小値を持つことができ、max
値は erros_min
の pqr
id に関連付けることができます。このようなデータは、チャートにプロットできません。
テーブルビューでの属性とメトリックの組み合わせを使用したクエリ
FETCH attributes(service.name), metrics(apm:calls_min), metrics(apm:errors_min) from entities(apm:service)
このタイプのクエリは、繰り返される属性値の時系列データを提供するため、テーブルビューには適していません。したがって、適切なチャートタイプは 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
Workaround:Helm のアップグレード後、次のコマンドを実行して管理者パスワードを変更する必要があります。
kubectl exec test-release-grafana-7bd87bdf6f-sfvvw -- grafana-cli admin reset-admin-password newpassword
値を適切なポッド名とパスワードに置き換えます。