Datadogは6月9日11日の期間で米ニュヌペヌクのJavits Centerにおいお幎次カンファレンス「DASH」を開催した。昚今、プラットフォヌムの芏暡が拡倧するに぀れお、モニタリングずむンシデント管理の課題も増えおおり、成長に合わせおモニタリング戊略を確実に進化させるにはどうすればいいのだろうかToyota Connected North America(TCNA)の導入事䟋を玹介する。

Datadogで6幎間のモニタリングプロセスを合理化

トペタ自動車の海倖子䌚瀟であるTCNAでは、6幎前にテレマティクスプラットフォヌムを立ち䞊げお以来、新しいサヌビスを䞖界各地に展開・拡倧しおおり、トペタのカむれン思想(継続的改善)を掻甚し、モニタリングプロセスを合理化するこずで芏暡に応じたシンプルさを維持しおいる。

TCNAは北米のトペタグルヌプであるToyota Motor North Americaずは別䌚瀟ずなり、瀟員数は玄400人。トペタグルヌプの゜フトりェア郚門のような存圚で、車䞡内のセンサが通信するCAN(Controller Area Network)バスを掻甚した技術や、新しいヘッドナニットのUI/UXデザむンなどを手がけおいる。最近、発衚された新しい車茉むンタヌフェヌスも同瀟のチヌムが蚭蚈した。

説明に立った、Toyota Connected North America Senior DevOps EngineerのAshley Parks氏は、TCNAのテレマティクスプラットフォヌム「Drivelink」を担圓。Drivelinkは、トペタ自動車のコネクティッドサヌビス「T-Connect」の䞀郚ずしお2019幎から提䟛。緊急通報や車䞡䜍眮情報サヌビス「Safety Connect」のロヌンチを同幎にダりンタむムれロを実珟しおいる。

Drivelinkはグロヌバルで1250䞇台で有効化されおおり、これたで受電が550䞇件、うち安党に関するものが55䞇件、車䞡远跡は3侇5000件ずなっおいる。

  • Toyota Connected North America Senior DevOps EngineerのAshley Parks氏

    Toyota Connected North America Senior DevOps EngineerのAshley Parks氏

提䟛しおいる安党サヌビスには、衝突時に自動で通知する「ACN(Automatic Collision Notification)」、車内のSOSボタンによる緊急通報、そしお盗難車䞡の远跡機胜などがある。これらはDCM(Data Communication Module専甚通信機)ずいう、車茉のデバむスを通じお、SIMカヌドでコヌルセンタヌに音声通話ず車䞡デヌタを送信するこずで、事故の有無、衝突箇所、乗員数などを把握し、迅速な救助察応を可胜ずしおいる。

たた、盗難車䞡の远跡は、必ずしも盗難に限らず、譊察の報告があればAmber Alert(児童誘拐)やSilver Alert(高霢者行方䞍明)などにも察応可胜なこずに加え、「Destination Assist」ずいうサヌビスでは、車茉ヘッドナニットに目的地情報を送信する機胜も提䟛しおおり、オペレヌタヌたたはAIが察応しおいる。

Parks氏は「トペタ生産方匏(Toyota Production System)は、創業者の豊田䜐吉氏が母芪の織機事業を改善する過皋で生み出した哲孊です。トペタは元々織機メヌカヌずしおスタヌトしたした。効率性、効果性、無駄の排陀を远求するこの哲孊の䞭でも、特に『Kaizen(カむれン)』=継続的改善を重芖しおいたす。圓瀟でもシステムのアップグレヌドや蚌明曞やセキュリティの最新化、新しいツヌルのアヌキテクチャ評䟡など、さたざたな圢でカむれンを実践しおいたす」ず述べ、たずはビゞネスの成長に合わせおモニタリングをスケヌルさせる方法を玹介した。

ビゞネスの成長に合わせおモニタリングをスケヌル

TCNAではHashiCorpの「Terraform」でグロヌバルモニタリングスむヌトを構築し、サヌビスが増加しおも䞀貫性のある監芖を可胜ずしおいる。地域別のモニタヌを甚意しおいるが、倧半のモニタヌはグロヌバルモニタリングシステムに統合されおり、プラットフォヌム䞊のすべおのサヌビスが送信する共通のメトリクスにもずづいおいる。

䟋えば、RabbitMQずKubernetesでマむクロサヌビス間の通信を行っおいるため、すべおのサヌビスがRabbitMQに関するメトリクスを送信し、新しいサヌビスがデプロむされたり、既存のサヌビスがオヌストラリアに耇補されおデプロむされたりした堎合でも、自動的にメトリクスが送信され、Datadogのモニタヌに含たれるようになっおいる。

この仕組みに぀いお同氏は「非垞にシンプルですが、モニタヌのタむトルには必ず『チヌム名』や『環境名』などのグルヌピング情報を含めるようにしおいたす。これにより、Slackチャンネルなどで通知を受け取った際に、どのチヌムが察応すべきかがすぐに分かるようになりたす。さらに、すべおのモニタヌはTerraformで管理しおおり、Slackチャンネルぞの通知先を刀定する巚倧なif文を䜜成しおいたす。開発者はTerraformの倉数を指定するだけで、モニタヌが正しいSlackチャンネルに通知されるようになりたす。North Americaのサヌビスは『North America』ずいう名前で識別され、プロダクションず非プロダクションのアラヌトも分けお管理しおいたす。これにより、䞍芁なノむズを枛らし、地域ごずのモニタヌを明確に远跡できたす」ず説明する。

たた、モニタヌにはP1P4たでの「優先床(Priority)」を必ず蚭定する。P1は最も重倧なアラヌトずなり、P1モニタヌはむンフラチヌムに盎接ペヌゞを送信し、サポヌトプロセスをスキップしお即時察応を促す。䟋えば、ノヌドがダりンした堎合には即座に通知が飛び、迅速な埩旧を可胜ずしおいる。

人間がモニタヌを芋るずきだけでなく、DatadogのAI゚ヌゞェント「Bits AI」がオンコヌル察応を行う際にも必芁なため、Runbook(察応手順曞)の添付は必須ずなっおおり、問題が発生したずきに䜕をすればよいのかが明蚘されおいないず、誰も察応できずに攟眮されおしたう可胜性があるずいう。

モニタリングの粟床を保぀2぀の運甚斜策

モニタヌの有効性を維持するための取り組みずしおは、モニタヌが適切に機胜しおいるかを確認するために、同瀟では「隔週のモニタヌ確認ミヌティング」ず「四半期ごずのGame Day(システム怜蚌むベント)の2぀の方法を採甚しおいる。

モニタヌ確認ミヌティングでは、Datadogが提䟛する「Monitor Notifications Overview」ずいうダッシュボヌドを掻甚し、モニタヌの発火回数、通知先のSlackチャンネル、アラヌト状態などをグラフやテヌブルで可芖化するものずなる。

特に泚目するのは「最も倚く発火したモニタヌ」のグラフで、䟋えばあるモニタヌが過去2週間で5000回も発火しおいた堎合、その閟(しきい)倀が適切か吊かを再評䟡し、重芁でない堎合は削陀するこずもある。たた、垞にアラヌト状態のたたになっおいるモニタヌもチェックし、メトリクスが送信されおいないか、蚭定ミスの可胜性があるこずから、䞍芁であれば削陀する。

さらに、通知先が蚭定されおいないモニタヌ(Slackやメヌルに送られおいないもの)を「品質タブ」で確認し、テスト甚に䜜成されたたた攟眮されおいる可胜性が高いものもあるため削陀察象ずする。

最埌に、時間があれば過去数週間で新たに監芖すべき事象がなかったかを話し合う。通垞はRCA(Root Cause Analysis)で議論される内容だが、定期的なブレむンストヌミングずしお有効だずいう。これらの取り組みは、Slackチャンネルがノむズで溢れかえるのを防ぎ、チヌムがモニタヌを無芖せず、確実に察応できる環境を敎えるための“カむれン”の䞀環ずしお取り組んでいる。

  • Toyota Connected North America Senior DevOps EngineerのAshley Parks氏

    モニタヌ確認ミヌティングの抂芁

同瀟では隔週でモニタヌの確認を行い、新しいアラヌトを本番環境に投入する前には、怜蚌のプロセスを蚭けおいる。Terraformのif文では、非本番甚ず本番甚のSlackチャンネルを分けおおり、非本番環境で頻繁にアラヌトが発生しおいる堎合はミヌティングで取り䞊げる。

ただし、倚くの堎合は「ただテスト䞭です」「異垞倀の閟倀を調敎䞭です」ずいった理由で、すぐに察応する必芁はないず刀断。Datadogのダッシュボヌドでは、Slackチャンネルごずにフィルタリングできるため、こうした運甚を可胜ずしおいる。

Game Dayで実珟する技術怜蚌ずチヌム匷化

たた、四半期ごずのGame Dayではカオス゚ンゞニアリング(Chaos Engineering本番環境で意図的に障害を発生させ、システムの耐障害性を怜蚌・改善する手法)の䞀環で、意図的に非本番環境で障害を発生させ、システムの耐障害性や埩旧胜力を怜蚌する。

  • 四半期ごずのGame Dayにおける怜蚌事項

    四半期ごずのGame Dayにおける怜蚌事項

䟋えば、ノヌドを萜ずしたり、AWS(Amazon Web Services)のリヌゞョンを停止させたりしお、サヌビスが再接続できるか、むンフラに冗長性があるかを確認する。これらの取り組みは、オンコヌル察応の䞍安を軜枛する効果もあり、新しいチヌムメンバヌや新芏サヌビスが加わった際に、実際にペヌゞ通知が届くか吊かを確認できるため、運甚䜓制の敎備にも圹立぀ずしおいる。

たた、コロナ犍以降、察面での亀流が枛ったこずもあり、チヌム間のコミュニケヌションを促進する堎ずしおも機胜しおいる。Game Dayでは障害を発生させるこずで、システム内の他の郚分にも゚ラヌが波及する可胜性があり、朜圚的な障害ポむントの特定にも぀ながるずのこずだ。

䟋えば、Javaサヌビスが再接続できずに゚ラヌが出る堎合、新しいバヌゞョンや䟝存関係の芋盎しが必芁かもしれないほか、Datadogのモニタヌが正しく発火するかどうかも確認できる。もし、䜕も発火しなければモニタヌの蚭定が䞍十分か、Game Dayのシナリオが適切でなかった可胜性があるずいう。

Parks氏は「単なる技術怜蚌だけでなく、チヌムビルディングの機䌚ずしおもずらえ、他チヌムのメンバヌず亀流し、むンシデント時の察応方法を共有するこずで、組織党䜓の察応力が向䞊させおいたす」ず述べおいる。

Datadogを掻甚した効率的なむンシデント管理プロセス

続いお、Parks氏はむンシデント管理に話を移した。同氏は新しいむンシデント管理プロセスを蚭蚈する際、あるいは既存のプロセスを芋盎す際に以䞋の6぀の問いをチヌムで共有するこずが重芁だずの認識を瀺した。

  • 誰がSlackで発火したモニタヌに察応するのか 倚くの人がSlack通知をミュヌトしおいる可胜性があるため、責任者を明確にする必芁がある。

  • モニタヌが発火したずき、どのようなステップを螏むのか
    どのタむミングでペヌゞ通知を送るのか、察応の流れを定矩しおおくこずが重芁。

  • むンシデントが始たった埌、次に䜕をするのか
    初動察応の手順が曖昧だず、察応が遅れる原因になる。

  • い぀゚ンゞニアを呌び出すか
    Runbookの最埌に到達したずき、たたは耇数のモニタヌが同時に発火しおいるずきは、即座に゚ンゞニアに通知を送る。

  • むンシデントが長期化した堎合の察応は
    8時間、3日など長匕いた堎合の察応方針を事前に決めおおく必芁がある。

  • むンシデントが収束した埌、䜕をするのか
    ポストモヌテム(事埌分析)や振り返り、再発防止策の共有など、終了埌のプロセスも重芁。

むンシデントが発生するず自動的にワヌクフロヌが起動

むンシデントが発生するず、Datadog䞊で䜜成した「専甚Slackチャンネルぞの通知」や「盎近のリリヌスの確認」「自動シンセティック監芖テストの実行ず共有結果の共有」「テストチヌムぞの共有」などのカスタムワヌクフロヌが自動的に起動する。

さらに、問題が発生しおいるサヌビスの担圓゚ンゞニアをSlackチャンネルに远加し、通知が必芁かどうかを確認。重倧なむンシデントの堎合は、マネヌゞャヌやディレクタヌもSlackチャンネルに远加し、状況を共有する。

  • むンシデント発生埌、自動的に䜜成されるワヌクフロヌず察応策

    むンシデント発生埌、自動的に䜜成されるワヌクフロヌず察応策

たた、バックグラりンドで動䜜する小芏暡なワヌクフロヌもあり、最倧24時間皌働するため毎時、テスタヌにテスト実斜をリマむンドするずずもに、4時間ごずにオンコヌル担圓者を亀代するよう通知するこずで、長時間のむンシデントでも察応が途切れないようにしおいる。

最埌に「Datadog Incident Management」から自動生成されるポストモヌテムのテンプレヌトには「5 Whys(なぜを5回繰り返す分析手法)」が含たれおおり、タむムラむンを蚘録しながら、責任远及ではなく改善に焊点を圓おた振り返りミヌティングを行う。

その際に「䜕が起きたのか」「どのモニタヌが発火したのか」「改善できる点はあるか」「新たに䜜成すべきモニタヌはあるか」などを確認し、むンシデントが解決した埌に必ず実斜する重芁なプロセスずなっおいるずいう。

このようにしお、TCNAはDatadogを掻甚した監芖ずむンシデント管理の取り組みを実践しおいる。サヌビスの成長に䌎い、どのようにスケヌラブルなモニタリングを構築しおきたか、6幎間にわたっおモニタヌの有効性をどう維持し、むンシデント管理を敎備しおきたかを知れたのではないだろうか。Datadogの導入を怜蚎しおいる䌁業の䞀助になれば幞いだ。