今回のブログは、システム監視について説明します。
最近、仕事でシステム監視の運用ルールに関するドキュメントを作成しました。その際、下記書籍を参考にし、またシステム監視について色々調査したので、そのアウトプット記事になります。
今後、システムやサーバ監視に関する運用ルールを作成する方のお力になれれば幸いです。
是非、最後までご覧いただけると嬉しいです。
システム監視の概要
システム監視とは、システムの正常な稼働状態を維持するために、システムの状態を定期的に確認する作業や仕組みのことです。システムの構成要素であるサーバー、ネットワーク、アプリケーションなどの状態を監視することで、障害を未然に防ぎ、万が一障害が発生した場合でも迅速に復旧することができます。
システム監視の対象は、オンプレミス型システムとクラウド型システムの両方です。オンプレミス型システムでは、自社で所有するサーバーやネットワーク機器、アプリケーションなどを監視する必要があります。クラウド型システムでは、クラウド事業者が提供するサーバーやネットワーク、アプリケーションなどを監視する必要があります。
システム監視の目的は、以下の2つです。
- 障害の予防
システムの状態を常に把握することで、異常が発生する前に検知し、障害を未然に防ぐことができます。 - 障害の影響の軽減
障害が発生した場合でも、迅速に復旧できるように準備しておくことで、障害の影響を軽減することができます。
システム監視を行うことで、以下のメリットがあります。
- システムの安定稼働
障害を未然に防ぐことで、システムの安定稼働を維持することができます。 - 業務の継続性
障害が発生した場合でも、迅速に復旧することで、業務の継続性を維持することができます。 - コスト削減
障害による損害を抑えることで、コスト削減につながります。
システム監視の対象となる項目は、システムの構成要素によって異なります。以下の項目は、オンプレミス型システムでもクラウド型システムでも一般的に監視されます。
- サーバー
- CPU使用率
- メモリ使用率
- ディスク使用率
- ネットワーク帯域使用率
- ネットワーク
- パケットロス率
- 遅延
- 輻輳
- アプリケーション
- 応答時間
- エラー率
- データベース
- 接続数
- データベースサイズ
- パフォーマンス
クラウド型システムでは、クラウド事業者が提供する監視機能を活用することで、効率的に監視を行うことができます。
よいアラートの仕組みを作る6つの方法
よいアラートの仕組みを作るには、以下の6つの方法があります。
1.アラートにメールを使うのをやめる
メールは、アラート通知の基本的な方法です。しかし、すぐに対応が必要なアラートは見逃される可能性があります。
そのため、以下の方法を組み合わせてアラート通知を行うことをおすすめします。
・すぐに対応が必要なアラートは、SMSやPagerDutyなどの即時通知ツールで通知する。
・注意が必要だがすぐにアクションは必要ないアラートは、社内のチャットツールで通知する。
・履歴や診断のために保存しておくアラートは、ログファイルに送る。
2.手順書を書く
アラートが発生した際には、迅速かつ適切に対処することが重要です。そのため、アラートが発生した場合の対応手順を明確に定めた手順書を作成しておきましょう。手順書には、以下の情報を記載しておくとよいでしょう。
・アラートが通知されたサービスやコンポーネントの概要
・アラートが通知された理由
・アラートの対応手順
・アラートの対応を完了した際の確認事項
3.固定のしきい値だけに頼らない
固定のしきい値は、アラート通知の基本的な方法です。しかし、システムの負荷や使用状況の変化により、誤検知や見逃しが発生する可能性があります。
柔軟なアラート方法では、変化量やグラフの傾きなどの要素を考慮することで、より正確なアラート通知を実現できます。
具体的には、以下の方法が挙げられます。
・変化量ベースのアラート:一定期間内の変化量が閾値を超えた場合に、アラートを通知する。
・傾きベースのアラート:一定期間内の傾きが閾値を超えた場合に、アラートを通知する。
・異常値ベースのアラート:通常値から大きく逸脱した値を検知した場合に、アラートを通知する。
これらの方法を組み合わせることで、より効果的なアラートの仕組みを構築することができます。
4.アラートを削除し、チューニングする
アラートの量を減らすには、不要なアラートを削除したり、しきい値を調整したりすることが有効です。不要なアラートとは、システムの正常な動作によって発生するものや、重要な問題ではないものです。しきい値を調整することで、アラートが頻繁に発生するのを防ぐことができます。
また、アラートの履歴を分析することで、アラートの必要性を再検討することもできます。たとえば、過去に発生したアラートのうち、実際に問題が発生したものはどれくらいなのかを調べることで、アラートの必要性を判断することができます。
5.メンテナンス期間を使う
アラートの仕組みを有効に活用するためには、メンテナンス期間中はアラートを無効にする必要がある。メンテナンス中にアラートが発報されると、本来の障害とは異なる誤検知と判断され、対応に時間や労力を割かれてしまう可能性がある。
また、メンテナンス中に誤検知が発生すると、運用担当者やユーザーに混乱や不安を与えてしまう。そのため、メンテナンスを行う場合は、あらかじめアラートの無効化を検討しておくことが大切である。
6.まずは自動復旧を試す
自動復旧によって問題が解決できる場合、アラートを送ると、担当者が不要な通知に煩わされることになります。また、アラートを送ることによって、システムの正常な稼働を妨げてしまう可能性もあります。
そのため、自動復旧によって問題が解決できる場合は、アラートを送らないようにしましょう。
ただし、自動復旧によっても問題が解決できない場合、アラートを送ることで、担当者が迅速に対応できるようになります。そのため、自動復旧によって問題が解決できるかどうかを判断し、自動復旧によって解決できない場合にのみアラートを送るようにしましょう。
これらの方法を参考に、自社のシステムや運用体制に合ったよいアラートの仕組みを構築しましょう。
システム障害監視のベストプラクティス
システム障害を迅速かつ効率的に検知・対応するためには、以下の4つのベストプラクティスを実践することが重要です。
1. 適切なモニタリングツールを導入する
システムのさまざまなコンポーネントを監視し、障害の兆候をいち早く検知するために、適切なモニタリングツールを導入する必要があります。モニタリングツールには、CPU使用率やメモリ使用量などのシステムリソース、ネットワークトラフィック、アプリケーションのパフォーマンスなど、さまざまな指標を監視できるものがあります。
2. 重要な指標を特定する
システムの正常性を示す重要な指標を特定し、それらの指標が異常値を示した場合に通知する仕組みを構築することで、障害を迅速に検知することができます。重要な指標は、システムのパフォーマンスや可用性に影響を与える可能性のある指標です。
3. 自動化された対応プロセスを構築する
障害が発生した場合に、迅速かつ効率的に対応するために、自動化された対応プロセスを構築することが重要です。自動化された対応プロセスには、障害の通知、問題の切り分け、復旧作業の実行などが含まれます。
4. 定期的にテストする
監視システムや対応プロセスが正常に動作していることを確認するために、定期的にテストすることが重要です。テストには、障害を想定したシナリオでのテストや、実際の障害が発生した場合のテストなどが含まれます。
これらのベストプラクティスを参考にして、システム障害の監視と対応を強化することで、システムの可用性と信頼性を向上させることができます。
まとめ
本日は下記3点について説明しました。
- システム監視の概要
- よいアラートの仕組みを作る6つの方法
- システム障害監視のベストプラクティス
システム監視に関するドキュメントを作成する際は、一般的なベストプラクティスを踏まえた上で、顧客のシステム環境や運用体制を十分に理解し、最適な運用ドキュメントを作成することが大切であると実感しました。
これからも、Macのシステムエンジニアとして、日々、習得した知識や経験を発信していきますので、是非、ブックマーク登録してくれると嬉しいです!
それでは、次回のブログで!