Grafana
Grafanaは、Prometheusメトリック・データのビジュアライゼーションを提供します。
- クラスタごとに1つのポッド。
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ユーザーおよびパスワードを使用してログインします。

Grafanaダッシュボード
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アプリケーションの全体的なヘルスとパフォーマンス、および実行中のポッドの詳細に関する情報を提供します。この情報は、クラスタ、アプリケーションおよびコンポーネントに基づいてフィルタできます。- Verrazzanoに新しいアプリケーションをデプロイすると、そのアプリケーションは自動的にダッシュボードに追加され、
Applicationsのリストで使用できるようになります。モニターする特定のアプリケーションを選択し、表示するアプリケーション・メトリックを選択できます。メトリックは次の3行にあります:Summaryは、CPUおよびメモリーの使用量とポッドのステータスを提供します。Storageは、ディスクおよびPVC (永続ボリューム要求)の使用量を提供します。Requestsは、HTTPリクエストおよびリクエスト・メトリックを提供します。
- Verrazzanoに新しいアプリケーションをデプロイすると、そのアプリケーションは自動的にダッシュボードに追加され、
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コンソールから新しい場所に保存します。