web-dev-qa-db-ja.com

Zenossによる特注ソフトウェアの監視

パフォーマンスを監視する必要のあるバックエンドアプリケーションがたくさんあります(処理を待機している注文、最後の実行からの時間などの指標)。現在、これは、しきい値を超えるたびに電子メールを送信する社内のウォッチドッグアプリケーションによって実行されますが、問題を確認してこれらのアラートをスケルチする方法はありません。

独自の完全なアラートシステムを構築するのではなく、サーバーの監視に使用するZenossインストールに結び付けたいと考えています。プログラムでイベントを作成することについて いくつかの記事 を見つけましたが、Zenoss自体が現在のウォッチドッグアプリが見ている値を監視したいと思います(したがって、グラフ化と履歴の利点も得られます) 。

それでは、Zenossに(イベントではなく)データフィードをプログラムで提供することは可能ですか?それとも、これについて別の方法がありますか?

3
Andy S

最もクリーンなソリューションであるIMHOは、アプリにSNMP経由で情報を提供させることです。

次に、Zenossを含むがこれに限定されない、SNMPを話す任意のソフトウェアを使用して監視できます。

これを実現するにはさまざまな方法があります。

私はいくつかのカスタムアプリのために自分でそれをしました:

アプリは、すでにNet-SNMPデーモンを実行しているLinuxサーバーで実行されていました。そこで、Net-SNMP用のプラグイン(小さなPerlスクリプト)を作成しました。このプラグインは、アプリから値を照会して、Net-SNMPに報告しました。

Net-SNMPのexecメカニズムを使用して実行しました( http://net-snmp.sourceforge.net/docs/man/snmpd.conf.html#lbAZ )。基本的にあなたはただ置く

exec  [MIBOID] NAME PROG ARGS

snmpd.confに。次に、Net-SNMPがスクリプトを呼び出し、その結果をSNMP経由で報告します。スクリプトは、結果をstdoutに出力する必要があります(複数の値を報告する場合は1行に1つ)。それ以外の場合は、特定のことを行う必要はありません。 注:execの使用は廃止され、extendが優先されますが、原則は同じです。

他にも強力な拡張メカニズムがあります(Perlでプラグインを記述したり、Cで動的モジュールを記述したりできます...)が、ここから始めることをお勧めします。

他のSNMPデーモンにも同様の拡張メカニズムがあります。これは、アプリが実行されているサーバーで現在使用しているものによって異なります。

また、 AgentX と呼ばれる特別なプロトコルがあり、アプリが「サブエージェント」として機能できるようにします(つまり、システム上のメインSNMPデーモンにデータを報告します)。アプリにサブエージェントを実装することもできます。

つまり、SNMPを介してデータレポートを作成する方法はたくさんあります。最も単純なソリューションを選択し、必要に応じて拡張するだけです。いずれにせよ、そうすれば、アドホックな電子メールの代わりに、拡張可能な標準ベースのソリューションを手に入れることができます。

編集:

MS Windowsでこれを行うには:

1つの可能性(他にもあるかもしれませんが、わかりません)は、WindowsにNet-SNMPをインストールすることです(Windowsバージョンがあります)。実際には2つのオプションがあります。

  1. Windows SNMPサービスを実行し続け、Net-SNMPを一緒にインストールします
  2. Windows SNMPサービスを無効にし、代わりにNet-SNMPを実行します

オプション1では、Windows SNMPサービスに非標準のポートを使用させ、Net-SNMPエージェントにプロキシ要求を送信させる必要があります。オプション2では、Net-SNMPエージェントは、Windowsエージェントが実行された場合に使用するDLLを直接ロードします。したがって、どちらの場合も、Windowsエージェントが提供するMS固有の情報を取得する必要があります。どちらのアプローチにもいくつかの欠点があります。詳細については、 README.win32 を参照してください。

Net-SNMPを実行すると、Linuxの場合と同様に、そのすべての拡張機能を使用できます(上記を参照)。

Windows SNMPエージェントを直接(Net-SNMPを使用せずに)拡張することもできますが、それについてはよくわかりません。 「WindowsSNMPAPI」がありますが、これは明らかに1つの方法です: http://msdn.Microsoft.com/en-us/library/aa379207%28v=vs.85%29.aspx

5
sleske

Zenossとの「プロセス監視」のさまざまなオプションについて議論しているあなたの背中のカップルの論文を書きました--- http://community.zenoss.org/docs/DOC-3537

それ以来、組み込みのZenossプロセス監視が少し風変わりで信頼性が高いことを除いて、ほとんど変更されていません。 net-snmpデーモン(ちなみにWindowsでも利用可能)の使用を含むさまざまな方法について説明します。また、sshを使用したスクリプトの実行についても説明します。どちらの方法でも、しきい値に関するアラートに加えて、収集されたデータをグラフ化できます。

乾杯、ジェーン

0
Jane Curry