Menu Close
Settings Close

Language and Page Formatting Options

第5章 Service Telemetry Framework の運用機能の使用

以下の操作機能を使用して、Service Telemetry Framework (STF)に追加機能を提供できます。

5.1. Service Telemetry Framework でのダッシュボード

サードパーティーのアプリケーション Grafana を使用して、collectd および Ceilometer が各ホストノードについて収集するシステムレベルのメトリクスを可視化します。

collectd の設定の詳細は、「Service Telemetry Framework 向けの Red Hat OpenStack Platform オーバークラウドのデプロイ」 を参照してください。

2 つのダッシュボードを使用してクラウドを監視できます。

インフラストラクチャーダッシュボード
インフラストラクチャーダッシュボードを使用して、一度にノードのメトリクスを 1 つ表示します。ダッシュボードの左上隅からノードを選択します。
Cloud view ダッシュボード

クラウドビューダッシュボードを使用してパネルを表示し、サービスリソースの使用状況、API 統計、およびクラウドイベントを監視します。このダッシュボードにデータを提供するには、API ヘルスモニタリングおよびサービスのモニタリングを有効にする必要があります。API ヘルスモニタリングは、STF ベース設定でデフォルトで有効にされます。詳細は、「STF のベース設定の作成」 を参照してください。

5.1.1. ダッシュボードをホストするための Grafana の設定

Grafana はデフォルトの Service Telemetry Framework (STF) デプロイメントに含まれないので、OperatorHub.io から Grafana Operator をデプロイする必要があります。Service Telemetry Operator を使用して Grafana をデプロイすると、Grafana インスタンスとローカル STF デプロイメントのデフォルトデータソースの設定が作成されます。

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. service-telemetry namespace に切り替えます。

    $ oc project service-telemetry
  3. Grafana Operator をデプロイします。

    $ oc apply -f - <<EOF
    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: grafana-operator
      namespace: service-telemetry
    spec:
      channel: alpha
      installPlanApproval: Automatic
      name: grafana-operator
      source: operatorhubio-operators
      sourceNamespace: openshift-marketplace
    EOF
  4. Operator が正常に起動したことを確認します。コマンド出力で、PHASE 列の値が Succeeded の場合には、Operator は正常に起動されています。

    $ oc get csv --selector operators.coreos.com/grafana-operator.service-telemetry
    
    NAME                       DISPLAY            VERSION   REPLACES                   PHASE
    grafana-operator.v3.10.3   Grafana Operator   3.10.3    grafana-operator.v3.10.2   Succeeded
  5. Grafana インスタンスを起動するには、ServiceTelemetry オブジェクトを作成または変更します。graphing.enabled および graphing.grafana.ingressEnabledtrue に設定します。

    $ oc edit stf default
    
    apiVersion: infra.watch/v1beta1
    kind: ServiceTelemetry
    ...
    spec:
      ...
      graphing:
        enabled: true
        grafana:
          ingressEnabled: true
  6. Grafana インスタンスがデプロイされていることを確認します。

    $ oc get pod -l app=grafana
    
    NAME                                  READY   STATUS    RESTARTS   AGE
    grafana-deployment-7fc7848b56-sbkhv   1/1     Running   0          1m
  7. Grafana データソースが正しくインストールされていることを確認します。

    $ oc get grafanadatasources
    
    NAME                    AGE
    default-datasources     20h
  8. Grafana ルートが存在することを確認します。

    $ oc get route grafana-route
    
    NAME            HOST/PORT                                          PATH   SERVICES          PORT   TERMINATION   WILDCARD
    grafana-route   grafana-route-service-telemetry.apps.infra.watch          grafana-service   3000   edge          None

5.1.2. デフォルトの Grafana コンテナーイメージの上書き

Service Telemetry Framework (STF) のダッシュボードには、Grafana バージョン 8.1.0 以降でのみ利用できる機能が必要です。デフォルトで、Service Telemetry Operator は互換性のあるバージョンをインストールします。graphing.grafana.baseImage でイメージレジストリーへのイメージパスを指定して、ベース Grafana イメージを上書きできます。

手順

  1. Grafana の正しいバージョンがあることを確認します。

    $ oc get pod -l "app=grafana" -ojsonpath='{.items[0].spec.containers[0].image}'
    docker.io/grafana/grafana:7.3.10
  2. 実行中のイメージが 8.1.0 よりも古い場合は、ServiceTelemetry オブジェクトにパッチを適用してイメージを更新します。Service Telemetry Operator は、Grafana デプロイメントを再起動する Grafana マニフェストを更新します。

    $ oc patch stf/default --type merge -p '{"spec":{"graphing":{"grafana":{"baseImage":"docker.io/grafana/grafana:8.1.5"}}}}'
  3. 新しい Grafana Pod が存在し、Running の値が STATUS であることを確認します。

    $ oc get pod -l "app=grafana"
    NAME                                 READY     STATUS    RESTARTS   AGE
    grafana-deployment-fb9799b58-j2hj2   1/1       Running   0          10s
  4. 新規インスタンスが更新されたイメージを実行していることを確認します。

    $ oc get pod -l "app=grafana" -ojsonpath='{.items[0].spec.containers[0].image}'
    docker.io/grafana/grafana:8.1.0

5.1.3. ダッシュボードのインポート

Grafana Operator は、GrafanaDashboard オブジェクトを作成してダッシュボードをインポートおよび管理できます。ダッシュボードのサンプルは、https://github.com/infrawatch/dashboards で表示できます。

手順

  1. インフラストラクチャーダッシュボードをインポートします。

    $ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1.3/rhos-dashboard.yaml
    
    grafanadashboard.integreatly.org/rhos-dashboard-1.3 created
  2. クラウドダッシュボードをインポートします。

    警告

    クラウドダッシュボードの一部のパネルについては、stf-connectors.yaml ファイルで collectd virt プラグインパラメーター hostname_format の値を name uuid hostname に設定する必要があります。このパラメーターを設定しない場合には、影響を受けるダッシュボードは空のままになります。Virt プラグインの詳細は、「 collectd plugins 」を参照してください。

    $ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1.3/rhos-cloud-dashboard.yaml
    
    grafanadashboard.integreatly.org/rhos-cloud-dashboard-1.3 created
  3. クラウドイベントダッシュボードをインポートします。

    $ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1.3/rhos-cloudevents-dashboard.yaml
    
    grafanadashboard.integreatly.org/rhos-cloudevents-dashboard created
  4. 仮想マシンダッシュボードをインポートします。

    $ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1.3/virtual-machine-view.yaml
    
    grafanadashboard.integreatly.org/virtual-machine-view-1.3 configured
  5. memcached ダッシュボードをインポートします。

    $ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1.3/memcached-dashboard.yaml
    
    grafanadashboard.integreatly.org/memcached-dashboard-1.3 created
  6. ダッシュボードが利用可能であることを確認します。

    $ oc get grafanadashboards
    
    NAME                   AGE
    memcached-dashboard-1.3      115s
    rhos-cloud-dashboard-1.3     2m12s
    rhos-cloudevents-dashboard   2m6s
    rhos-dashboard-1.3           2m17s
    virtual-machine-view-1.3     2m
  7. Grafana ルートアドレスを取得します。

    $ oc get route grafana-route -ojsonpath='{.spec.host}'
    
    grafana-route-service-telemetry.apps.infra.watch
  8. Web ブラウザーで、https://<grafana_route_address> に移動します。<grafana_route_address> は、直前の手順で取得した値に置き換えます。
  9. ダッシュボードを表示するには、DashboardsManage をクリックします。

5.1.4. Grafana ログイン認証情報の取得および設定

Service Telemetry Framework (STF)は、Grafana が有効な場合にデフォルトのログイン認証情報を設定します。ServiceTelemetry オブジェクトで認証情報を上書きできます。

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. service-telemetry namespace に切り替えます。

    $ oc project service-telemetry
  3. デフォルトのユーザー名とパスワードを取得するには、Grafana オブジェクトを記述します。

    $ oc describe grafana default
  4. ServiceTelemetry オブジェクトを介して Grafana 管理者のユーザー名およびパスワードのデフォルト値を変更するには、graphing.grafana.adminUser および graphing.grafana.adminPassword パラメーターを使用します。