ダウンサンプリング

許可されるフェーズ: ホット、ウォーム、コールド。

時間系列(TSDS)インデックスを集約し、構成された時間間隔でグループ化された各メトリックフィールドの事前計算された統計要約(minmaxsumvalue_countavg)を保存します。たとえば、10秒ごとにサンプリングされたメトリックを含むTSDSインデックスは、時間単位のインデックスにダウンサンプリングできます。1時間の間隔内のすべてのドキュメントは要約され、単一のドキュメントとして保存され、ダウンサンプルインデックスに格納されます。

このアクションは、ダウンサンプルAPIに対応しています。

生成されたダウンサンプルインデックスの名前はdownsample-<original-index-name>-<random-uuid>です。ILMがデータストリームのバックインデックスに対してdownsampleアクションを実行すると、ダウンサンプルインデックスは同じストリームのバックインデックスになり、ソースインデックスは削除されます。

  1. ## オプション
  2. - `````fixed_interval
  • (必須、文字列)データがダウンサンプリングされる固定時間間隔

Python

  1. resp = client.ilm.put_lifecycle(
  2. name="datastream_policy",
  3. policy={
  4. "phases": {
  5. "hot": {
  6. "actions": {
  7. "rollover": {
  8. "max_docs": 1
  9. },
  10. "downsample": {
  11. "fixed_interval": "1h"
  12. }
  13. }
  14. }
  15. }
  16. },
  17. )
  18. print(resp)

Ruby

  1. response = client.ilm.put_lifecycle(
  2. policy: 'datastream_policy',
  3. body: {
  4. policy: {
  5. phases: {
  6. hot: {
  7. actions: {
  8. rollover: {
  9. max_docs: 1
  10. },
  11. downsample: {
  12. fixed_interval: '1h'
  13. }
  14. }
  15. }
  16. }
  17. }
  18. }
  19. )
  20. puts response

Js

  1. const response = await client.ilm.putLifecycle({
  2. name: "datastream_policy",
  3. policy: {
  4. phases: {
  5. hot: {
  6. actions: {
  7. rollover: {
  8. max_docs: 1,
  9. },
  10. downsample: {
  11. fixed_interval: "1h",
  12. },
  13. },
  14. },
  15. },
  16. },
  17. });
  18. console.log(response);

コンソール

  1. PUT _ilm/policy/datastream_policy
  2. {
  3. "policy": {
  4. "phases": {
  5. "hot": {
  6. "actions": {
  7. "rollover": {
  8. "max_docs": 1
  9. },
  10. "downsample": {
  11. "fixed_interval": "1h"
  12. }
  13. }
  14. }
  15. }
  16. }
  17. }