2.5. アーカイブポリシーのプランニングおよび管理

アーカイブポリシーは、メトリックの集約方法および時系列データベースへの保管期間を定義します。アーカイブポリシーは、タイムスパンにおけるポイント数として定義されます。

アーカイブポリシーで 1 秒の粒度および 10 ポイントのポリシーを定義すると、時系列アーカイブは最大 10 秒間保持し、それぞれが 1 秒間の集約を表します。つまり、時系列は最大で、より新しいポイントと古いポイント間の 10 秒間のデータを保持します。アーカイブポリシーは、使用する集約メソッドも定義します。デフォルトはパラメーター default_aggregation_methods に設定され、デフォルト値は meanminmaxsumstdcount に設定されます。したがって、ユースケースによってアーカイブポリシーおよび粒度は異なる場合があります。

アーカイブポリシーをプランニングするには、以下の概念に精通している必要があります。

アーカイブポリシーを作成および管理するには、以下のタスクを実行します。

  1. アーカイブポリシーを作成する。詳細は、「アーカイブポリシーの作成」を参照してください。
  2. アーカイブポリシーを管理する。詳細は、「アーカイブポリシーの管理」を参照してください。
  3. アーカイブポリシールールを作成する。詳細は、「アーカイブポリシールールの作成」を参照してください。

2.5.1. メトリック

Gnocchi は、メトリック と呼ばれるオブジェクトタイプを提供します。メトリックとは、サーバーの CPU 使用状況、部屋の温度、ネットワークインターフェイスによって送信されるバイト数など、計測することのできる任意の項目を指します。メトリックには以下の属性が含まれます。

  • 識別用の UUID
  • 名前
  • 計測値を保管および集約するのに使用されるアーカイブポリシー

関連情報

2.5.1.1. メトリックの作成

手順

  1. リソースを作成します。<resource_name> をリソースの名前に置き換えます。

    $ openstack metric resource create <resource_name>
  2. メトリックを作成します。<resource_name> をリソースの名前に、<metric_name> をメトリックの名前に、それぞれ置き換えます。

    $ openstack metric metric create -r <resource_name> <metric_name>

    メトリックを作成する場合、アーカイブポリシーの属性は固定され、変更することはできません。archive_policy エンドポイントを使用して、アーカイブポリシーの定義を変更することができます。

2.5.2. カスタム計測値の作成

計測値とは、API が Gnocchi に送信する受信データポイントタプルを指します。計測値はタイムスタンプおよび値で設定されます。独自のカスタム計測値を作成することができます。

手順

  • カスタム計測値を作成します。

    $ openstack metric measures add -m <MEASURE1> -m <MEASURE2> .. -r <RESOURCE_NAME> <METRIC_NAME>

2.5.3. デフォルトのアーカイブポリシー

デフォルトでは、Gnocchi には以下のアーカイブポリシーがあります。

  • low

    • 5 分間の粒度で 30 日間のタイムスパン
    • 使用される集計方法: default_aggregation_methods
    • メトリック 1 つあたりの最大推定サイズ: 406 KiB
  • medium

    • 1 分間の粒度で 7 日間のタイムスパン
    • 1 時間の粒度で 365 日間のタイムスパン
    • 使用される集計方法: default_aggregation_methods
    • メトリック 1 つあたりの最大推定サイズ: 887 KiB
  • high

    • 1 秒間の粒度で 1 時間のタイムスパン
    • 1 分間の粒度で 1 週間のタイムスパン
    • 1 時間の粒度で 1 年間のタイムスパン
    • 使用される集計方法: default_aggregation_methods
    • メトリック 1 つあたりの最大推定サイズ: 1 057 KiB
  • ブール

    • 1 秒間の粒度で 1 年間のタイムスパン
    • 使用される集約メソッド: last
    • メトリック 1 つあたりの最大サイズ (楽観的): 1 539 KiB
    • メトリック 1 つあたりの最大サイズ (ワーストケース): 277 172 KiB

2.5.4. 時系列集約値のサイズの計算

Gnocchi は、データポイントのコレクションを保管します。この場合、それぞれのポイントが集約値です。ストレージの形式は、異なる技術を使用して圧縮されます。したがって、時系列のサイズの計算は、以下の例に示すようにワーストケースのシナリオに基づいて見積もられます。

手順

  1. 以下の式を使用して、ポイント数を計算します。

    ポイント数 = タイムスパン / 粒度

    たとえば、1 分間の解像度で 1 年分のデータを保持する場合の計算は、以下のようになります。

    ポイント数 = (365 日 X 24 時間 X 60 分) / 1 分

    ポイント数 = 525600

  2. ポイントサイズをバイト単位で計算するには、以下の式を使用します。

    サイズ (バイト単位) = ポイント数 X 8 バイト

    サイズ (バイト単位) = 525600 ポイント X 8 バイト = 4204800 バイト = 4.1 MB

    この値は、単一の集約時系列の推定ストレージ要件です。アーカイブポリシーで複数の集約メソッド (min、max、mean、sum、std、および count) が使用される場合は、使用する集約メソッドの数をこの値に掛けます。

2.5.5. metricd ワーカー

metricd デーモンを使用して、計測値の処理、集約値の作成、集約値ストレージへの計測値の保管、およびメトリックの削除を行うことができます。metricd デーモンは、Gnocchi のほとんどの CPU 使用および I/O ジョブを管理します。各メトリックのアーカイブポリシーは、metricd デーモンが実行する速度を決定します。metricd は、受信ストレージに新しい計測値がないか定期的に確認します。各チェック間の遅延を設定するには、[metricd]metric_processing_delay configuration オプションを使用できます。

2.5.6. アーカイブポリシーの作成

手順

  • アーカイブポリシーを作成します。<archive-policy-name> をポリシーの名前に、<aggregation-method> を集約メソッドに、それぞれ置き換えます。

    # openstack metric archive policy create <archive-policy-name> --definition <definition> \
    --aggregation-method <aggregation-method>
    注記

    <definition> はポリシー定義です。コンマ (,) を使用して、複数の属性を区切ります。コロン (:) を使用して、アーカイブポリシー定義の名前と値を区切ります。

2.5.7. アーカイブポリシーの管理

  • アーカイブポリシーを削除するには、以下のコマンドを実行します。

    openstack metric archive policy delete <archive-policy-name>
  • すべてのアーカイブポリシーを表示するには、以下のコマンドを実行します。

    # openstack metric archive policy list
  • アーカイブポリシーの詳細を表示するには、以下のコマンドを実行します。

    # openstack metric archive-policy show <archive-policy-name>

2.5.8. アーカイブポリシールールの作成

アーカイブポリシールールにより、メトリックとアーカイブポリシー間のマッピングを定義します。これにより、ユーザーはルールを事前に定義し、一致するパターンに基づいてアーカイブポリシーをメトリックに割り当てることができます。

手順

  • アーカイブポリシールールを作成します。<rule-name> をルールの名前に、<archive-policy-name> をアーカイブポリシーの名前に、それぞれ置き換えます。

    # openstack metric archive-policy-rule create <rule-name> /
    --archive-policy-name  <archive-policy-name>