インフラ・クラウド・DevOps · 中級
ログ:正しく保存して素早く見つける
一行でいうと: 良いログは構造化されていて、リクエストIDで識別され、定義された期間保持され、そこにある理由がない個人情報がない。
構造
フィールドであり、文ではない:時間、レベル、サービス、バージョン、リクエスト識別子、マスクされたユーザー識別子、イベント。これによりテキストを検索するのではなく、フィルタリングと集計ができる。
一貫して使用されるレベル:注意が必要なものにエラー、例外的だが処理されたものに警告、ビジネスイベントにinfo、デバッグは開発環境のみ。
どれだけ保持するか
ログは重大なコスト項目だ。短期間は詳細に、長期間は集計で、コンプライアンスで必要なものは安いアーカイブで保持する。これを一度設定する、さもなければ自分で決まる——上方向に。
書かないもの
パスワード、トークン、カード番号、ID番号、プライベートメッセージの内容。ログはすべての面でデータベースであり、コントロールが少ない——そこからの漏洩は特に一般的だ。
さらに深く
エッジで生成されてすべてのコンポーネントとユーザーへのレスポンスに渡されるリクエスト識別子を追加する。顧客が識別子付きのエラーを報告したとき、調査は正しい行から始まる——推定された時間の周辺の何百万行のスキャンの代わりに。