
サーバー監視ソフトウェアに関するスレッドをいくつか確認した後、私は単純な疑問に思い至りました。
「異常な」状況を自動的に検出し、その修正方法を提案するには、どのサーバー監視ツールを使用すればよいですか?
インストール後にシステム パフォーマンスをチェックし、平均負荷値 (メモリ、CPU など) を計算するソフトウェアを探しています。何かが起きると (CPU 負荷が 20% に増加するなど)、その原因を検出しようとします。Apache の場合は、アクセス ログをチェックする必要があります。MySQL の場合は、MySQL ログをチェックして、何が起きたかを教えてくれます。一部のユーザーが大量の画像をデコードするため、どのコマンドがいつ実行され、ユーザー名が何であるかを知りたいのです。ディスク使用量、メモリ、プロセス数、スレッドなどについても同様です。
理想的には、このソフトウェアは定期的にシステムをチェックし、PHP エラー ログのエラー、古いパッケージ、セキュリティの脆弱性などの問題を報告する必要があります。
言い換えれば、毎日チャートを監視する必要なしに、シンプルな Debian/Apache/PHP/MySQL サーバーを維持できるソフトウェアを探しています。
答え1
Zabbixとは対照的に -マクスウェル- 尊敬すべきナギオス(そして比較的最近のフォークである、アイシング)。このフレームワークは 10 年以上前から存在しており、非常に安定しています。唯一の欠点はインストールと構成で、Zabbix のような商用企業がサポートするシステムよりもはるかに時間がかかります (特に初めての場合)。
もちろん、どちらもエコシステムの中で役割を果たしているので、両方試してみることをお勧めします。ただし、私のコメントで述べたように、より詳細なタイプの監視を行う予定であればあるほど、実際に独自のプラグイン/スクリプトを作成する場合でも、他の人の作業を検索/ダウンロード/変更する場合でも、より多くの労力を費やすことを覚悟しておく必要があります。
幸運を!
答え2
そのようなソフトウェアはたくさんありますが、注意すべき点は、別のホストで実行する必要があるということです。そうしないと、何か問題が発生した場合に通知されないリスクが高くなります。
たとえば、私たちは nagios (すべての監視とアラートを処理します。つまり、オペレーターが何かを確認する必要がある場合に誰かを起こす役割を担っています) と cacti (アラートも実行できますが、ネットワーク トラフィックからシステム負荷、電子メール スパム統計に至るまで、さまざまなメトリックを収集して集計するために使用しています) を組み合わせて使用しています。
アラート (nagios、cacti、zabbix などから) を受け取ったとき、パフォーマンス データ (cacti、zabbix、その他) を確認すると、問題がどこにあるかを診断するのに役立ちます。
あなたが説明している通常の LAMP スタックでは、最も一般的な 2 つの問題状況 (少なくとも私の経験では) は、HTTP サーバーまたは SQL サーバーがまったく応答しないか、妥当な時間内に応答しない (Nagios プローブで確認します) か、システムの負荷平均が異常に高くなることです。
これら 2 つのチェックで、おそらく問題の 95% を検出できますが、他にも確認すべき点はたくさんあります。例:
- Apacheが設定したプロセス/スレッドの最大数で常に動作している場合、サーバーが負荷に対応できていないことを意味します。
- システムは「正常」に動作していますが、RAID 内のドライブが故障しています (この種の問題が何ヶ月も、または少なくとも次のディスク障害が発生するまで気付かれないことがよくあることは、ご存じないかもしれません ;)
市販されているほぼすべての製品は、あらゆるものを監視/グラフ化することができ、付属の計測機器や広く普及している SNMP に加えて、単純なシェル スクリプト、短いプログラムなどを使用して拡張することもできます。
答え3
ザビックス監視ソリューションは、必要なものをすべて監視し、それに応じてアクションをトリガーできます。アクションは、たとえば、ログを処理し、必要に応じて結果を返すスクリプトを実行することです。また、1 つ以上の条件が満たされたときにアクションをトリガーすることもできます (たとえば、ログ解析スクリプトの出力にエラーが表示され、CPU 負荷が 40% を超えているなど)。
答え4
Nagiosのインストール
Nagios は、クライアント、エンド ユーザー、または管理者よりも先にネットワークの問題を通知するように設計されたホストおよびサービス モニターです。Linux オペレーティング システムで実行するように設計されましたが、ほとんどのバージョンでも問題なく動作します。監視デーモンは、外部プラグインを使用して、指定されたホストとサービスに対して断続的なチェックを実行し、ステータス情報を Nagios に返します。問題が発生すると、デーモンはさまざまな方法 (電子メール、インスタント メッセージ、SMS など) で管理者の連絡先に通知を送信できます。サーバーに Nagios をインストールすると、サーバーの信頼性が向上します。
Nagios には多くの機能があり、非常に強力な監視ツールとなっています。主な機能の一部を次に示します。 ネットワーク サービス (SMTP、POP3、HTTP、NNTP、PING など) の監視 ホスト リソース (プロセッサ負荷、ディスクとメモリの使用状況、実行中のプロセス、ログ ファイルなど) の監視 温度などの環境要因の監視 計画停止期間中にホストとサービスの通知を抑制するためのスケジュールされたダウンタイム ユーザーが独自のホストとサービスのチェックを簡単に開発できるシンプルなプラグイン設計 ネットワーク ホスト階層を定義する機能。これにより、ダウンしているホストと到達できないホストを検出して区別できます。 冗長および分散監視サーバーの実装のサポート Web インターフェイスを介して問題を確認する機能 サービスまたはホストの問題が発生し、解決された場合の連絡先通知 (電子メール、ポケベル、またはその他のユーザー定義の方法を使用) ホストとサービスの通知を別の連絡先グループにエスカレーションするオプション サービスまたはホストのイベント中に実行されるイベント ハンドラーを定義して、問題をプロアクティブに解決する機能 イベント ハンドラー、Web インターフェイス、およびサードパーティ アプリケーションを使用して、監視と通知の動作をオンザフライで変更できる外部コマンド インターフェイス 複数のホスト間でのホストとサービスのステータスの保持プログラムの再起動