2.0 GHz Intelプロセッサー、RAID10アレイ、400 MBのRAMを搭載したUbuntuを実行するnagiosサーバーがあります。 8つのホストで合計42のサービスを監視します。ほとんどのサービスは、check_httpプラグインを使用して5分でもチェックされ、場合によっては1分ごとにチェックされます。最近、nagiosサーバーの負荷は4を超え、多くの場合6に達しています。サーバーはサボテンも実行し、6台のホストの毎分統計を収集します。
このようなハードウェアでいくつのサービスを処理できるのでしょうか。ハードウェアの限界を押し上げているため、負荷は非常に高いですか、またはこのハードウェアは42のサービスチェックとサボテンを処理できる必要がありますか?ハードウェアが不十分な場合、RAM、コア、または高速コアを追加する必要がありますか?他にはどのようなハードウェア/サービスチェックが実行されていますか?
ボトルネックがどこにあるかを把握する必要があります...
私は、http、ping、sshチェックで400以上のホストをチェックするnagiosモニターを実行しています。 (他の多くのパッシブチェックとnscdとともに)
これは、4つのSAS RAID10のディスクを搭載した2xQuadCoreサーバー上にあります。
多くのrrdへの書き込みは非常に非効率的であるため、IO競合が発生していると思います。
どのプロセスがリソースを消費しているかを把握する必要があります。 (サボテン、ナギオスなど)
IOチェックの場合、iotopが好きです。iotopをインストールします(9.04パッケージは8.04で動作します)
しかしそれ以外の場合、topはロードホッグを見つけるのにも役立ちます。
サボテンは1分に1度はかなり攻撃的です。 (私は5m間隔で鉱山を走らせます)
RRD書き込みの競合について私が聞いた1つのアプローチは、RRDストアをramdisk/tmpfsに置くことです。 (それを永続ストレージに時々rsyncしてください)
幸運を。
サボテンがほとんどの負荷を生成していない限り、ハードウェアよりもはるかに多くのチェックを実行できるはずです。
私は、Microsoft Virtual Serverで動作しているFreeBSD仮想マシンでnagiosを実行しています。これは、動作が遅い古いPC(遅いPATAディスクを備えたPentium 3 1GHz)で実行しています。仮想マシンには128MBのRAMしかなく、パフォーマンスは悲惨です。
ただし、負荷平均は約0.2で、42のホストにわたって158のチェックを実行しています。
RAMの256MBの古いPIIIでは、約230の異なるサービスをアクティブに監視しています。同じマシンがすべての着信FAXに対してMRTGとHylaFAXを実行しており、非常に快適に動作しています。
そのハードウェアでnagiosチェックのボートロードを実行できるはずです。約70のチェックとNagiosgraphを使用して同様の設定を実行します-大きな違いが追加されますRAM(安価なので、ボックスを2Gbに増やします)。
Topまたはps -auxを実行して、CPUが過負荷になっていないか確認してください。 nagios parallelization docs をチェックして、インストールがシリアル化するのではなく、一度に実行するチェックが多すぎるかどうかを確認することもできます。