6. Grafanaの環境構築

Workload Managerは、Grafanaと連携して、クラスタを構成するノードやPodのメトリクスを表示する機能を提供します。

Red Hat OpenShift Container Platformでは、PROMETHEUSクラスターモニタリング機能として、Grafanaが標準提供されていますが、既定のダッシュボードしか利用できません。

本章では、標準とは別のネームスペースにGrafanaをインストールし、Workload Manager専用のダッシュボードを利用する手順について説明します。

注釈

本作業は、Red Hat OpenShift Container Platform のWebコンソール上で行います。手順中のメニューとは、Webコンソールの画面左ペインのものを指します。

6.1. 前提条件

Grafanaをインストールする際の前提条件を以下に記載します。

6.2. インストール前の作業

インストールを行う前に確認しておくべき事項、ならびに実施しなければならない作業について説明します。

6.2.1. アーカイブファイルの展開

製品媒体から workload-manager-operator.tar.gz を、ブラウザ実行端末上の任意の場所 (${WORK_DIR}) にコピーし、解凍ツールでアーカイブファイルを展開します。

注釈

インストール手順において、アーカイブファイルに同梱されているGrafana環境構築用ファイルのjsonテキストをWebコンソールで入力します。

6.3. インストール

例として、"grafana"という名前のネームスペースを作成し、OperatorでGrafanaをインストールする手順について説明します。

6.3.1. ネームスペースの作成

  1. メニューから[Administration]-[Namespaces]を選択し、[Create Namespace]ボタンをクリックして設定画面を開きます。

  2. 以下のパラメータを指定し、[Create]ボタンをクリックして作成します。

    Name:grafana
    

6.3.2. Grafana Operatorのインストール

  1. メニューから[Operators]-[OperatorHub]を選択し、[All Items]ボタンをクリックして"Grafana Operator"という名前のOperatorを検索します。

  2. "Grafana Operator"の[Install]ボタンをクリックし、インストール設定画面を開きます。

  3. 以下のパラメータを指定し、[Install]ボタンをクリックしてインストールします。

    Installed Namespace:grafana
    

6.3.3. Grafanaのインストール

  1. メニューから[Operators]-[Installed Operator]を選択し、"Grafana Operator"を選択します。

  2. "Grafana Operator"の[Grafana]タブで、[Create Grafana]ボタンをクリックして設定画面を開きます。

  3. [From View]画面で、以下のパラメータを指定し、[Create]ボタンをクリックしてインストールします。

    Name:grafana
    Anonymous:true
    

6.3.4. サービスアカウントへのロール付与

  1. メニューから[User Management]-[Role Bindings]を選択し、[Project]を"all projects"にしてから、[Create Bindings]ボタンをクリックして設定画面を開きます。

  2. 以下のパラメータを指定し、[Create]ボタンをクリックして作成します。

    Binding Type:Cluster-wide Role Binding(ClusterRoleBinding)
    Role Binding - Name:cluster-monitoring-view
    Role - Role Name:cluster-monitoring-view
    Subject:Service Account
    Subject - Subject Namespace:grafana
    Subject - Subject Name:grafana-serviceaccount
    

6.3.5. サービスアカウントのトークン取得

  1. メニューから[User Management]-[Service Account]を選択し、一覧から"grafana-serviceaccount"をクリックして当該サービスアカウントの画面を開きます。

  2. [Secrets]の一覧から"grafana-serviceaccount-token-xxxxx"(xxxxxは不定)をクリックして当該シークレットの画面を開きます。

  3. [Data]-[token]の右端のアイコン(Copy to Clipboard)をクリックしてトークンをコピーします。

6.3.6. データソースの登録

  1. "Grafana Operator"の[Grafana Data Source]タブで、[Create GrafanaDataSource]ボタンをクリックして設定画面を開きます。

  2. [From View]画面で、以下のパラメータを指定します。

    Name:prometheus-grafanadatasource
    Name:prometheus-grafanadatasource.yaml
    

    注釈

    画面では、同じ"Name"の設定項目が表示されますが、後者はyamlファイル名を指定します。

  3. [YAML View]画面で、定義を変更します。

    注釈

    エディタで開かれたGrafanaDataSourceの下記階層の定義を変更してください。

    <Grafanaサービスアカウントのトークン>には、前の手順で取得したものを指定します。

    変更前

    spec->datasources:
        - access: proxy
          editable: true
          isDefault: true
          jsonData:
            timeInterval: 5s
          name: Prometheus
          type: prometheus
          url: 'http://prometheus-service:9090'
          version: 1
    

    変更後

    spec->datasources:
        - access: proxy
          editable: true
          isDefault: true
          jsonData:
            httpHeaderName1: 'Authorization'
            timeInterval: 5s
            tlsSkipVerify: true
          name: prometheus
          secureJsonData:
            httpHeaderValue1: 'Bearer <Grafanaサービスアカウントのトークン>'
          type: prometheus
          url: 'https://prometheus-k8s.openshift-monitoring.svc.cluster.local:9091'
    
  4. [Create]ボタンをクリックし、データソースを登録します。

6.3.7. ノード用ダッシュボードの登録

  1. アーカイブファイルに含まれているノード用ダッシュボードのjsonファイルを確認します。

    ${WORK_DIR}/workload-manager-operator/grafana_settings/OpenShift4/wm-node-dashboard.json
    
  2. "Grafana Operator"の[Grafana Dashboard]タブで、[Create GrafanaDataSource]ボタンをクリックして設定画面を開きます。

  3. [From View]画面で、以下のパラメータを指定し、[Create]ボタンをクリックして登録します。

    Name:wm-node-dashboard
    Json:<wm-node-dashboard.jsonのテキスト>
    Name:wm-node-dashboard.json
    

    注釈

    画面では、同じ"Name"の設定項目で表示されますが、後者はjsonファイル名を指定します。

    <wm-node-dashboard.jsonのテキスト>には、最初の手順で確認したファイルの内容を指定します。

6.3.8. Pod用ダッシュボードの登録

  1. アーカイブファイルに含まれているPod用ダッシュボードのjsonファイルを確認します。

    ${WORK_DIR}/workload-manager-operator/grafana_settings/OpenShift4/wm-pod-dashboard.json
    
  2. "Grafana Operator"の[Grafana Dashboard]タブで、[Create GrafanaDataSource]ボタンをクリックして設定画面を開きます。

  3. [From View]画面で、以下のパラメータを指定し、[Create]ボタンをクリックして登録します。

    Name:wm-pod-dashboard
    Json:<wm-pod-dashboard.jsonのテキスト>
    Name:wm-pod-dashboard.json
    

    注釈

    画面では、同じ"Name"の設定項目で表示されますが、後者はjsonファイル名を指定します。

    <wm-pod-dashboard.jsonのテキスト>には、最初の手順で確認したファイルの内容を指定します。

6.3.9. Grafanaのサービス公開アドレスの確認

  1. メニューから[Networking]-[Routes]を選択し、"grafana-route"のLocationに表示されるURLを確認します。

  2. このURLをクリックしてGrafanaにアクセスし、Workload Managerのダッシュボード(wm-node-dashboard/wm-pod-dashboard)が登録されていることを確認します。

    注釈

    これまでの手順で作成される初期アカウントは「ユーザ:root、パスワード:secret」です。

    連携するWorkload Managerからダッシュボードを開く際には認証は必要ありません。

6.4. インストール後の作業

6.4.1. Grafanaのサービス公開アドレスの設定

Grafanaのサービス公開アドレスは、Workload ManagerのConfigMap(metrics-config)で指定します。

詳細は、「リファレンス集」の 「メトリクス表示の設定」 を参照してください。

6.4.2. インストールで使用したデータの削除

作業用ディレクトリは削除可能です。

6.5. アンインストール

Grafanaをアンインストールする手順について説明します。

  1. メニューから[Administration]-[Namespaces]を選択し、[Namespaces]の一覧から"grafana"をクリックして当該ネームスペースの画面を開きます。

  2. [Actions]から"Delete Namespace"を選択し、ネームスペースを削除します。