web-dev-qa-db-ja.com

muninをよりスケーラブルなものに置き換える必要があります

私は長年、複数のサーバーでmuninを使用して大きな成功を収めてきましたが、100を超えるmunin-nodeを使用しているため、クライアントに負荷がかかると、処理がタイムアウトします。

私はcronジョブとクライアントプロセスの数にいくつかのスケーリングの変更を加え、実行中のプラグインの数などを減らしましたが、よりスケーラブルなアーキテクチャを持つ代替を探すことにしました。

提案や経験があれば歓迎します。私は基本的に、キャパシティプランニングに使用できるサーバーメトリックとリソース使用状況の診断に関心があります。 (アラート用のnagiosがあります)

8
Tom H

2つの問題があるようです

  1. 監視サーバーで、多数のサーバーのメトリックを記録するには、ストレージが提供できるよりもランダムなI/Oが必要です。すべてのメトリックがディスクに書き込まれている場合でも、サーバーが過負荷になり、それらから実際にグラフを生成できない場合があります。
  2. 監視対象のクライアントでは、メトリックを収集するプラグインはCPUとメモリを集中的に使用するため、クライアントの負荷が高いときにデータの収集が完了しません。

私は過去にムニンを使用しましたが、現在は collectd を使用しています。 collectdの作者は、これらの問題の解決に多くの考えと努力を注いできました。彼らは データをRRDファイルに書き込む のために適切に設計されたシステムを備えており、データを失うことなく、最新のグラフを生成できます。 RRDCacheD のサポートもあります。デーモンと公式プラグインはCで記述されているため、メモリやCPU時間をほとんど使用しません。私のクライアントシステムでは、2MB未満のRAMを使用し、毎分約1/4秒のCPU時間を使用しています。私の監視サーバーでは、20MBのRAMを使用しており、毎分2/3秒のCPU時間を使用しています。すべてのメトリックが収集され、監視サーバーに送信されるのは、muninのように分単位の間隔ではなく、10秒ごとであることに注意してください。

8
sciurus

Muninやその他のRRDToolフロントエンド(CactiやGangliaなど)は優れたツールですが、I/Oに関する既知の問題があり、数百ものノードを監視する場合、スケーリングが困難です。

ただし、このI/Oボトルネックに対処するためのいくつかの手法があります。これらの手法の1つは、書き込みを多数のディスクに分散して、各ディスクのI/Oを削減することです。一方、多くのシステム管理者は tmpfs ファイルシステムを使用してこの問題に対処します。 RRDCachedもこれに対処するための最近の優れたオプションであり、これを確認することをお勧めします slides

私はMuninにはそれほど詳しくありませんが、Cactiには Boost プラグインがあります。このプラグインは、データをメモリにキャッシュし、個々の書き込みではなく、ディスクへの大量のオンデマンド更新を実行するため、I/Oが削減されます。ムニンもこのようなものを持っていると確信しています。

余裕がある場合は、SSDディスクも適切なオプションです。

最後に重要なことですが、 Reconnoiter も確認できます。 Recconoiterは、新しい障害検出およびグラフ作成/傾向分析ツールです。ほとんどのトレンドツールとは異なり、ReconnoiterはRRDToolベースではなく、この特定の問題を解決しようとします。私は本番環境でReconnoiterを使用していませんが、いくつかのテストを行いましたが、まだ少し「グリーン」であるにもかかわらず、特にそのスケーラビリティに関して、非常に有望に見えます。

お役に立てれば!

3
Marco Ramos

チェックアウト Zabbix 。これは、世の中で最も優れたオープンソースのパフォーマンス監視ツールの1つです。拡張性が高く、数千台のコンピューターが存在する環境で使用されています。

2
Red Tux

マルコ・ラモスはいくつかの確かなアドバイスをします。いくつかの説明を追加したいと思います。ただし、muninの大きな問題は、5分の収集スケジュールが固定されていることです。 5分以内にすべてのノードが結果を返さない場合、ドロップアウトが発生し始めます。これがムニンの最大の問題です。

Gangliaのような他のrrdtoolベースのツールは、muninが行うのと同じ順番ですべてのデータソースをポーリングしないため、この同じ5分の更新ウィンドウにロックされません。

Gangliaは一般的には適切にスケーリングされているように見えるので(Gangliaを大規模にインストールする場合は、マルチキャストデータ収集をオフにする必要はありますが)確認することをお勧めします。 rrdtoolがチョークポイントであることを心配する必要がなくなる前に、神経節をかなり長い道のりで移動できると思います。その時点で、SSDドライブの使用など、マルコが提案するようなことを行うことができます。

0
Phil Hollenback

私はMuninをGangliaと交換しています。Muninはサーバーを強制終了するので、Gangliaを試して、どのようにスケールするかを確認します。

0
luckytaxi