2

着信 SNMP トラップを収集している Ubuntu サーバーがあります。現在、これらのトラップは PHP スクリプトを使用して処理およびログに記録されています。

ファイル/etc/snmp/snmptrapd.conf

traphandle default /home/svr/00-VHOSTS/nagios/scripts/snmpTrap.php

このスクリプトは非常に長く、多くのデータベース操作が含まれています。通常、サーバーは 1 日に数千のトラップを受信するため、このスクリプトは CPU 時間を使いすぎています。私の理解では、これは、トラップを受信するたびに php スクリプトの起動コストが高いためです。

これを書き直すように依頼され、このスクリプトをデーモンとして実行することを考えていました。Ubuntu デーモンを作成できます。snmptrapd.conf私の質問は、ファイルを使用してこのデーモンにトラップハンドラーを渡すにはどうすればよいですか?

前もって感謝します。

4

2 に答える 2

1

おそらく、php-fpm / php-fcgi を使用して、PHP スクリプトの起動コストを最小限に抑えることができます。

ただし、snmptrapd から fcgi プロトコルにリクエストを転送するには、おそらくいくつかのラッパー シェル スクリプトを作成する必要があります。

しかし、最初は PHP スクリプトを確認することをお勧めします。PHP の起動コストはそれほど高くないため、1 分あたりのリクエスト数が少ないため、CPU 使用率が著しく上昇するはずです。

于 2015-05-10T13:19:58.830 に答える