2.4. アーカイブポリシーのプランニングおよび管理
アーカイブポリシーは、メトリックの集約方法および時系列データベースへの保管期間を定義します。アーカイブポリシーは、タイムスパンにおけるポイント数として定義されます。
アーカイブポリシーで 1 秒の粒度および 10 ポイントのポリシーを定義すると、時系列アーカイブは最大 10 秒間保持し、それぞれが 1 秒間の集約を表します。つまり、時系列は最大で、より新しいポイントと古いポイント間の 10 秒間のデータを保持します。アーカイブポリシーは、使用する集約メソッドも定義します。デフォルトはパラメーター default_aggregation_methods
に設定され、デフォルト値は mean
、min
、max
、sum
、std
、count
に設定されます。したがって、ユースケースによってアーカイブポリシーおよび粒度は異なる場合があります。
アーカイブポリシーをプランニングするには、以下の概念に精通している必要があります。
- メトリック:詳細は、「メトリック」 を参照してください。
- 計測値:詳細は、「カスタム計測値の作成」 を参照してください。
- 集約:詳細は、「時系列集約値のサイズの計算」 を参照してください。
- metricd ワーカー:詳細は、「metricd ワーカー」 を参照してください。
アーカイブポリシーを作成および管理するには、以下のタスクを実行します。
- アーカイブポリシーを作成する。詳細は、「アーカイブポリシーの作成」 を参照してください。
- アーカイブポリシーを管理する。詳細は、「アーカイブポリシーの管理」を参照してください。
- アーカイブポリシールールを作成する。詳細は、「アーカイブポリシールールの作成」を参照してください。
2.4.1. メトリック
Gnocchi は、メトリック と呼ばれるオブジェクトタイプを提供します。メトリックとは、サーバーの CPU 使用状況、部屋の温度、ネットワークインターフェイスによって送信されるバイト数など、計測することのできる任意の項目を指します。メトリックには以下の属性が含まれます。
- 識別用の UUID
- 名前
- 計測値を保管および集約するのに使用されるアーカイブポリシー
関連情報
- 用語の定義は、Gnocchi Metric-as-a-Service の用語 を参照してください。
2.4.1.1. メトリックの作成
手順
リソースを作成します。<resource_name> をリソースの名前に置き換えます。
$ openstack metric resource create <resource_name>
メトリックを作成します。<resource_name> をリソースの名前に、<metric_name> をメトリックの名前に、それぞれ置き換えます。
$ openstack metric metric create -r <resource_name> <metric_name>
メトリックを作成する場合、アーカイブポリシーの属性は固定され、変更することはできません。
archive_policy
エンドポイントを使用して、アーカイブポリシーの定義を変更することができます。
2.4.2. カスタム計測値の作成
計測値とは、API が Gnocchi に送信する受信データポイントタプルを指します。計測値はタイムスタンプおよび値で設定されます。独自のカスタム計測値を作成することができます。
手順
カスタム計測値を作成します。
$ openstack metric measures add -m <MEASURE1> -m <MEASURE2> .. -r <RESOURCE_NAME> <METRIC_NAME>
2.4.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
bool
- 1 秒間の粒度で 1 年間のタイムスパン
- 使用される集約メソッド: last
- メトリック 1 つあたりの最大サイズ (楽観的): 1 539 KiB
- メトリック 1 つあたりの最大サイズ (ワーストケース): 277 172 KiB
2.4.4. 時系列集約値のサイズの計算
Gnocchi は、データポイントのコレクションを保管します。この場合、それぞれのポイントが集約値です。ストレージの形式は、異なる技術を使用して圧縮されます。したがって、時系列のサイズの計算は、以下の例に示すようにワーストケースのシナリオに基づいて見積もられます。
手順
以下の式を使用して、ポイント数を計算します。
ポイント数 = タイムスパン / 粒度
たとえば、1 分間の解像度で 1 年分のデータを保持する場合の計算は、以下のようになります。
ポイント数 = (365 日 X 24 時間 X 60 分) / 1 分
ポイント数 = 525600
ポイントサイズをバイト単位で計算するには、以下の式を使用します。
サイズ (バイト単位) = ポイント数 X 8 バイト
サイズ (バイト単位) = 525600 ポイント X 8 バイト = 4204800 バイト = 4.1 MB
この値は、単一の集約時系列の推定ストレージ要件です。アーカイブポリシーで複数の集約メソッド (min、max、mean、sum、std、および count) が使用される場合は、使用する集約メソッドの数をこの値に掛けます。
2.4.5. metricd ワーカー
metricd デーモンを使用して、計測値の処理、集約値の作成、集約値ストレージへの計測値の保管、およびメトリックの削除を行うことができます。metricd デーモンは、Gnocchi のほとんどの CPU 使用および I/O ジョブを管理します。各メトリックのアーカイブポリシーは、metricd デーモンが実行する速度を決定します。metricd は、受信ストレージに新しい計測値がないか定期的に確認します。各チェック間の遅延を設定するには、[metricd]metric_processing_delay configuration
オプションを使用できます。
2.4.6. アーカイブポリシーの作成
手順
アーカイブポリシーを作成します。<archive-policy-name> をポリシーの名前に、<aggregation-method> を集約メソッドに、それぞれ置き換えます。
# openstack metric archive policy create <archive-policy-name> --definition <definition> \ --aggregation-method <aggregation-method>
注記<definition> はポリシー定義です。コンマ (,) を使用して、複数の属性を区切ります。コロン (:) を使用して、アーカイブポリシー定義の名前と値を区切ります。
2.4.7. アーカイブポリシーの管理
アーカイブポリシーを削除するには、以下のコマンドを実行します。
openstack metric archive policy delete <archive-policy-name>
すべてのアーカイブポリシーを表示するには、以下のコマンドを実行します。
# openstack metric archive policy list
アーカイブポリシーの詳細を表示するには、以下のコマンドを実行します。
# openstack metric archive-policy show <archive-policy-name>
2.4.8. アーカイブポリシールールの作成
アーカイブポリシールールにより、メトリックとアーカイブポリシー間のマッピングを定義します。これにより、ユーザーはルールを事前に定義し、一致するパターンに基づいてアーカイブポリシーをメトリックに割り当てることができます。
手順
アーカイブポリシールールを作成します。<rule-name> をルールの名前に、<archive-policy-name> をアーカイブポリシーの名前に、それぞれ置き換えます。
# openstack metric archive-policy-rule create <rule-name> / --archive-policy-name <archive-policy-name>