Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「複数ウィンドウ、複数バーンレートのアラート」を設定する際の注意点

 「複数ウィンドウ、複数バーンレートのアラート」を設定する際の注意点

2023-05-19
SRE大集合!みんなで学ぶ、信頼性を高めるための取り組みLT大会
https://findy.connpass.com/event/281605/

iwamot

May 17, 2023
Tweet

More Decks by iwamot

Other Decks in Technology

Transcript

  1. 「複数ウィンドウ、複数バーンレートのアラート」を
    設定する際の注意点
    2023-05-19
    SRE大集合!みんなで学ぶ、信頼性を高めるための取り組みLT大会
    https://findy.connpass.com/event/281605/
    ENECHANGE株式会社 CTO室
    インフラエンジニア兼SRE 岩本隆史 (iwamot)

    View Slide

  2. こんな人
       

    View Slide

  3. 複数ウィンドウ、複数バーンレートのアラート

    View Slide

  4. Google推奨のアラート設定
    https://sre.google/workbook/alerting-on-slos/

    View Slide

  5. 2つのウィンドウで
    エラーバジェット消費を賢く通知

    View Slide

  6. 3つのバーンレートの監視が推奨
    Severity Long window Short window Burn rate Error budget consumed
    Page 1 hour 5 minutes 14.4 2%
    Page 6 hours 30 minutes 6 5%
    Ticket 3 days 6 hours 1 10%

    View Slide

  7. 条件式(ページ・チケット)
    (
    job:slo_errors_per_request:ratio_rate1h{job="myjob"} > (14.4*0.001)
    and
    job:slo_errors_per_request:ratio_rate5m{job="myjob"} > (14.4*0.001)
    ) or (
    job:slo_errors_per_request:ratio_rate6h{job="myjob"} > (6*0.001)
    and
    job:slo_errors_per_request:ratio_rate30m{job="myjob"} > (6*0.001)
    )
    job:slo_errors_per_request:ratio_rate3d{job="myjob"} > 0.001
    and
    job:slo_errors_per_request:ratio_rate6h{job="myjob"} > 0.001

    View Slide

  8. そうか、この条件式をそのまま使えばいいんだな

    View Slide

  9. 違います

    View Slide

  10. 注意点1
    適切な閾値はSLOによって異なる

    View Slide

  11. 係数 (0.001) は目標値次第

    View Slide

  12. 「0.001」は目標値99.9%のこと
    1 - 0.999 = 0.001

    View Slide

  13. 99%なら「0.01」
    1 - 0.99 = 0.01

    View Slide

  14. バーンレート (14.4 / 6 / 1) は期間次第

    View Slide

  15. 条件式のバーンレートは30日間が前提
    (30 * 24) / 1 * 2% = 14.4
    (30 * 24) / 6 * 5% = 6
    (30 * 24) / (3 * 24) * 10% = 1

    View Slide

  16. 7日間で計算すると
    (7 * 24) / 1 * 2% = 3.36
    (7 * 24) / 6 * 5% = 1.4
    (7 * 24) / (3 * 24) * 10% = 0.233

    View Slide

  17. Googleは28日間を推奨

    View Slide

  18. 28日間で計算すると
    (28 * 24) / 1 * 2% = 13.44
    (28 * 24) / 6 * 5% = 5.6
    (28 * 24) / (3 * 24) * 10% = 0.933

    View Slide

  19. 「28日間で99%以上」の条件式
    (
    job:slo_errors_per_request:ratio_rate1h{job="myjob"} > (13.44*0.01)
    and
    job:slo_errors_per_request:ratio_rate5m{job="myjob"} > (13.44*0.01)
    ) or (
    job:slo_errors_per_request:ratio_rate6h{job="myjob"} > (5.6*0.01)
    and
    job:slo_errors_per_request:ratio_rate30m{job="myjob"} > (5.6*0.01)
    )
    job:slo_errors_per_request:ratio_rate3d{job="myjob"} > (0.933*0.01)
    and
    job:slo_errors_per_request:ratio_rate6h{job="myjob"} > (0.933*0.01)

    View Slide

  20. なるほど。ちゃんと設定しよう
    これでエラーが急増しても
    ページが飛ぶから安心だな

    View Slide

  21. 違います

    View Slide

  22. 注意点2
    SLOによってはページが飛ばない

    View Slide

  23. 例:1秒以内の応答が30日間で50%以上

    View Slide

  24. 「30日間で50%以上」の条件式
    (
    job:slo_errors_per_request:ratio_rate1h{job="myjob"} > (14.4*0.5)
    and
    job:slo_errors_per_request:ratio_rate5m{job="myjob"} > (14.4*0.5)
    ) or (
    job:slo_errors_per_request:ratio_rate6h{job="myjob"} > (6*0.5)
    and
    job:slo_errors_per_request:ratio_rate30m{job="myjob"} > (6*0.5)
    )
    job:slo_errors_per_request:ratio_rate3d{job="myjob"} > 0.5
    and
    job:slo_errors_per_request:ratio_rate6h{job="myjob"} > 0.5

    View Slide

  25. ページ条件 = エラー率300%超…
    14.4 * 0.5 = 7.2 = 720%
    6 * 0.5 = 3 = 300%
    0.5 = 50%

    View Slide

  26. エラー率300%はありえない
    ページは飛ばない

    View Slide

  27. 30日間の場合、飛ぶのは83.34%以上
    6 * (1 - N) < 1
    (1 - N) < 0.1666
    N > 0.8334

    View Slide

  28. まとめ

    View Slide

  29. 「複数ウィンドウ、複数バーンレートのアラート」を
    設定する際の注意点

    View Slide

  30. 適切な閾値はSLOによって異なる
    SLOによってはページが飛ばない

    View Slide