Grafanaのカスタマイズ
Verrazzano Grafana設定のカスタマイズ
Grafanaは、Prometheusメトリック・データのビジュアライゼーションを提供します。
vmi-system-grafana-*
という名前(verrazzano-system
ネームスペース内)。Grafanaにアクセスするには:
Grafanaイングレスからホスト名を取得します。
$ kubectl get ingress vmi-system-grafana -n verrazzano-system
# Sample output
NAME CLASS HOSTS ADDRESS PORTS AGE
vmi-system-grafana <none> grafana.vmi.system.default.123.456.789.10.nip.io 123.456.789.10 80, 443 26h
ユーザーverrazzano
のパスワードを取得します。
$ kubectl get secret \
--namespace verrazzano-system verrazzano \
-o jsonpath={.data.password} | base64 \
--decode; echo
ホスト名を使用して、ブラウザでGrafanaにアクセスします。
verrazzano
ユーザーおよびパスワードを使用してログインします。
Verrazzanoは、Grafanaに多数の事前構成済ダッシュボードをインストールします。これらのダッシュボードは、論理的にフォルダに編成されます。フォルダを表示するには、「Dashboards」アイコンを見つけて「Manage」を選択します。
各フォルダには、1つ以上の事前構成済ダッシュボードがあります。ダッシュボードは、アプリケーション、アプリケーションが実行されているKubernetesクラスタおよびVerrazzano自体をモニターするためのメトリックを視覚的に表したものです。これらのダッシュボードに追加したり、事前構成済のダッシュボードをコピーおよび変更したりできます。
フォルダおよびダッシュボードの説明を次に示します:
Coherence
- Coherenceアプリケーションをモニターするための一連のダッシュボード。Coherenceクラスタ、キャッシュ、エラスティック・データ、フェデレーション詳細、HTTPサーバー、Kubernetes、マシン、クラスタ・メンバー、永続性サマリー、プロキシ・サーバーおよびCoherenceサービスからのメトリックを提供します。Helidon
- Helidonワークロードに関して、ステータス、ヒープ使用量、JVMヒープ・サイズ、スレッド数、HTTPリクエストなど、HelidonアプリケーションのJVM詳細を提供します。Istio
- Verrazzano Istioサービス・メッシュとメッシュで実行されているワークロードをモニターするための一連のダッシュボード。JVM
- Verrazzanoにデプロイされたアプリケーションのモニタリング用。NGINX
- Verrazzanoシステムのイングレス・コントローラとイングレス・コントローラを使用して作成されたイングレスのモニタリング用。メトリックには、コントローラ・リクエスト・ボリューム、コントローラ接続、コントローラ成功率、構成リロード、ネットワーク圧力などがあります。OpenSearch
- クラスタ・ヘルス、シャード詳細、索引詳細、JVMメトリックなど、OpenSearchクラスタからのメトリックを提供します。Prometheus Operator
- CPU使用率、メモリー制限など、クラスタ・コンピュート・リソースのメトリックを提供します。WebLogic
- WebLogicワークロードに関して、WebLogic Serverのランタイム・デプロイメントをモニターおよび診断するためのWebLogic Serverランタイム・メトリックを提供します。また、次の事前構成済Grafana Verrazzanoダッシュボードがあります。これらのダッシュボードは、Verrazzano Application
、Verrazzano Monitoring
およびVerrazzano System
フォルダにあります:
Verrazzano Application
には、Application Status
ダッシュボードが含まれています。このダッシュボードは、VerrazzanoにデプロイされたOAMアプリケーションの全体的なヘルスとパフォーマンス、および実行中のポッドの詳細に関する情報を提供します。この情報は、クラスタ、アプリケーションおよびコンポーネントに基づいてフィルタできます。
Applications
のリストで使用できるようになります。モニターする特定のアプリケーションを選択し、表示するアプリケーション・メトリックを選択できます。メトリックは次の3行にあります:
Summary
は、CPUおよびメモリーの使用量とポッドのステータスを提供します。Storage
は、ディスクおよびPVC (永続ボリューム要求)の使用量を提供します。Requests
は、HTTPリクエストおよびリクエスト・メトリックを提供します。Verrazzano Monitoring
には、Verrazzanoが実行されているKubernetesクラスタをモニターするためのダッシュボードが含まれています:
alertmanager-mixin
は、Alertmanagerによって送信された成功および無効の通知も含め、Alertmanagerによって作成されたアラートを表示します。etcd-mixin
は、クラスタ・メトリックを提供し、アクティブ・ストリーム、RPCレート、データベース・サイズ、メモリー使用量、クライアント・トラフィック、ピア・トラフィックなどの追加情報を表示します。kubernetes-mixin
は、クラスタ、ポッド、ワークロード・タイプおよびノードに基づくCPU、メモリーおよびネットワークのメトリック、クラスタ、ポッド、ワークロード・タイプおよびノードに基づくネットワーク帯域幅、永続ボリューム使用量、プロキシおよびスケジューラのメトリックを提供します。node-exporter-mixin
は、CPU、メモリー、ディスクおよびネットワーク使用量のノード・レベルのステータスを提供します。
次の図は、Verrazzano Monitoring
のダッシュボードを示しています:
Verrazzano System
には、すべてのVerrazzanoシステム・コンポーネントのヘルスとクラスタ全体のKubernetesリソースのリソース使用量に関する情報を提供する一連のダッシュボードがあります。
Resource Usage Detailed
は、アプリケーション・オペレータ、クラスタ・オペレータ、モニタリング・オペレータ、プラットフォーム・オペレータなど、Verrazzanoの各システム・コンポーネントのリソース使用量の詳細ビューを提供します。クラスタやコンポーネントなどに基づいて情報をフィルタできます。Resource Usage Summary
は、リソース使用量のサマリーを示します。これは、すべてのコンポーネントまたは特定のコンポーネントについて表示できます。クラスタやコンポーネントなどに基づいて情報をフィルタできます。メトリックは次の3行にあります:
Summary
は、CPUおよびメモリーの使用量とポッドのステータスを提供します。Storage
は、ディスクおよびPVC (永続ボリューム要求)の使用量を提供します。Requests
は、HTTPリクエストおよびリクエスト・メトリックを提供します。System Health
は、Verrazzanoのすべてのシステム・コンポーネントのヘルスを提供します。これは、ローカル・クラスタまたはその他の登録済クラスタについて表示できます。Verrazzanoでは、Grafanaダッシュボードを動的に検出できます。この機能を使用すると、ダッシュボードの構成および設定をKubernetes ConfigMapとしてパッケージ化して、個別に、またはアプリケーションとともにデプロイできます。
ダッシュボードをConfigMapとして構成するには:
ダッシュボードをJSONファイルとして作成します。または、既存のGrafanaダッシュボードをJSONファイルとしてエクスポートできます。「Manage Dashboards」を参照してください。
Grafanaを実行しているのと同じクラスタで、次を含むConfigMapを作成します:
Grafanaがダッシュボードを検出するためのラベルgrafana_dashboard
:"1"
。
ダッシュボードを定義および構成するJSONコード(ステップ1のダッシュボードのJSON)。
オプションで、ダッシュボードを表示するGrafanaフォルダ名を指定するk8s-sidecar-target-directory
注釈。この注釈の値は、Grafanaフォルダ名です。指定しない場合、ダッシュボードはデフォルトのGrafanaフォルダに表示されます。
ダッシュボードのConfigMapの例を次に示します。
apiVersion: v1
kind: ConfigMap
metadata:
annotations:
k8s-sidecar-target-directory: My App Dashboards
labels:
grafana_dashboard: "1"
name: app-dashboard
namespace: app
data:
app_dashboard.json: |-
{
"title": "My App Dashboard",
"uid": "Q4Bkkx",
"version": 2,
"panels": [
{
...
}
...
}
ConfigMapが作成されると、ダッシュボードがGrafanaにロードされます。
または、kubectl create configmap
を使用して1つのファイルからConfigMapを作成したり、複数のファイルからConfigMapを生成したりすることもできます。「Create a ConfigMap」を参照してください。
ダッシュボードのConfigMapを使用して、カスタム・ダッシュボードをデプロイできます。これらのダッシュボードは変更可能ですが、Grafanaに保存することはできません。ダッシュボードを変更する場合は、ConfigMapを更新するか、ダッシュボードをGrafanaコンソールから新しい場所に保存します。
Verrazzano Grafana設定のカスタマイズ