第5章 Service Telemetry Framework の運用機能の使用
以下の操作機能を使用して、Service Telemetry Framework (STF) に追加機能を提供できます。
5.1. Service Telemetry Framework でのダッシュボード リンクのコピーリンクがクリップボードにコピーされました!
サードパーティーアプリケーション Grafana を使用して、データコレクター collectd および Ceilometer が個々のホストノードごとに収集するシステムレベルのメトリックを視覚化します。
データコレクターの設定の詳細は、次を参照してください。「ディレクターを使用した Service Telemetry Framework 用の Red Hat OpenStack Platform オーバークラウドのデプロイ」
ダッシュボードを使用してクラウドをモニターできます。
- インフラストラクチャーダッシュボード
- インフラストラクチャーダッシュボードを使用して、1 つのノードのメトリックを一度に表示します。ダッシュボードの左上からノードを選択します。
- クラウドビューダッシュボード
クラウドビューダッシュボードを使用してパネルを表示し、サービスリソースの使用状況、API 統計、およびクラウドイベントを監視します。このダッシュボードのデータを提供するには、API ヘルスモニタリングとサービスモニタリングを有効にする必要があります。API ヘルスモニタリングは、STF ベース設定でデフォルトで有効にされます。詳細は、「STF の基本設定の作成」 を参照してください。
- API ヘルスモニタリングに関する詳細は、「Red Hat OpenStack Platform API のステータスおよびコンテナー化されたサービスの健全性」 を参照してください。
- RHOSP サービスモニタリングの詳細は、「Red Hat OpenStack Platform サービスのリソース使用状況」を参照してください。
- 仮想マシンビューダッシュボード
- 仮想マシンビューダッシュボードを使用してパネルを表示し、仮想マシンインフラストラクチャーの使用状況をモニターします。ダッシュボードの左上隅からクラウドとプロジェクトを選択します。このダッシュボードでイベントのアノテーションを有効にする場合は、イベントストレージを有効にする必要があります。詳細は、「Red Hat OpenShift Container Platform での ServiceTelemetry オブジェクトの作成」 を参照してください。
- Memcached ビューのダッシュボード
- memcached ビューダッシュボードを使用してパネルを表示し、接続、可用性、システムメトリック、およびキャッシュパフォーマンスをモニターします。ダッシュボードの左上隅からクラウドを選択します。
5.1.1. ダッシュボードをホストするための Grafana の設定 リンクのコピーリンクがクリップボードにコピーされました!
Grafana はデフォルトの Service Telemetry Framework (STF) デプロイメントには含まれていないため、コミュニティーオペレーターの CatalogSource から Grafana Operator をデプロイする必要があります。Service Telemetry Operator を使用して Grafana をデプロイすると、Grafana インスタンスとローカル STF デプロイメントのデフォルトデータソースの設定が作成されます。
手順
- Red Hat OpenShift Container Platform にログインします。
service-telemetrynamespace に切り替えます。oc project service-telemetry
$ oc project service-telemetryCopy to Clipboard Copied! Toggle word wrap Toggle overflow Community-operators CatalogSource を使用して、Grafana Operator を購読します。
警告コミュニティーオペレーターは、Red Hat による精査または検証を受けていないオペレーターです。コミュニティーオペレーターは安定性が不明であるため、注意して使用する必要があります。Red Hat は、Community Operators のサポートを提供しません。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Operator が正常に起動したことを確認します。コマンド出力で、
PHASE列の値がSucceededの場合には、Operator は正常に起動されています。oc get csv --selector operators.coreos.com/grafana-operator.service-telemetry NAME DISPLAY VERSION REPLACES PHASE grafana-operator.v4.10.1 Grafana Operator 4.10.1 grafana-operator.v4.10.0 Succeeded
$ oc get csv --selector operators.coreos.com/grafana-operator.service-telemetry NAME DISPLAY VERSION REPLACES PHASE grafana-operator.v4.10.1 Grafana Operator 4.10.1 grafana-operator.v4.10.0 SucceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow Grafana インスタンスを起動するには、
ServiceTelemetryオブジェクトを作成または変更します。graphing.enabledおよびgraphing.grafana.ingressEnabledをtrueに設定します。オプションで、graphing.grafana.baseImageの値を、デプロイされる Grafana ワークロードコンテナーイメージに設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Grafana インスタンスがデプロイされたことを確認します。
oc get pod -l app=grafana NAME READY STATUS RESTARTS AGE grafana-deployment-7fc7848b56-sbkhv 1/1 Running 0 1m
$ oc get pod -l app=grafana NAME READY STATUS RESTARTS AGE grafana-deployment-7fc7848b56-sbkhv 1/1 Running 0 1mCopy to Clipboard Copied! Toggle word wrap Toggle overflow Grafana のデータソースが正しくインストールされたことを確認します。
oc get grafanadatasources NAME AGE default-datasources 20h
$ oc get grafanadatasources NAME AGE default-datasources 20hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
$ 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 NoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.2. デフォルトの Grafana コンテナーイメージの上書き リンクのコピーリンクがクリップボードにコピーされました!
Service Telemetry Framework (STF) のダッシュボードには、Grafana バージョン 8.1.0 以降でのみ利用できる機能が必要です。デフォルトで、Service Telemetry Operator は互換性のあるバージョンをインストールします。graphing.grafana.baseImage でイメージレジストリーへのイメージパスを指定して、ベース Grafana イメージを上書きできます。
手順
Grafana のバージョンが正しいことを確認します。
oc get pod -l "app=grafana" -ojsonpath='{.items[0].spec.containers[0].image}' docker.io/grafana/grafana:7.3.10$ oc get pod -l "app=grafana" -ojsonpath='{.items[0].spec.containers[0].image}' docker.io/grafana/grafana:7.3.10Copy to Clipboard Copied! Toggle word wrap Toggle overflow 実行中のイメージが 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"}}}}'$ oc patch stf/default --type merge -p '{"spec":{"graphing":{"grafana":{"baseImage":"docker.io/grafana/grafana:8.1.5"}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい Grafana Pod が存在し、
Runningの値がSTATUSであることを確認します。oc get pod -l "app=grafana" NAME READY STATUS RESTARTS AGE grafana-deployment-fb9799b58-j2hj2 1/1 Running 0 10s
$ oc get pod -l "app=grafana" NAME READY STATUS RESTARTS AGE grafana-deployment-fb9799b58-j2hj2 1/1 Running 0 10sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいインスタンスが更新されたイメージを実行していることを確認します。
oc get pod -l "app=grafana" -ojsonpath='{.items[0].spec.containers[0].image}' docker.io/grafana/grafana:8.1.0$ oc get pod -l "app=grafana" -ojsonpath='{.items[0].spec.containers[0].image}' docker.io/grafana/grafana:8.1.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.3. ダッシュボードのインポート リンクのコピーリンクがクリップボードにコピーされました!
Grafana Operator は、GrafanaDashboard オブジェクトを作成してダッシュボードをインポートおよび管理できます。ダッシュボードの例は、https://github.com/infrawatch/dashboards で見ることができます。
手順
インフラストラクチャーダッシュボードをインポートします。
oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/rhos-dashboard.yaml grafanadashboard.integreatly.org/rhos-dashboard-1 created
$ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/rhos-dashboard.yaml grafanadashboard.integreatly.org/rhos-dashboard-1 createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラウドダッシュボードをインポートします。
警告stf-connectors.yamlファイルで、collectdvirtプラグインパラメーターhostname_formatの値をname uuid hostnameに設定していることを確認してください。そうしないと、クラウドダッシュボードの一部のパネルに情報が表示されません。virtプラグインの詳細は、collectd plugins を参照してください。oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/rhos-cloud-dashboard.yaml grafanadashboard.integreatly.org/rhos-cloud-dashboard-1 created
$ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/rhos-cloud-dashboard.yaml grafanadashboard.integreatly.org/rhos-cloud-dashboard-1 createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラウドイベントのダッシュボードをインポートします。
oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/rhos-cloudevents-dashboard.yaml grafanadashboard.integreatly.org/rhos-cloudevents-dashboard created
$ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/rhos-cloudevents-dashboard.yaml grafanadashboard.integreatly.org/rhos-cloudevents-dashboard createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシンダッシュボードをインポートします。
oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/virtual-machine-view.yaml grafanadashboard.integreatly.org/virtual-machine-view-1 configured
$ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/virtual-machine-view.yaml grafanadashboard.integreatly.org/virtual-machine-view-1 configuredCopy to Clipboard Copied! Toggle word wrap Toggle overflow memcached ダッシュボードをインポートします。
oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/memcached-dashboard.yaml grafanadashboard.integreatly.org/memcached-dashboard-1 created
$ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/memcached-dashboard.yaml grafanadashboard.integreatly.org/memcached-dashboard-1 createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow ダッシュボードが利用可能であることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Grafana のルートアドレスを取得します。
oc get route grafana-route -ojsonpath='{.spec.host}' grafana-route-service-telemetry.apps.infra.watch$ oc get route grafana-route -ojsonpath='{.spec.host}' grafana-route-service-telemetry.apps.infra.watchCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Web ブラウザーで、https://<grafana_route_address> に移動します。<grafana_route_address> は、直前の手順で取得した値に置き換えます。
- ダッシュボードを表示するには、Dashboards および Manage をクリックします。
5.1.4. Grafana のログイン認証情報の取得および設定 リンクのコピーリンクがクリップボードにコピーされました!
Grafana が有効になっている場合、openshift 認証、または Grafana Operator によって設定されたデフォルトのユーザー名とパスワードを使用してログインできます。
ServiceTelemetry オブジェクトの認証情報をオーバーライドして、代わりに Service Telemetry Framework (STF) に Grafana のユーザー名とパスワードを設定させることができます。
手順
- Red Hat OpenShift Container Platform にログインします。
service-telemetrynamespace に切り替えます。oc project service-telemetry
$ oc project service-telemetryCopy to Clipboard Copied! Toggle word wrap Toggle overflow STF オブジェクトから既存のユーザー名とパスワードを取得します。
oc get stf default -o jsonpath="{.spec.graphing.grafana['adminUser','adminPassword']}"$ oc get stf default -o jsonpath="{.spec.graphing.grafana['adminUser','adminPassword']}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow ServiceTelemetry オブジェクトを介して Grafana 管理者のユーザー名およびパスワードのデフォルト値を変更するには、
graphing.grafana.adminUserおよびgraphing.grafana.adminPasswordパラメーターを使用します。oc edit stf default
$ oc edit stf defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい認証情報を設定して grafana Pod が再起動するまで待ちます。
oc get po -l app=grafana -w
$ oc get po -l app=grafana -wCopy to Clipboard Copied! Toggle word wrap Toggle overflow