メインコンテンツへスキップ
  1. 記事一覧/

GCP Cloud Monitoringで使用されるパラメータについての個人的メモ

·254 文字·2 分
GCP Monitoring Cloud
Bigbell
著者
Bigbell
某メガベンチャーで働いているエンジニアの卵です。
  • combiner
    • 条件が複数あった場合にどう扱うかの設定
    • 設定できる値
      • OR
        • いずれかのリソースがいずれかの条件を満たすとインシデントが開かれる
      • AND
        • 条件ごとに異なるリソースであってもすべての条件が満たされている場合にアラートを出す
        • 異なるリソースによってこれらの条件が満たされた場合にアラートを出す
      • AND_WITH_MATCHING_RESOURCE
        • 同じリソースが各条件を満たす場合にアラートを出す
  • alignmentPeriod(コンソールではローリングウィンドウと呼ばれている)
    • どのくらいの間隔でデータを集計するかの設定
    • 仮に60秒と設定したなら1分ごとにデータが集計される(区切られる)
      • ※1分に1回しかメトリクスを収集しない訳ではない
      • メトリクス自体は常に計測されているが、それを何秒ごとに区切って集計するのか決めるのがローリングウィンドウ(alignmentPeriod)
  • perSeriesAligner
    • 収集したデータをどのように集約するかの設定
    • 設定できる値
      • ALIGN_NONE
        • 何もしない (集約せず、そのままの値を返す)
      • ALIGN_DELTA
        • 各シリーズのデータポイントを時間単位の増加量に合わせて整列し集計する
        • 例としてアライメント期間が1分間で、[1, 3, 6, 1] のメトリクスが収集された場合、集計結果は [1, 2, 3, -5] となる
      • ALIGN_RATE
        • 単位時間あたりの変化量 (delta をアライメント期間長で割った値)
        • 例としてアライメント期間が1分間で、[5, 10, 20, 40, 100] のメトリクスが収集された場合、 集計結果は [(5-0)/60, (10-5)/60, (20-10)/60, (40-20)/60, (100-40)/60] = [0.083…, 0.083…, 0.166…, 0.333…, 1] となる
      • ALIGN_INTERPOLATE
        • あるアライメント区間のメトリクスが取得できなかった場合に補完を行う
      • ALIGN_NEXT_OLDER
        • アライメント期間の終了前の最新のデータ ポイントをアライメント期間の終了時の境界に移動して位置合わせする
        • 各アライメント区間の最後のデータ・ポイントを当該区間の値として採用
      • ALIGN_MIN
        • アライメント期間で取得されたデータの中で最小の値を取り出す
        • 例としてアライメント期間が1分間で、[5, 10, 15, 20] のメトリクスが収集された場合、この1分間の集計結果は [5, 5, 5, 5] となる
      • ALIGN_MAX
        • アライメント期間で取得されたデータの中で最小の値を取り出す
        • 例としてアライメント期間が1分間で、[5, 10, 15, 20] のメトリクスが収集された場合、この1分間の集計結果は [20, 20, 20, 20] となる
      • ALIGN_MEAN
        • アライメント期間で取得されたデータから平均で集計する
        • 例としてアライメント期間が1分間で、[5, 10, 15, 20] のメトリクスが収集された場合、この1分間の集計結果は(5+10+15+20)/4 = 12.5 = [12.5, 12.5, 12.5, 12.5] となる
      • ALIGN_COUNT
        • 指定した時間内のデータポイント数をカウントし、その数に基づいて集計する
        • 例としてアライメント期間が1分間で、[5, 10, 15, 20] のメトリクスが収集された場合、データポイント数は4なのでこの1分間の集計結果は [4, 4, 4, 4] となる
      • ALIGN_COUNT_TRUE
        • 各アライメント期間のデータポイント数(True(Boolean型))のみを合算
      • ALIGN_COUNT_FALSE
        • 各アライメント期間のデータポイント数(False(Boolean型))のみを合算
      • ALIGN_SUM
        • アライメント期間で取得されたデータの合計値で集計する
        • 例としてアライメント期間が1分間で、[5, 10, 15, 20] のメトリクスが収集された場合、この1分間の集計結果は(5+10+15+20) = 50 = [50, 50, 50, 50] となる
      • ALIGN_STDDEV
        • アライメント期間で取得されたデータの標準偏差で集計する
        • 例は省略
      • ALIGN_PERCENTILE_99
        • アライメント期間ごとに99パーセンタイルを計算
      • ALIGN_PERCENTILE_95
        • アライメント期間ごとに95パーセンタイルを計算
      • ALIGN_PERCENTILE_50
        • アライメント期間ごとに50パーセンタイルを計算
      • ALIGN_PERCENTILE_05
        • アライメント期間ごとに5パーセンタイルを計算
      • ALIGN_PERCENT_CHANGE
        • 前データ・ポイントからの変化率で集計する
      • 参考
  • crossSeriesReducer
    • 複数の時系列(シリーズ)を1つのシリーズに集約するための設定
    • 参考
  • 設定できる値
    • REDUCE_NONE
      • シリーズを集約せずに個別に扱う(デフォルトの設定)
    • REDUCE_MEAN
      • シリーズの平均値を計算して1つのシリーズに集約する
    • REDUCE_MIN
      • シリーズの最小値を計算して1つのシリーズに集約する
    • REDUCE_MAX
      • シリーズの最大値を計算して1つのシリーズに集約する
    • REDUCE_SUM
      • シリーズの合計値を計算して1つのシリーズに集約する
    • REDUCE_STDDEV
      • シリーズの値の標準偏差を計算して1つのシリーズに集約する
    • REDUCE_COUNT
      • シリーズの各アライメント期間の時系列にわたるデータポイント数を合算して1つのシリーズに集約する
    • REDUCE_COUNT_TRUE
      • シリーズの各アライメント期間の時系列にわたるデータポイント数(True(Boolean型)のみ)を合算して1つのシリーズに集約する
    • REDUCE_COUNT_FALSE
      • シリーズの各アライメント期間の時系列にわたるデータポイント数(False(Boolean型)のみ)を合算して1つのシリーズに集約する
    • REDUCE_FRACTION_TRUE
      • 各アライメント期間のデータポイントの総数に対する値のデータポイントの数の比率を計算して1つのシリーズに集約する
    • REDUCE_PERCENTILE_99
      • アライメント期間ごとに時系列全体のデータ ポイントの99パーセンタイルを計算して1つのシリーズに集約する
    • REDUCE_PERCENTILE_95
      • アライメント期間ごとに時系列全体のデータ ポイントの95パーセンタイルを計算して1つのシリーズに集約する
    • REDUCE_PERCENTILE_50
      • アライメント期間ごとに時系列全体のデータ ポイントの50パーセンタイルを計算して1つのシリーズに集約する
    • REDUCE_PERCENTILE_05
      • アライメント期間ごとに時系列全体のデータ ポイントの5パーセンタイルを計算して1つのシリーズに集約する
  • groupByFields
    • アラートのグループ化に関する設定ができる
    • 例えば下記の設定がされていた場合、同じ projectmodule_id を持つアラートが1つのグループにまとめられている
      • groupByFields:
      • project
      • resource.label.module_id
    • 複数のインスタンスが同じ問題を引き起こしている場合、groupByFieldsを使用してそれらのインスタンスを同じグループにまとめ、アラートを見やすくすることができる
  • comparison
    • アラートを飛ばす条件を指定するための設定
    • 設定できる値
      • COMPARISON_GT
        • メトリックの値が閾値よりも大きい場合にアラートを出す
      • COMPARISON_LT
        • メトリックの値が閾値よりも小さい場合にアラートを出す
      • COMPARISON_EQ
        • メトリックの値が閾値と等しい場合にアラートを出す
      • COMPARISON_NE
        • メトリックの値が閾値と等しくない場合にアラートを出す
      • COMPARISON_GE
        • COMPARISON_GTCOMPARISON_EQ のいずれかが満たされる場合にアラートを出す
      • COMPARISON_LE
        • COMPARISON_LTCOMPARISON_EQ のいずれかが満たされる場合にアラートを出す
  • duration
    • 条件が一定期間持続した場合にアラートを出すための設定
    • 例えばduration: 60s と設定したら60秒以上続いた場合しかアラートが飛ばない
  • filter
    • アラートを出す条件の設定
    • 詳細は省略
  • thresholdValue
    • comparisonのオプションで使用する閾値の設定
  • trigger
    • アラートを飛ばす条件の値を指定するための設定
    • 設定できる値
    • count
      • 例えば、count: 3と設定した場合、条件が3回以上連続して発生した場合にのみアラートがトリガーされる
    • percent
      • 例えば、percent: 75と設定した場合、条件が75%以上の期間にわたって発生した場合にアラートがトリガーされる
  • denominatorFilter
    • filter は比率の分子として機能するが、denominatorFilter は比率の分母として機能する
    • 具体的には、CPU使用率を監視する時を考えると複数台のインスタンスで動いているリソースがあった際に
    • filterだと インスタンス1台に対しての比率 で計算されるが、denominatorFilterだと そのインスタンス使用率/インスタンスの合計台数 で比率が計算される
    • 参考
  • displayName
    • 送信されるアラートのメッセージの設定
  • enabled
    • そのアラート設定を有効にするかどうかの設定
    • enabled: trueなら有効
    • enabled: falseなら無効

Related

Jacksonについての個人的メモ
·116 文字·1 分
Java Jackson Programing
Jacksonに関する知見をまとめています。
Bean Validationについての個人的メモ
·38 文字·1 分
Java BeanValidation Programing
Bean Validation (javax.validation.Constraintz) に関する知見をまとめています。
Lombokライブラリについての個人的メモ
·84 文字·1 分
Java Lombok Programing
この記事ではネットで調べたLombokライブラリに関する知見をまとめています。