第2章 Telemetry サービスを使用したモニタリング
Telemetry との対話には、aodh および gnocchi コマンドを使用することができます。これにより、アラーム、メトリック、測定を管理することができます。
2.1. 既存のアラームの表示 リンクのコピーリンクがクリップボードにコピーされました!
既存の Telemetry アラームを表示するには、以下のように aodh コマンドを使用します。
リソースに割り当てた計測を表示するには、以下のようにリソースの UUID を指定します (インスタンス、イメージ、ボリュームなど)。
gnocchi resource show 5e3fcbe2-7aab-475d-b42c-a440aa42e5ad
# gnocchi resource show 5e3fcbe2-7aab-475d-b42c-a440aa42e5ad
2.2. アラームの作成 リンクのコピーリンクがクリップボードにコピーされました!
aodh を使用して、しきい値に達した時点でアクティベートされるアラームを作成することができます。この例では、個別のインスタンスの CPU 使用率が 80% を超えた場合に、アラームがアクティベートされ、ログエントリーが追加されます。クエリーを使用して、特定のインスタンスの ID (94619081-abf5-4f1f-81c7-9cedaa872403) をモニタリング目的で分離します。
既存のしきい値アラームを編集するには、aodh alarm update コマンドを使用します。アラームのしきい値を 75% に増加させるには、以下のコマンドを実行します。
aodh alarm update --name cpu_usage_high --threshold 75
# aodh alarm update --name cpu_usage_high --threshold 75
2.3. アラームの無効化または削除 リンクのコピーリンクがクリップボードにコピーされました!
アラームを無効にするには、以下のコマンドを使用します。
aodh alarm update --name cpu_usage_high --enabled=false
# aodh alarm update --name cpu_usage_high --enabled=false
アラームを削除するには、以下のコマンドを使用します。
aodh alarm delete --name cpu_usage_high
# aodh alarm delete --name cpu_usage_high
2.4. 測定の表示 リンクのコピーリンクがクリップボードにコピーされました!
特定のリソースの測定をすべて表示するには、以下のコマンドを使用します。
gnocchi measures show --resource-id UUID METER_NAME
# gnocchi measures show --resource-id UUID METER_NAME
タイムスタンプの範囲内における特定のリソースの測定のみを表示するには以下のコマンドを使用します。
gnocchi measures show --aggregation mean --start START_TIME --end STOP_TIME --resource-id UUID METER_NAME
# gnocchi measures show --aggregation mean --start START_TIME --end STOP_TIME --resource-id UUID METER_NAME
START_TIME および END_TIME は iso-dateThh:mm:ss の形式で指定してください。
2.5. 新規測定の作成 リンクのコピーリンクがクリップボードにコピーされました!
測定を使用して、Telemetry サービスにデータを送信することができます。以前に定義した計測と一致する必要はありません。以下に例を示します。
gnocchi measures add -m 2015-01-12T17:56:23@42 --resource-id UUID METER_NAME
# gnocchi measures add -m 2015-01-12T17:56:23@42 --resource-id UUID METER_NAME
2.6. クラウドの使用状況の測定 リンクのコピーリンクがクリップボードにコピーされました!
以下の例では、各プロジェクトの全インスタンスの平均メモリー使用状況を表示します。
gnocchi measures aggregation --resource-type instance --groupby project_id -m memory
gnocchi measures aggregation --resource-type instance --groupby project_id -m memory
2.7. L3 キャッシュの使用状況の表示 リンクのコピーリンクがクリップボードにコピーされました!
Intel ハードウェアと libvirt バージョンが キャッシュモニタリングテクノロジー (CMT) をサポートする場合には、cpu_l3_cache の計測を使用して、インスタンスが使用する L3 キャッシュの量を監視することができます。
2.8. インスタンスのディスクアクティビティーの監視 リンクのコピーリンクがクリップボードにコピーされました!
以下の例では、aodm アラームを使用して、特定のプロジェクトに含まれる全インスタンスの累積ディスクアクティビティーを監視する方法を紹介します。
1. 既存のプロジェクトをレビューして、監視する必要のあるプロジェクトの適切な UUID を選択します。この例では admin テナントを使用します。
2. プロジェクトの UUID を使用して、admin テナント内のインスタンスが生成する読み込み要求すべての sum() を分析するアラームを作成します (クエリーは、--query パラメーターを使用してさらに制約を加えることができます)。
2.9. リソースタイプの管理 リンクのコピーリンクがクリップボードにコピーされました!
以前にハードコードされている Telemetry リソースタイプは、gnocchi クライアントで管理することができます。gnocchi クライアントを使用して、リソースタイプを作成、表示、削除することができ、gnocchi API を使用して属性を更新または削除することができます。
1. 新しい resource-type を作成します。
2. resource-type の設定をレビューします。
3. resource-type を削除します。
gnocchi resource-type delete testResource01
$ gnocchi resource-type delete testResource01
リソースが使用している場合には、リソースタイプを削除することはできません。
2.10. Time-Series-Database-as-a-Service の使用 リンクのコピーリンクがクリップボードにコピーされました!
Time-Series-Database-as-a-Service (gnocchi) はマルチテナントのメトリックおよびリソースのデータベースです。大規模なメトリックを格納する一方でオペレーターやユーザーにメトリックおよびリソースの情報へのアクセスを提供します。
現在、TSDaaS は認証に Identity サービスを、データの保存に Ceph と Object Storage を使用します。
TDSaaS は statsd プロトコルと互換性のある statsd デーモンを提供し、gnocchi-statsd と呼ばれるネットワークで送信されるメトリックをリッスンすることができます。TDSaaS での statsd サポートを有効化するには、設定ファイルで [statsd] オプションを設定する必要があります。リソース ID パラメーターは、全メトリックがアタッチされる主要な一般リソース、リソースとメトリックに関連付けられるユーザーとプロジェクト ID、メトリックの作成に使用するアーカイブポリシー名として使用されます。
メトリックは gnocchi-statsd に送信されるため、すべてのメトリックは動的に作成され、指定の名前を設定したリソース ID にアタッチします。TSDaaS のインストールおよび設定に関する詳しい情報は、https://access.redhat.com/documentation/ja/red-hat-enterprise-linux-openstack-platform/ から『インストールリファレンスガイド』の「Time-Series-Database-as-a-サービスのインストール」の章を参照してください。
Time-Series-Database-as-a-Service (gnocchi) は、Red Hat OpenStack Platform 10 ではテクノロジープレビューとして提供しています。
テクノロジープレビューとして記された機能のサポート範囲についての詳しい情報は、https://access.redhat.com/support/offerings/techpreview/ を参照してください。
2.10.1. Time-Series-Database-as-a-Service の実行 リンクのコピーリンクがクリップボードにコピーされました!
HTTP サーバーとメトリックデーモンを実行して、Time-Series-Database-as-a-Service (TSDaaS) を実行します。
gnocchi-api gnocchi-metricd
# gnocchi-api
# gnocchi-metricd
2.10.2. WSGI アプリケーションとしての実行 リンクのコピーリンクがクリップボードにコピーされました!
mod_wsgi または他の WSGI アプリケーションなど WSGI サービスで TSDaaS を実行できます。TSDaaS で提供される gnocchi/rest/app.wsgi により、WSGI アプリケーションとして Gnocchi を有効化できます。
TSDaaS API 層は、WSGI を使用して実行します。つまり、Apache httpd および mod_wsgi または uwsgi などの別の HTTP デーモンを使用して実行できるということです。CPU の数に合わせてプロセスやスレッド数を設定してください。通常は 1.5 × CPU の数 です。サーバーが 1 台では十分でない場合には、新たに API サーバーを起動して異なるマシン上にでも Gnocchi をスケールアウトできます。
2.10.3. metricd ワーカー リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは gnocchi-metricd デーモンは、すべての CPU 電源機能をチェックしてメトリックの集計を算出する時の CPU の使用率を最大化します。gnocchi status コマンドを使用して HTTP API を照会し、メトリック処理のクラスターのステータスを取得します。このコマンドにより、処理するメトリック数が表示されます。これは、gnocchi-metricd の処理バックログとして知られています。このバックログが増え続けている限り、gnocchi-metricd は受信するメトリックの量を処理できるということです。処理する測定値の数が継続的に増えている場合には、gnocchi-metricd デーモンの数を (一時的に) 増やす必要があります。実行できる metricd デーモンやサーバー数に制約はありません。
2.10.4. Time-Series-Database-as-a-Service の監視 リンクのコピーリンクがクリップボードにコピーされました!
HTTP API の /v1/status エンドポイントは、処理する測定値の数 (測定値のバックログ) などさまざまな情報を返し、簡単に監視することができます。HTTP サーバーと gnocchi-metricd デーモンは実行中であり、ログに警告内容が書きこまれていないことを確認できると、全体的なシステムのヘルスが良好であることが分かります。
2.10.5. Time-Series-Database-as-a-Service のバックアップと復元 リンクのコピーリンクがクリップボードにコピーされました!
障害から回復できるように、インデックスとストレージの両方をバックアップする必要があります。つまり、データベースダンプ (PostgreSQL または MySQL) を作成して、データストレージ (Ceph、Swift、またはファイルシステム) のスナップショットかコピーを作成してください。復元の手順は、インデックスとストレージのバックアップを復元して、必要に応じて TSDaaS を再インストールしてから、再起動します。