Pandora 3.0: Documentation ja: Anexo Proxy Tentacle para reenvio de datos

From Pandora FMS Wiki
Revision as of 01:59, 6 July 2011 by Junichi (talk | contribs) (Tentacle でのプロキシの利用)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Pandora FMS ドキュメント一覧に戻る

1 Tentacle でのプロキシの利用

1.1 tentacle 通信でのゲートウェイ・プロキシの利用

時々、エージェントが Pandora FMS サーバと通信できない位置にいても、間のシステムが Pandora FMS サーバと通信できる場合があります。Pandora FMS エージェントから、ファイルを受け取る tentacle サーバを中間のシステムで起動し、Pandora FMS サーバへ再送するように設定できます。これを "tentacle プロキシ" と呼びます。

プロキシマシンでファイルを受け取り(tentacle サーバを利用)、tentacle クライアントを使って最終的な pandora サーバへファイルをコピーする簡単なスクリプトを利用します。これは、とてもシンプルな bash スクリプトで、/var/spool/pandora/data_in の全ファイルを読んで、他のリモートサーバへコピーし、その後削除するという動作をします。送信方法を他の手段に置き換えることもできます(tentacle_client の呼び出し部分を書き換えてください)。このスクリプトは、/var/spool/pandora/data_in にファイルを保存する tentacle サーバと、もんちろん、tentacle_client が必要です。

以下の bash スクリプトを /usr/bin/tentacle_proxy という名前でコピーし、パーミッションを 750 にします(chmod 750 /usr/bin/tentacle_proxy を実行)。tentacle_proxy をデーモンとして起動するには、Pandora FMS SVN リポジトリの /extras にある generic_daemon_launcher スクリプトを利用できます。

#!/bin/bash
 
# (c) 2008-2009 PandoraFMS.org Development Team
# This script is BSD Licensed.
 
# This script is used to copy all received data in /var/spool/pandora/data_in
# (default Pandora FMS incoming directory) to a remote Tentacle server.
 
# Define here your Parameters
 
TIMEOUT=60
SERVER_IP=192.168.50.1
 
# Main code, do not alter
 
while [ 1 ]
do
 
        # Check before if I can connect to remote IP
        CAN_CONNECT=`ping -c 1 -q $SERVER_IP | grep " 0%" | wc -l`
        if [ "$CAN_CONNECT" == 1 ]
        then
 
                for myfile in `find /var/spool/pandora/data_in -type f`
                do
 
                         tentacle_client -q -a $SERVER_IP $myfile
                         rm -Rf $myfile
 
                done
        fi
        sleep $TIMEOUT
 
done

SERVER_IP は、pandora サーバの IP アドレスに置き換えます。このスクリプトでは、プロキシが標準のディレクトリ(/var/spool/pandora/data_in)でファイルを受け取り、標準の tentacle ポート 41121 を利用していると仮定しています。

/var/spool/pandora/data_in のパーミッションが正しく(tentacle サーバは root で実行できません)、tentacle_server, tentacle_client および tentacle_proxy を実行しているユーザがそのディレクトリのファイルを読み書きできることに注意してください。

もし、同じシステムで tentacle_server が動作しており、かつ /var/spool/pandora/data_in にファイルを受信している場合は、このスクリプトは、全てのファイルを それぞれの TIMEOUT 秒で SERVER_IP にエクスポートします。このスクリプトは、異なるサーバへの 2回コピー、それぞれのファイル処理ごとのログ記録、バックアップ作成、それぞれのファイルへの特定モジュールの XML 追加など、多くの拡張が可能です。