ログの設計についてどのように考えるべきなのかを知りたかったため読んだ。
結果、ログを考えることは運用をどう考えるかとイコールであり、前提として必要なのは運用設計であることが分かった。
ログとは
システムを運用していく上で、必ず必要となるデータ
ログの役割
大きく分けて2つ
障害調査
- 障害発生箇所や影響度の調査などで必要とする役割
- 比較的直近のデータで一定日時を過ぎると削除する傾向のあるデータ
監査対応
- 情報流出や不正アクセスなど、セキュリティ的な側面で必要とする役割
- 比較的長期保管が必要なデータ
ログ管理サーバー
ログを稼働システム上に長期保管してしまうと下記のような問題がある
- ディスク容量の圧迫
- 冗長化構成だった場合、ログの調査を横断的に行う必要がある
これらの問題を解決するために必要なログを1箇所に集めるのがログ管理サーバーになる
以下、ログ管理サーバーがもつ主な機能といえる
ログの一元管理
管理対象のログを一か所に集めることで稼働システムのサーバーで長期保管する必要がなくなる
ログの分析・レポート
集めたログの内容を分析し、レポートとして表示することができる。今システムに何が起きているのか、過去にシステムで何が起きていたかを確認できる
ログの圧縮
ログの長期間保存は膨大なディスク容量が必要になるのでデータ圧縮機能を持っているソフトが多い。
ログのモニタリング
リアルタイムにログを監視し、問題があればメールなどでアラートを上げる機能。
監視とのすみ分けをしないと、二重監視の可能性があるので注意する必要がある。
ログの原本管理、改ざん防止機能
基本的にはログはテキストベースのデータなので、改ざんすることが容易。
ログが改ざんされてしまうと、障害調査も監査対応も無意味になるので改ざんを検知し、原本を正しく管理する機能があることが多い
ログ管理サーバーといえるようなサービス主なサービス例
- S3
- GCS
- IDCF
など
書籍情報
JBS Technology Inc, 近藤誠司(監修), みんなが知っておくべき運用設計のノウハウ
https://amzn.to/2VU8olW
雑感
今関わっているETLツールやDMPないしCDPなどは、この「ログ」がシステムが扱うメインの情報となるのでその辺り理解をする為にもとても適していた。