Nagiosリモートモニタリング:NRPE対。SSH


8

Nagiosを使用して、かなりの数(〜130)のサーバーを監視しています。各サーバーでCPU、ディスク、RAM、その他いくつかのことを監視します。私は常にリモートコマンドを実行するためにSSHを使用してきました。リモートサーバーに追加の構成をほとんどまたはまったく必要としないからです。nagios-pluginsをインストールしてnagiosユーザーを作成し、SSHキーを追加するだけです。シェルスクリプト。NRPE経由でSSHを使用することによるパフォーマンスへの影響を実際に検討したことはありません。

Nagiosサーバーへの負荷ヒットについてはそれほど気になりません(おそらくそれが何をするかについては仕様が過剰であり、CPUが10%を超えることはありません)、各リモートチェックを30秒ごとに実行し、各サーバーには5つの異なるチェックがあります実行されました。SSHはチェックごとにより多くのリソースを必要とすると思いますが、大きな違いはありますか?(つまり、NRPEへの切り替えを保証するのに十分な違い)。

それでも問題がなければ、物理サーバー(通常は8、12、または16の物理コア)とAmazon EC2中/大規模インスタンスの混合を監視します。

回答:


6

SSH(私はpush_checkを使用します)の管理上の利点が追加の負荷よりも勝ると信じていました。最近のCPUは非常に高速であるため、少数のバイトを暗号化するコストはかなり最小限です。そのため、2つのプロセス(SSHとチェックスクリプト)と1つのプロセス(NRPEによって起動されるチェックスクリプト)を実行することになります。

インタープリター言語で記述されたチェックスクリプトの場合、インタープリター(Perl、Python、Bash)を起動するオーバーヘッドが、SSHセッションを開始するCPUコストを超えると予想します。最近のCPUを考えると、マシンはCPU制限ではなくディスクまたはメモリ制限である可能性が高くなります。

あなたのNagiosマシンが対処しているならば-それは毎秒20のSSH接続をセットアップしなければなりません-便宜上私は誤ります。

本当にあなたの質問への答えではなく、人生はそれを心配するには短すぎるというより多くの議論:)


6

NRPEはnagiosプラグインで、簡単にインストールでき、プローブ構成ファイルでチェックアスクを管理します。nrpeには1つだけ悪い点があります。監視するすべてのサーバーにインストールする必要があります。LinuxOSでは、それは本当にシンプルです。yum/ apt-get install nrpeですが、Windowsサーバーでは、.exeでインストールする必要があります。 、サーバーを再起動する必要がある場合があります。

SSHはnagiosを使用するための最も最適化された方法ではないと思います。NRPEの方がはるかに効率的です。

ここnagiosのドキュメントには次の文があります:

「SSHの使用はNRPEアドオンよりも安全ですが、監視マシンとリモートマシンの両方で(CPU)オーバーヘッドが大きくなります。これは、数百または数千のマシンの監視を開始するときに問題になる可能性があります。多くのNagios管理者は、 NRPEアドオンは、負荷が低いため、使用します。」

ドキュメントがあります。私は.pdfです

私としては、使用が簡単なsnmpプロトコルを使用しており、サーバーにサードパーティをインストールする必要はありません。


私はSNMPを調べましたが、SNMPを使用するように設定できないと思うデータベース/アプリの統計などを監視しています。監視のセキュリティについてはあまり心配していません。SSHは、余分な構成を回避するためだけに選択されました。SSHを使用してコマンドを追加/変更する場合と同様に、NAGIOS構成を変更するだけですが、NRPEを使用して、リモートサーバーのnrpe.confにも追加する必要があります。
スマッジ

確かに、リモートサーバーに.confを追加する必要があるため、nrpeは少し面倒です。SNMPについては、あなたがやりたいことは何でもできます(私が間違っていなければ)、perlを使用して独自のプローブを作成し、snmpを介してプローブを使用できます。.confを変更する必要がないため、nrpeよりも簡単です。リモートサーバー上で、SSHよりも貪欲ではありません。まあそれは単なる視点であり、nagiosを何のために使用するのかです。Nrpeは、少なくとも私にとってはsshとsnmpの間の妥協案です。良い一日を過ごしてください。
Anarko_Bizounours

3

他の回答で示されている提案に加えてControlMaster、nagiosの.ssh / configファイルでssh多重化を最大限に活用できるようにすることを検討していますか?

言い換えると、SSH接続は「継続」されるため、これが1回だけ発生するため、接続を確立するオーバーヘッドが最小限になります。これにより、暗号化によってプライバシーが保証され、サーバー上でTCPポートを開いたままにしないようにすることができます(ファイアウォールは適用されます)。さらに、ユーザーが実行できるコマンドを制限することで、 sshを介してユーザーが行うことを制限できます。


0

私はさまざまなOSでNRPEをコンパイルしようとする問題しかありませんでした。SSHはスムーズかつ効率的に機能しており、スクリプト化がはるかに簡単です。


4
これは、NRPEよりも作業しているシステムの問題のようです-私はNagiosのファンではありませんが、NRPEは非常に単純なコードであり、コンパイルする問題は一度もありません...
voretaq7
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.