ホームページ >バックエンド開発 >PHPチュートリアル >logstash を使用して php-fpm の遅いログを収集する

logstash を使用して php-fpm の遅いログを収集する

WBOY
WBOYオリジナル
2016-06-20 12:26:061409ブラウズ

現在、php-fpm サービスは docker にデプロイされており、php-fpm ログと php エラー ログは syslog プロトコルを通じて送信できますが、php-fpm の遅いログは設定できません。 syslog プロトコルの場合、スロー ログは複数行で構成されるため、ファイルに出力することしかできません。

スロー ログを収集するには、logstash や flume などのツールを使用して収集します。この記事では、logstash を使用してスロー ログを収集し、収集したログを後続の処理を容易にするために Kafka に書き込みます。 logstash の入力では、tail -f の原理と同様のファイル読み取り方式が使用されます。複数行のログを 1 行として扱うには、multiline in フィルターを使用して複数行のログをマージします。 logstash の構成は次のとおりです:

input {    file {        path => [“/var/log/php-fpm/fpm-slow.log"]    }}filter {    multiline {        pattern => "^$"        negate => true        what => "previous"    }}output {    stdout{codec => rubydebug}    kafka {        codec => plain {           format => “tag|%{host}%{message}"        }        topic_id => "fpm-slowlog"        bootstrap_servers => “kafka1.hostname:8082,kafka2.hostname:8082"    }}
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。