RSS DEV コミュニティ
フォロー
自分のAPIがダウンしたことに気づかず、API監視プラットフォームを構築した
学生がデプロイしたAPIが数時間サイレントにダウンしたことをきっかけに、Monitorlyが作成されました。既存のアップタイム監視ツールは、学生プロジェクトには複雑すぎると感じられました。Monitorlyは、シンプルさを追求して設計された、新しいオープンソースのAPIアップタイム監視プラットフォームです。ページリフレッシュなしで即座に更新されるリアルタイムダッシュボードを備えています。アラートは、エンドポイントのステータスが変更された場合にのみメールで送信され、受信トレイのスパムを防ぎます。プラットフォームは、過去のチェックデータに基づいてローリングアップタイムパーセンテージを計算します。ユーザーは、1分から15分の範囲でチェックの間隔を設定できます。Monitorlyは、JWT認証を使用して、ユーザーごとに監視データを分離します。主要なテクノロジーには、Node.js、Express.js、MongoDB、Socket.ioが含まれます。アーキテクチャは、チェックのスケジューリングにcronジョブを、HTTPリクエストにAxiosを使用しています。重要な学習点は、純粋な技術的な正しさよりも、ユーザーエクスペリエンスを向上させるためのアラートロジックの設計でした。このプロジェクトはまた、ログデータをメインドキュメントから分離すること、およびリクエストタイムアウトを実装することの重要性も強調しています。今後の計画には、SMSアラート、レスポンスボディ検証、および公開ステータスページの追加が含まれます。