1.6. Grafana ダッシュボードの設計


grafana-dev インスタンスを作成して、Grafana ダッシュボードを設計できます。

1.6.1. Grafana 開発者インスタンスの設定

まず、stolostron/multicluster-observability-operator/ リポジトリーのクローンを作成し、tools フォルダーにあるスクリプトを実行できるようにします。必ず最新の grafana-dev インスタンスを使用してください。

Grafana 開発者インスタンスを設定するには、以下の手順を実行します。

  1. setup-grafana-dev.sh を実行して、Grafana インスタンスを設定します。スクリプトを実行すると、secret/grafana-dev-configdeployment.apps/grafana-devservice/grafana-devingress.extensions/grafana-devpersistentvolumeclaim/grafana-dev のリソースが作成されます。

    ./setup-grafana-dev.sh --deploy
    secret/grafana-dev-config created
    deployment.apps/grafana-dev created
    service/grafana-dev created
    serviceaccount/grafana-dev created
    clusterrolebinding.rbac.authorization.k8s.io/open-cluster-management:grafana-crb-dev created
    route.route.openshift.io/grafana-dev created
    persistentvolumeclaim/grafana-dev created
    oauthclient.oauth.openshift.io/grafana-proxy-client-dev created
    deployment.apps/grafana-dev patched
    service/grafana-dev patched
    route.route.openshift.io/grafana-dev patched
    oauthclient.oauth.openshift.io/grafana-proxy-client-dev patched
    clusterrolebinding.rbac.authorization.k8s.io/open-cluster-management:grafana-crb-dev patched
  2. switch-to-grafana-admin.sh スクリプトを使用して、ユーザーロールを Grafana 管理者に切り替えます。

    1. Grafana の URL https://grafana-dev-open-cluster-management-observability.{OPENSHIFT_INGRESS_DOMAIN} を選択し、ログインします。
    2. 次に、以下のコマンドを実行して、切り替えユーザーを Grafana 管理者として追加します。たとえば、kubeadmin を使用してログインしたら、以下のコマンドを実行します。

      ./switch-to-grafana-admin.sh kube:admin
      User <kube:admin> switched to be grafana admin

Grafana 開発者インスタンを設定します。

1.6.2. Grafana ダッシュボードの設計

Grafana インスタンスを設定したら、ダッシュボードを設計できます。Grafana コンソールを更新し、ダッシュボードを設計するには、以下の手順を実行します。

  1. Grafana コンソールのナビゲーションパネルから Create アイコンを選択してダッシュボードを作成します。Dashboard を選択し、Add new panel をクリックします。
  2. New Dashboard/Edit Panel ビューで、Query タブを選択します。
  3. データソースセレクターから Observatorium を選択し、PromQL クエリーを入力してクエリーを設定します。
  4. Grafana ダッシュボードヘッダーから、ダッシュボードヘッダーにある Save アイコンをクリックします。
  5. 説明的な名前を追加し、Save をクリックします。

1.6.2.1. ConfigMap での Grafana ダッシュボードの設計

ConfigMap を使用して、Grafana ダッシュボードを設計します。generate-dashboard-configmap-yaml.sh スクリプトを使用してダッシュボードの ConfigMap を生成し、ローカルで ConfigMap を保存できます。

./generate-dashboard-configmap-yaml.sh "Your Dashboard Name"
Save dashboard <your-dashboard-name> to ./your-dashboard-name.yaml

前述のスクリプトを実行するパーミッションがない場合は、以下の手順を実行します。

  1. ダッシュボードを選択し、Dashboard 設定 アイコンをクリックします。
  2. ナビゲーションパネルから JSON Model アイコンをクリックします。
  3. ダッシュボード JSON データをコピーし、data セクションに貼り付けます。
  4. name を、$your-dashboard-name に置き換えます。data.$your-dashboard-name.json.$$your_dashboard_jsonuid フィールドに Universally Unique Identifier (UUID) を入力します。uuidegen などのプログラムを使用して UUID を作成できます。ConfigMap は、以下のファイルのようになります。

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: $your-dashboard-name
      namespace: open-cluster-management-observability
      labels:
        grafana-custom-dashboard: "true"
    data:
      $your-dashboard-name.json: |-
        $your_dashboard_json

    注記:

    • ダッシュボードが grafana-dev インスタンス内に作成されている場合は、ダッシュボードの名前を取得して、スクリプトで引数として渡すことができます。たとえば、Demo Dashboard という名前のダッシュボードが grafana-dev インスタンスに作成されます。CLI から、次のスクリプトを実行できます。

      ./generate-dashboard-configmap-yaml.sh "Demo Dashboard"

      スクリプトを実行すると、次のメッセージが表示される場合があります。

      Save dashboard <demo-dashboard> to ./demo-dashboard.yaml
    • ダッシュボードが General フォルダーにない場合は、この ConfigMap の annotations セクションでフォルダー名を指定できます。

      annotations:
        observability.open-cluster-management.io/dashboard-folder: Custom

      ConfigMap の更新が完了したら、インストールしてダッシュボードを Grafana インスタンスにインポートできます。

CLI または OpenShift Container Platform コンソールから YAML を適用して、YAML ファイルが作成されていることを確認します。open-cluster-management-observability namespace 内に ConfigMap が作成されます。CLI から次のコマンドを実行します。

oc apply -f demo-dashboard.yaml

OpenShift Container Platform コンソールから、demo-dashboard.yaml ファイルを使用して、ConfigMap を作成します。ダッシュボードは Custom フォルダーにあります。

1.6.3. Grafana でマネージドクラスターラベルを使用する

ハブクラスターで可観測性が有効になっている場合、observability-managed-cluster-label-allowlist ConfigMap が open-cluster-management-observability namespace に作成されます。ConfigMap には、observabilty-rbac-query-proxy Pod によって維持されるマネージドクラスターラベルのリストが含まれており、ACM - Cluster Overview Grafana ダッシュボード内からフィルタリングするラベル名のリストを入力します。デフォルトでは、可観測性は observability-managed-cluster-label-allowlist ConfigMap のラベルのサブセットを無視します。

クラスターがマネージドクラスターフリートにインポートされるか、変更されると、observability-rbac-query-proxy Pod は、マネージドクラスターラベルを参照して変更を監視し、observability-managed-cluster-label-allowlist ConfigMap を自動的に更新して、変化します。ConfigMap には、ignore_labels または labels リストに含まれる一意のラベル名のみが含まれます。observability-managed-cluster-label-allowlist ConfigMap は次の YAML ファイルのようになる場合があります。

data:
  managed_cluster.yaml: |
    ignore_labels:
      - clusterID
      - cluster.open-cluster-management.io/clusterset
      - feature.open-cluster-management.io/addon-application-manager
      - feature.open-cluster-management.io/addon-cert-policy-controller
      - feature.open-cluster-management.io/addon-cluster-proxy
      - feature.open-cluster-management.io/addon-config-policy-controller
      - feature.open-cluster-management.io/addon-governance-policy-framework
      - feature.open-cluster-management.io/addon-iam-policy-controller
      - feature.open-cluster-management.io/addon-observability-controller
      - feature.open-cluster-management.io/addon-search-collector
      - feature.open-cluster-management.io/addon-work-manager
      - installer.name
      - installer.namespace
      - local-cluster
      - name
    labels:
      - cloud
      - vendor

有効になっているラベルは、ACM - クラスター概要 Grafana ダッシュボードのドロップダウンフィルターに表示されます。値は、選択した label キーの値に応じて、acm_managed_cluster_labels メトリックから取得されます。

ConfigMap の ignore_labels キーリストにリストされているラベルは、ACM - クラスター概要 Grafana ダッシュボードのドロップダウンフィルターから削除されます。

1.6.3.1. マネージドクラスターラベルの追加

マネージドクラスターラベルを observability-managed-cluster-label-allowlist ConfigMap に追加すると、そのラベルは Grafana のフィルターオプションとして使用できるようになります。ハブクラスター、またはマネージドクラスターフリートに関連付けられているマネージドクラスターオブジェクトに一意のラベルを追加します。たとえば、ラベル department=finance をマネージドクラスターに追加すると、ConfigMap が更新され、次のように変更されます。

data:
  managed_cluster.yaml: |
    ignore_labels:
      - clusterID
      - cluster.open-cluster-management.io/clusterset
      - feature.open-cluster-management.io/addon-application-manager
      - feature.open-cluster-management.io/addon-cert-policy-controller
      - feature.open-cluster-management.io/addon-cluster-proxy
      - feature.open-cluster-management.io/addon-config-policy-controller
      - feature.open-cluster-management.io/addon-governance-policy-framework
      - feature.open-cluster-management.io/addon-iam-policy-controller
      - feature.open-cluster-management.io/addon-observability-controller
      - feature.open-cluster-management.io/addon-search-collector
      - feature.open-cluster-management.io/addon-work-manager
      - installer.name
      - installer.namespace
      - local-cluster
      - name
    labels:
      - cloud
      - department
      - vendor

1.6.3.2. マネージドクラスターラベルの有効化

observability-managed-cluster-label-allowlist ConfigMap の ignore_labels リストからラベルを削除して、すでに無効になっているマネージドクラスターラベルを有効にします。

たとえば、local-cluster および name ラベルを有効にします。observability-managed-cluster-label-allowlist ConfigMap は、次の内容のようになる場合があります。

data:
  managed_cluster.yaml: |
    ignore_labels:
      - clusterID
      - installer.name
      - installer.namespace
    labels:
      - cloud
      - vendor
      - local-cluster
      - name

クラスターラベルが確実に更新されるように、ConfigMap は 30 秒後に再同期します。ConfigMap を更新した後、open-cluster-management-observability namespace の observability-rbac-query-proxy Pod ログをチェックして、ラベルがリストされている場所を確認します。次の情報が Pod ログに表示される場合があります。

enabled managedcluster labels: <label>

Grafana ダッシュボードから、ラベルが Label ドロップダウンメニューの値としてリストされていることを確認します。

1.6.3.3. マネージドクラスターラベルの無効化

Label ドロップダウンフィルターのリストからマネージドクラスターラベルを除外します。ラベル名を ignore_labels リストに追加します。たとえば、local-clusternameignore_labels リストに戻すと、YAML は次のファイルのようになります。

data:
  managed_cluster.yaml: |
    ignore_labels:
      - clusterID
      - installer.name
      - installer.namespace
      - local-cluster
      - name
    labels:
      - cloud
      - vendor

open-cluster-management-observability namespace の observability-rbac-query-proxy Pod ログをチェックして、ラベルがどこにリストされているかを確認します。次の情報が Pod ログに表示される場合があります。

disabled managedcluster label: <label>

1.6.4. Grafana 開発者インスタンスのアンインストール

インスタンスをアンインストールすると、関連するリソースも削除されます。以下のコマンドを実行します。

./setup-grafana-dev.sh --clean
secret "grafana-dev-config" deleted
deployment.apps "grafana-dev" deleted
serviceaccount "grafana-dev" deleted
route.route.openshift.io "grafana-dev" deleted
persistentvolumeclaim "grafana-dev" deleted
oauthclient.oauth.openshift.io "grafana-proxy-client-dev" deleted
clusterrolebinding.rbac.authorization.k8s.io "open-cluster-management:grafana-crb-dev" deleted

環境の監視の概要 に戻ります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.