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

プロダクション環境の信頼性を損ねず観測する技術

 プロダクション環境の信頼性を損ねず観測する技術

## プロダクション環境の信頼性を損ねず観測する技術
### 2022/05/15 SRE NEXT 2022
#### Sohei Iwahori (GREE, Inc.)

---
# Agenda

- Introduction 観測は低コスト?
- case1 監視SaaSサービス障害がプロダクションサービス障害につながった話
- case2 ログエージェント負荷がプロダクション障害を引き起こす話
- case3 一部の環境の問題がシステム全体に影響してしまう話
- Recap

Sohei Iwahori

May 15, 2022
Tweet

More Decks by Sohei Iwahori

Other Decks in Technology

Transcript

  1. ؍ଌͷίετ » ͬ͘͟ΓͱΠϕϯτͷස౓ɺॲཧ͢Δσʔλͷྔʹґଘ͢Δ » Metrics » ҰൠʹҰఆͷίϯτϩʔϧ͞ΕִͨؒͰऩू͞ΕΔ » ྔ͕໰୊ʹͳΔ͜ͱ͸͋·Γͳ͍ʢΧʔσΟφϦςΟ͕ߴ͗͢Δ৔߹͸ແࢹͰ͖ͳ͍͜ͱ΋͋Δʣ »

    Logging » Πϕϯτͷස౓ʹґଘ͢ΔʢΠϕϯτࣗମ͸ίϯτϩʔϥϒϧͰ͸ͳ͍͜ͱ͕ଟ͍ʣ » ڊେͳߏ଄ԽϩάɺελοΫτϨʔεͳͲ͸΍΍ίετ͕ߴ͘ͳΔ » Tracing » ֬཰ʹΑΔස౓ͷίϯτϩʔϧ
  2. Grafana AgentͷRemoteWrite » σϑΥϧτͷϦτϥΠڍಈ͕͔ͳΓϔϏʔ » ͍ΘΏΔexponential backoff্͕ͩݶ͕100msʢPrometheus͸ݱࡏ͸5secʹʣ » https://github.com/prometheus/prometheus/pull/9634 »

    γϟʔυ͸࠷େͰ200·Ͱ૿͑Δ » 1/4ͱͯ͠΋ো֐ͷى͖͍ͯΔRemoteWriteઌʹඵؒ50 * 10 * 1000ϦΫΤετ͢ Δ͜ͱʹ » ্هissueͰ͸DDOSͱݴΘΕ͍ͯΔɺෛՙࢼݧฒͷϦΫΤετ͕ඈΜͰ͠·͏
  3. ઃఆ஋ͷݟ௚͠ͷͨΊͷݕূ » ঢ়گ͸Θ͔ͬͨͷͰϦτϥΠΛ཈͑ΔͨΊͷઃఆ஋Λfixͤ͞ΔͨΊ࠶ݱࢼݧΛ࣮ࢪ » ͔ͭͯ͸Retry্ݶͷઃఆ͕͕͋ͬͨ࡟আ͞Εͯ͠·ͬͨ » backoffͱshard਺ͷదਖ਼஋Λݕ౼ » ݕূ؀ڥʹPrometheusΛߏங࣮ͯ͠ࡍͷΦϯϓϨ؀ڥ͔ΒϦϞʔτϥΠτͰ࠶ݱݕূ »

    ΦϯϓϨαʔό -> ALB -> ݕূEC2Πϯελϯε » --enable-feature=remote-write-receiver ͕ͪΐ͏Ͳ࢖͑ͨͷͰศར » ઃఆΛม͑ɺALBϨΠϠʔͰݻఆͰ503Λฦ͢ɺ໭͢Λ܁Γฦ͢͜ͱͰঢ়گΛ࠶ݱ͠ςετ
  4. Lesson Learned » ϝτϦΫεͷऔಘ͸Ұൠʹ௿ෛՙ͕ͩpushڍಈʹ͸ؾΛ͚ͭͨํ͕ྑ͍ » ಛʹ࠶ૹ·ΘΓͷڍಈ͸೺Ѳ͓ͯ͘͠ͱྑ͍ » backoffͷΞϧΰϦζϜɺlimitͳͲ » ͜ΕΒͷڍಈʹؔΘΔϝτϦΫε΋औಘ͓ͯ͘͠

    » ՄೳͰ͋Ε͹࣮ࡍʹμ΢ϯ࣌ͷڍಈΛࣄલʹςετ͓ͯ͘͠΂͖ » ݱ୅͸͜ͷ͋ͨΓ΍Γ΍͘͢ͳ͍ͬͯΔͷͰ݁ߏ΍ΓΑ͏͕͋Δ » ALBͰͷݻఆͷΤϥʔϨεϙϯεͷ੾Γସ͑ͳͲ
  5. Lesson Learned » Τϥʔϩά͸جຊతʹ௿ස౓Πϕϯτ͕ͩΠϯϑϥʹ໰୊͕͋Δ৔߹ͳͲ͸ਖ਼ৗܥΑΓେ ྔʹग़ྗ͞ΕΔ » Ξϥʔτͷ௨஌ͱ͍͏໨తʹ͓͍ͯ͸ϩάΛ࢒Βͣಧ͚ΔΑΓՄ༻ੑɺ଎ใੑΛ༏ઌ͢Δ » େྔͷ௨஌͸ͦ΋ͦ΋ਓؒ΋ಡΉ͜ͱ͕Ͱ͖ͳ͍ »

    ෳ਺݅ى͖͍ͯΔͷ͔ʁ1ϊʔυͰى͖͍ͯΔͷ͔ʁͳͲͷ৘ใ͕෼͔Ε͹े෼ » cgroupͳͲʹΑΔϦιʔε੍ݶ͸༗ޮ͕ͩॲཧ͸ελοΫͯ͠͠·͏ͷͰ෮چखॱ΋ runbookʹ༻ҙ͓ͯ͘͠ʢಡΈඈ͹ͯ͠࠶ىಈ͢ΔखॱͳͲʣ
  6. ࣮૷໘ͰͷվળରԠ » ֤छηʔϑςΟͷ࣮૷ » ֤छ੍ݶػೳͷ࣮૷ » rate limitͷ࣮૷ » ಉҰΞϥʔτͷsuppressɺsummarize

    » ϩδοΫ͕୯७Ͱෛՙ͕௿͘ػೳ͢Δ΋ͷ͔Βॱʹࢪߦ » ۓٸ࣌ͷϓϩμΫτ͝ͱͷ࡟আػೳΛఏڙ͢ΔlambdaϑΝϯΫγϣϯ
  7. Recap » ؍ଌίετ͸جຊతʹ͸ແࢹͰ͖Δ͕ɺ૝ఆ֎ͷίετ͕͔͔Δ͜ͱ͕͋Δ » γεςϜͷڥք෦෼͸ಛʹؾʹ͓ͯ͘͠ͱྑ͍ » ૹ৴ઌͷμ΢ϯͳͲ͸ࣄલʹ૝ఆɺݕূͰ͖͍ͯΔͱΑ͍ » ࠶ૹ͕ͲͷΑ͏ͳස౓ɺΞϧΰϦζϜͰߦΘΕΔ͔ »

    ਓؒ΁ͷ௨஌Λ໨తͱͨ͠ΤʔδΣϯτ͸଎ใੑɺՄ༻ੑΛ༏ઌ͢Δ » ݹ͘ͳͬͨ৘ใΛ࣌ؒΛ͔͚ͯ௨஌͢Δ͜ͱʹ͸͋·Γҙຯ͸ͳ͍ » ڞ༻ج൫Ͱ͸ಛఆ؀ڥͷ໰୊͕શମʹӨڹΛٴ΅͠ʹ͍͘Α͏ʹઃܭ͢Δ » ؍ଌͷͨΊͷ࢓૊Έͦͷ΋ͷ΋؍ଌ͢Δ
  8. who? » Sohei Iwahori (@egmc) » GREE, Inc. » Πϯϑϥ

    / Monitoring Unit Leader » ήʔϜͷΠϯϑϥͱαʔό؂ࢹɺओʹ AWS
  9. Appendix » How to troubleshoot remote write issues in Prometheus

    » https://grafana.com/blog/2021/04/12/how-to-troubleshoot-remote- write-issues-in-prometheus/ » REMOTE WRITE TUNING » https://prometheus.io/docs/practices/remote_write/ » Remote write not honoring max_retries setting #5636 » https://github.com/prometheus/prometheus/issues/5636