ダッシュボードの更新停止をon-call担当に知らせるSlack bot
共有者はまさにこのプロジェクトをDatadogの面接で話し、その後リターンオファー(内定)を獲得しました。
この面接を練習する
実際の深掘り4問 · うち難問1 · 約12分
各質問に自分で答えると、本人の実際の答えが見られます。
本人はこう語った
私のチームでは、モニタリング用ダッシュボードの更新が止まっていることに気づくのがいつも遅れていました。そこで、真っ先に異常に気づいて担当者に知らせる小さなbotを作りました。
全文を読む
インターン中、私のチームは社内向けダッシュボードをいくつも運用していたのですが、その裏側のデータパイプラインが何度か静かに止まってしまうことがありました。マネージャーが「この数字、なんで固まってるの?」と聞いてくるまで誰も気づかない、という状態です。メンターが半分冗談で「誰かが毎朝チェックすればいいんだよ」と言ったので、私は「代わりに自動化してもいいですか」と聞きました。作ったのはPythonスクリプトで、各ダッシュボードのAPIを叩いて最終更新のタイムスタンプをしきい値と比較し、一定時間を超えて更新が止まっていたらチームのSlackチャンネルに投稿して、その週のon-call担当を@メンションする仕組みです。当番のローテーションはPagerDutyのスケジュールから取得しました。難しかったのは正常系ではなく、「うるさくしないこと」でした。初期の頃、リフレッシュが遅れただけで1分ほど更新停止に見えてしまい、二重に通知を飛ばしてしまったのです。そこで猶予ウィンドウと「4時間以内は再通知しない」というルールを追加しました。実行は共有マシン上のcronジョブです。インターン最後の1か月で実際の停止を2件検知でき、それまで数日かかっていた対応が当日中に修正できました。私が去った後もメンターが確実にメンテできるよう、あえて極力シンプルに保ちました。
実際に聞かれた質問
bot自体が落ちたり、マシンがダウンしたりしたらどうなりましたか?
難しいダッシュボードが本当に更新停止しているのか、単にリフレッシュが遅いだけなのか、どう見分けましたか?
普通そもそもなぜbotなのですか?手動でチェックすればよかったのでは?
易しい他に誰が使っていましたか?あなたが去った後も動いていましたか?
普通