Share
Embed
「アラーティング」の話をしよう— SREconや論文等の最先端とのギャップをみる
ホンマでっかSRE勉強会 #1
https://honmadekka.connpass.com/event/395755/
Yuuki Tsubouchi (yuuk1)
June 25, 2026
Transcript
18 slides
-
Ironies of Automation ґવͱͯ͠ʮΞϥʔτʯ͕ਓؒʹͱΜͰ͘ΔͷͰ Bainbridge, L. "Ironies of Automation." Automatica,
19(6):775–779, 1983. ੍ޚγεςϜ͕ߴʹͳΕͳΔ΄ͲɺਓؒͷΦϖ Ϩʔλͷߩݙ͕ΑΓॏཁʹͳΔͱ͍͏ൽ -
Ͳ͏ͬͯਐԽ͍͔ͤͯ͘͞ʁ 7ͿΓʹΞϥʔτઃܭ͍ͯ͠ΔͷͰɺ࠷ઌͬͯͲ͜ʁͱͳͬͨ ࠷ઌ ݱࡏ ΪϟοϓΛຒΊΔ LLM Wikiʹબఆͨ͠จݙ Λ50ຊ΄ͲऔΓࠐΈ ΞϥʔςΟϯά౷త͗ͯ͢ɺओʹͳΓʹ͍͘ SREcon
/ ֶज़จ (ICSE, ASE) ※1 https://gist.github.com/yuuki/ce843c8089d84c71c56a0706f43fa574 ※1 -
ࠓͷͳ͠ ࠷ઌ SREcon / ֶज़จ (ICSE, ASE) ݱࡏ ΪϟοϓΛຒΊΔ ΞϥʔςΟϯάͷϥΠϑαΠΫϧ
Λ4ϑΣʔζʹ͚ͯઃܭݪଇΛ நग़ yuuk1͕ؔΘΔεύίϯαʔϏε ͷGrafana Alerting -
ΞϥʔςΟϯάͷ4ϑΣʔζϞσϧ PHASE A อূ → PHASE B ੍ → PHASE
C ৴࠷దԽ → PHASE D ղܾࢧԉ ෆཁͳΞϥʔτΛͲ ͏ݮΒ͔͢ʁ ड͚ख͕ԿΛ ͢Δ͔ʁ ԣஅ — Ξϥʔτ࣭ΛͲ͏ଌΔ͔ʁ Phase A ͕յΕ͍ͯΕɺB Ҏ߱ΛͲΕ͚ͩվળͯ͠ҙຯ͕ͳ͍ ԿͰΞϥʔτ͢Δ ͔ʁ Ξϥʔτ͢ ͖ͷ͕ຊʹΞϥ ʔτ͢Δ͔ʁ ୭ʹɺͲ͏ಧ͚Δ ͔ʁ -
4ϑΣʔζʹরΒͨ͠Ϊϟοϓ Phase Gap Status A. อূ SLOϕʔεΞϥʔτະಋೖ ϧʔϧ݈શੑͷ CI ݕূͳ͠ɺৗઃΧφϦΞͳ͠ɺ…
⾠ ෆ B. ੍ ݱࡏͷΞϥʔτ݅10݅/ ҎԼɻ ✓ OK C. ৴࠷దԽ Өڹൣғxଈ࣌ੑʹΑΔνϟϯωϧग़͚͠ͳͲ ✓ OK D. ղܾࢧԉ ௐࠪࣗಈԽ / RCA / ΤʔδΣϯτະணख ⾠ ෆ ԣஅʢ࣭ʣ Quality of Alerts / ίετϞσϧະಋೖ ⾠ ෆ େنϚΠΫϩαʔϏεલఏͷख๏আ֎ʢΞϥʔτετʔϜͷ੍ΤεΧ Ϩʔγϣϯ࠷దԽΛػցֶशͰߦ͏ͷͳͲ͕จͰଟ͘ఏҊ͞Ε͍ͯΔʣ -
4ϑΣʔζʹরΒͨ͠Ϊϟοϓ Phase Gap Status A. อূ SLOϕʔεΞϥʔτະಋೖ ϧʔϧ݈શੑͷ CI ݕূͳ͠ɺৗઃΧφϦΞͳ͠ɺ…
⾠ ෆ B. ੍ ݱࡏͷΞϥʔτ݅10݅/ ҎԼɻ ✓ OK C. ৴࠷దԽ Өڹൣғxଈ࣌ੑʹΑΔνϟϯωϧग़͚͠ͳͲ ✓ OK D. ղܾࢧԉ ௐࠪࣗಈԽ / RCA / ΤʔδΣϯτະணख ⾠ ෆ ԣஅʢ࣭ʣ Quality of Alerts / ίετϞσϧະಋೖ ⾠ ෆ ࠓɺAͱԣஅ ΛΈ͍ͯ͘ -
PHASE Aɿঢ়ϕʔεΞϥʔτ ✕ ݪҼى CPU > 90% Disk > 85%
OOM detected → ΞΫγϣϯͰ͖ͳ͍͜ͱ͕ଟ͍ ✓ ঢ়ى SLOϕʔεͷΞϥʔτ ʮϢʔβʔ͕ӨڹΛड͚͍ͯΔʯ → ΞΫγϣϯඞਢͰ͋Δ͜ͱΛอূ Multi-burn-rate SLO alerts Thurgood, S., et al. "Alerting on SLOs." In Beyer, B. et al. (eds.), The Site Reliability Workbook, ch. 5. O'Reilly Media, 2018. 4 Golden Signals -
Ϊϟοϓᶃ ঢ়ϕʔεΞϥʔτ ݪҼى ঢ়ى ɾ ݱঢ়ɺݪҼىͱঢ়ى͕ࠞࡏ͍ͯ͠Δ ɾ SLI/SLOະಋೖ • δϣϒೖՄ༻ੑ
• GPU ܭࢉ༰ྔ • ετϨʔδՄ༻ੑ • ΠϯλϥΫςΟϒϊʔυͷ౸ୡੑ ͷΑ͏ͳͷΛSLIͱ࣮͍ͯͨ͠͠ Ϣʔβʔͱͷڥք໘͕ଟ͍ͷͰઃܭ͕ ͍͠… • δϣϒεέδϡʔϥ systemdىಈ • NTP࣌ࠁಉظԆ • IPΞυϨεଟॏઃఆࢹ • … PHASE DͷΞϥʔτௐࠪࣗಈԽʹΑ Γফ͘͢͠ͳΔ োώϠϦϋοτ͕ى͖͔ͯΒՃ ͢ΔΞϥʔτݪҼى͕ଟ͍ -
PHASE Aɿ Ξϥʔτઃఆ͕ͦͦͳ͍ 40.41% of detection failures ݕࣦഊͷ࠷େཁҼ ʮͦͦରԠ͢Δ Ξϥʔτ͕ॻ͔Ε͍ͯͳ͍ʯ
— Microsoft Ͱͷ࣮ূݚڀ [Ganatra+, FSE2023] Ganatra, V. et al. "Detection Is Better Than Cure: A Cloud Incidents Perspective." ESEC/FSE, pp. 310–321, 2023. ڞ௨͢ΔґଘؔΛͭผϚΠΫϩαʔϏεͷΞ ϥʔτϧʔϧ͔Βࣗಈਪન աڈͷΠϯγσϯτνέοτ͔Βࣗಈਪન -
PHASE Aɿͳ͔ͥΞϥʔτͰ͖͍ͯͳ͔ͬͨ ໐Γ͗͢ʢfalse alarmʣٞͭ͘͠͞Ε͍ͯΔ ੩͔ʹյΕΔʢsilent failureʣ͋·Γٞ͞Εͳ͍ ↳ ϥϕϧΛม͑ͨॠؒʹΫΤϦ͕ۭΛฦ͢Α͏ͳࣄނ CI —
ͦͦյΕͨϧʔϧΛೖΕͳ͍ Daemon — ಈ͖ग़͔ͯ͠ΒਐతʹյΕͨͷΛݕग़ Lukasz Mierzwa, "Monitoring our Monitoring: How we validate our Prometheus alert rules,” The Cloudflare Blog, 2022, https://blog.cloudflare.com/monitoring-our-monitoring/ cloudflare/pint: PrometheusͷϧʔϧϦϯλʔ ৗறΧφϦΞ vector(1) Λ֤ route ʹྲྀͯ͠ɺ ௨ܦ࿏ͷࢮ׆Λৗ࣌ݕূ -
Phase BʙD — ݱঢ়ͱকདྷ B. ੍ ✓ pending / keep_firing_for
/ silence / mute timing Λ͍͚͍ͯΔ C. ৴࠷దԽ ✓ ඞਢϥϕϧ͕͚ܽΔΞϥʔτ default route ʹִ ಛఆϥϕϧ lifecycle=experimental ຊ൪νϟωϧ͔Β֎͢ Өڹൣғ x ଈ࣌ੑͷ4ݶͰSlackνϟϯωϧ͚ͱ @here Ͱϖʔδ͢Δ͔ܾΊΔ D. ղܾࢧԉ ˚ ݪҼىΞϥʔτͷRunbook͕ະඋ কདྷ: ࣗಈূڌऩू / RCA / ΤʔδΣϯτॲཧ ର֎: ML ूɾϥϯΩϯάɾಈతҼՌϧʔςΟϯάʢ1νʔϜنͰඅ༻ରޮՌ͕߹Θͳ͍ʣ Iwahori, S. "RunbookʹԿΛॻ͖ɺͲͷΑ͏ʹΞϥʔτΛৼΓ͚Δ͔ʁ" SRE NEXT 2023, Tokyo, 2023. -
ԣஅ — Ξϥʔτͷ࣭ΛͲ͏ଌΔ͔ ᶃ QoAʢQuality of Alertsʣ 3࣠ Indicativeness —
Կ͕ى͖͍ͯΔ͔ࣔͤ ͍ͯΔ͔ Precision — ͲΕ͚ͩਖ਼͔֬ Handleability — ड͚ख͕ॲཧͰ͖Δ͔ Yang, T., Shen, J., Su, Y., Ren, X., Yang, Y., Lyu, M. R. "Characterizing and Mitigating Anti-patterns of Alerts in Industrial Cloud Systems." DSN, pp. 1–12, 2022. Ξϯνύλʔϯ Լ͕Δ QoA ࣠ A1 Unclear Name/ Description Handleability A2 Misleading Severity Precision A3 Improper/Outdated Generation Rule Indicativeness A4 Transient/Toggling Alerts Precision / Handleability A5 Repeating Alerts Indicativeness A6 Cascading Alerts Indicativeness / Precision [Yang+, DSN2022] -
ԣஅ — Ξϥʔτͷ࣭ΛͲ͏ଌΔ͔ ᶄ ίετϞσϧ [Zadka, SREcon2022] ِΞϥʔτͷରԠίετ ਅΞϥʔτͷॲཧίετ =
෮چ࡞ۀίετ ܽམΞϥʔτʹΑΔଛ = ෮چ·ͰͷՃ࣌ؒ × ඃن ͱ ݕԆʹΑΔඃ֦େ Zadka, M. "Modeling Alert Quality." USENIX SREcon22 Americas, 2022. Ξϥʔτ࣭ΛɺίετʢΞϯνΫΦϦςΟʣͷ߹ࢉͱͯ͠ଌఆ͢Δٯసͷண ൃੜ ݕ ֬ೝ அ ෮چ ᶃ ᶄ ᶅ ᶆ 4۠ؒʹղͯ͠ܭଌ = ਓ × ࣌ؒ × ෆศ͞ʢۈ࣌ؒ֎͔Ͳ͏͔ʣ -
·ͱΊ ಈػɿΞϥʔςΟϯάAI࣌ʹΓͦ͏͕ͩɺͦΕࣗମͷਐา͕Έ͑ʹ͍͘ ϑΣʔζDͷղܾࢧԉ Agentic SRE ࠷ઌͷจݙௐ͔ࠪΒɺ ͨΓతͳվળ͔Βɺ ཧͱͷΪϟοϓੳΞϓϩʔνม͍͚͑ͯΔͷͰͳ͍͔ʁ ࠷ઌͷΩϟονΞοϓɺݱͳΒLLM WikiͳͲͰݱ࣮తʹ
SREؔ࿈ͷࠃࡍձٞϦετ https://gist.github.com/yuuki/60b768fcb6bdf3f3552ee59f5a9e4972 ओுɿΞϥʔτཧʹ4ϑΣʔζϞσϧʹղͯ͠ɺ֤ϑΣʔζͰ࠷ઌͱൺֱ ಎɿϑΣʔζAʢอূʣͱΞϥʔτ࣭ධՁʹ՝͕ଟ͍ ղܾɿ SLOಋೖɺϧʔϧ݈શੑͷCIɺΞϥʔτΞϯνύλʔϯͷཧͱίετϞσϧ