システム開発・運用で取得するべきログの一覧を紹介したいと思います。
DevOpsでは開発者と運用者が連携が重要になっており、
開発・運用ログを取得しておかないと不測の障害やリソース増強計画などを適切に行えなくなります。
システム開発・運用時には必要な要素なので覚えておいてください。
※ログのカテゴリ分けは主観があります。
また紹介するログには網羅性を含んでいない場合があります。
アプリケーションログ:重要度★★★
アプリケーションログとは、アプリやミドルウェアの実行ログになります。
例えば
- 自分で作成したプログラミングのログ
- ApacheやNginxのアクセスログ
- Web画面の操作ログ
が該当します。
これらはバグや障害を解決するために大変役立つため必ず取得するようにしましょう。
ただしアプリケーションログの出力レベル(出力させる量)には注意しましょう。
大量のアプリケーションログを出力させると性能やサーバリソースに影響を及ぼします。
オペレーションログ:重要度★★★
オペレーションログとは、日々の運用で行うバッチや手動オペレーションのことを指します。
例えば
- 日々のバックアップバッチ処理のログ
- アプリケーションやミドルウェアの起動/停止ログ
- オペレーターの修正業務のログ
が該当します。
これらのログは障害時に業務がどの時点まで正確に動いていたか、
どの時点で変更があったかを追うことが出来る重要なログになります。
取得して有事の際に利用できるようにまとめておくことをオススメします。
キャパシティログ:重要度★★
キャパシティログとは、サーバーのリソース状況を把握するためのログになります。
例えば、
- サーバーのCPU利用率の時間毎のログ
- アプリへの同時接続数を表すログ
- データベースのデータ領域利用率のログ
が該当します。
これらのログは障害を未然に防ぐためのログになります。
ただ未然に防ぐためには取得したログを定期的に確認する必要があるので注意してください。
パフォーマンスログ:重要度★
パフォーマンスログとは、アプリケーションのレスポンスやサーバーの性能が出ているか確認するログになります。
例えば
- アプリケーションレスポンスログ
- サーバーの性能(CPU、メモリ、ディスク読み書き)評価のログ
- データベースの性能ログ
が該当します。
これらのログは性能障害を未然に防ぐだけでなく、
リソース増強計画のインプットになります。
ただ取得する情報量が多くなるのでディスク容量に注意する必要があります。
監査ログ:重要度★
監査ログとは、重要なデータへのアクセスや操作ログのことを指します。
例えば、
- 管理コンソールへのログイン/ログアウト処理のログ
- サーバーへのSSHログイン
- データベースのデータ更新ログ
が該当します。
昨今の個人情報やクレジットカード情報の流出などを受けて取得することが多くなってきているログです。
扱うデータによっては、法律で取得が義務付けれている監査ログもありますので必ず確認するようにしましょう。