Sun Java System Messaging Server 6.3 管理ガイド

19.2 動作原理

MeterMaid の設定は msg.conf 内に格納され、configutil によって保守されます。

MeterMaid は、check_metermaid.so を使用したマッピングテーブルのコールアウトを介して MTA からアクセスされます。MeterMaid は、任意の *_ACCESS テーブルから呼び出すことができます。PORT_ACCESS テーブルから呼び出した場合は、接続の IP アドレスに基づいた制限をチェックできます。これが、MeterMaid を以前の conn_throttle.so の代替として実装するためのもっとも一般的な方法です。その他の *_ACCESS テーブルから呼び出した場合は、MeterMaid を使用して、IP アドレスだけでなくエンベロープ From またはエンベロープ To アドレスなどのほかのデータに対する制限を確立することもできます。

check_metermaid.so 内のエントリポイントは 1 つだけ定義されます。throttle ルーチンは MeterMaid に接続して、コンマで区切られたそれ以降の 2 つの引数を提供します。最初の引数はデータをチェックするテーブルの名前であり、2 番目はチェック対象のデータです。

プローブからの結果により、チェック対象の特定のデータがそのテーブル内の制限容量を超えていることが示された場合、このエントリがマッピングエンジンによって引き続き処理されるように、check_metermaid.so は「success」を返します。それによって、エントリの残りの部分が、制限容量を超えたこの接続を処理するために使用されます。


    PORT_ACCESS

        *|*|*|*|* $C$|INTERNAL_IP;$3|$Y$E
        *|*|*|*|* $C$:A$[/opt/SUNWmsgsr/lib/check_metermaid.so,throttle,tablename,$3]$N421$ Connection$ \
        declined$ at$ this$ time$E
        * $YEXTERNAL

マッピングテーブルエントリ内の、check_metermaid.so への呼び出しの前にある $:A フラグテストに注意してください。このテストは、自身のプローブに対して A フラグを設定するディスパッチャーによって PORT_ACCESS がチェックされている場合にのみ MeterMaid プローブを実行するためのものです。