あらゆる種類のサーバーを負荷の下で実行する場合、サーバーが正常であることを確認するために監視したいリソースがいくつかあります。これは特に、負荷がかかった状態でシステムをテストする場合に当てはまります。
この例としては、CPU 使用率、メモリ使用率、およびおそらくディスク容量が挙げられます。他にどのリソースを監視する必要がありますか? また、そのために使用できるツールは何ですか?
あらゆる種類のサーバーを負荷の下で実行する場合、サーバーが正常であることを確認するために監視したいリソースがいくつかあります。これは特に、負荷がかかった状態でシステムをテストする場合に当てはまります。
この例としては、CPU 使用率、メモリ使用率、およびおそらくディスク容量が挙げられます。他にどのリソースを監視する必要がありますか? また、そのために使用できるツールは何ですか?
余裕のある限り、結果をグラフ化/理解/見ることができます。リソースの監視は、キャパシティ プランニングだけでなく、異常検出にも役立ちます。異常検出は、セキュリティ イベントを検出する能力に大きく役立ちます。
基本的なグラフでまともなスタートを切ることができました。また、スレッド数、接続数、ネットワーク I/O、ディスク I/O、ページ フォールト (おそらくメモリ使用量に関連しています)、コンテキスト スイッチも監視したいと思います。
ホストに関連するものをグラフ化するための munin が本当に好きです。
私はZabbixを本番環境で広く使用しています.Zabbixには便利なデフォルトのスタックが付属しています. 監視するように構成した種類の例:
Zabbix で監視できるものはすべて、トリガーをアタッチして、失敗したサービスを再起動することもできます。または、問題について警告するページを表示します。
パフォーマンスが問題になる前に、今すぐデータを収集してください。それが実現すると、歴史的なベースラインと、どの開発者が悪い変更を加えたかを正確に突き止めて罰する必要があるときに、問題が発生し始めた日付と時刻を示すことができるという事実に満足するでしょう :)
私は、vmstat の見栄えの良いいとこである dstat を使用することになりました。
これにより、次のようなマシンの状態について知る必要があるほとんどすべてが表示されます。
「df -h」を使用して、あらゆる種類のファンキーな問題につながる可能性のあるパーティションがいっぱいにならないようにします。もちろん、syslog を監視することも役立ちます。そのため、サーバーに「logwatch」( Logwatch Web サイト) をインストールすることをお勧めします。 syslog に奇妙なものが表示され始めた場合のメール。
Cactiは、優れた Web ベースの監視/グラフ作成ソリューションです。多くの大規模なエンタープライズレベルのインストールを含む大規模なユーザーベースで、非常に完全で非常に使いやすい.
「アラート」を増やして「グラフ化」を減らしたい場合は、nagiosをチェックしてください。
「何を監視するか」については、システム レベルとアプリケーション レベルの両方でシステムを監視する必要があるため、ネットワーク/メモリ/ディスク i/o、割り込みなどをシステム レベルで監視します。アプリケーション レベルがより具体的になるため、Web サーバーは 1 秒あたりのヒット数、1 秒あたりのエラー数 (200 以外の応答) などを測定し、データベースは 1 秒あたりのクエリ数、平均クエリ実行時間などを測定します。
前述の mysql の slowquerylog に注意してください。一部のクエリが遅い理由を理解しようとする場合にのみ使用してください。有効にすると、すべてのクエリが遅くなるという副作用があります。:P ロギングではなくデバッグ用です。
可能な限り「パッシブ監視」を考えてください。たとえば、サーバーからネットワーク トラフィックを監視するのではなく、ネットワーク トラフィックをスニッフィングします。別のマシンでパケットが行き来するのを監視し、それらに関する統計を記録します。
(ちなみに、これは私のお気に入りの 1 つです。接続が確立されるのを監視し、接続がいつ終了するかを確認すると、関心のあるサーバーに負荷をかけることなく、遅いクエリに関する多くのデータを見つけたり、他の何かを遅くしたりすることができます。 )
もちろんネットワーク:)MRTGを使用して、いくつかの優れた帯域幅グラフを取得します。ほとんどの場合、スパマーがセキュリティの穴を見つけて突然増加するまで、それらはほとんどの場合です。
Nagiosは、前述のようにアラートに適していて、セットアップが簡単です。その後、mrtgプラグインを使用して、ネットワークトラフィックのアラートを取得することもできます。
また、ネットワークトラフィックがどこに向かっているのかを示すため、ntopをお勧めします。
MuninとMonitを使いこなすための良いリンク:リンクテキスト
top と auth.log に加えて、mtop をよく見て、mysql の slowquerylog を有効にし、mysqldumpslow を監視します。
また、Nagios を使用して、CPU、メモリ、およびログイン ユーザー (VPS または専用サーバー上) を監視します。最後に、私以外の誰かがログインしたことを知らせてくれます。
私は通常、top
とを見tail -f /var/log/auth.log
ます。