web-dev-qa-db-ja.com

varnishlogを取得して、503エラーのみをファイルに記録します

私はすべてを試しました:

service varnishlog start-すべてをログに記録します

varnishlog -D -c -m TxStatus:503 > /var/log/varnish/varnish.log-何もしていないようです

varnishlog -c -m TxStatus:503 > /var/log/varnish/varnish.log-SSH接続を閉じるまでログを記録する

私は選択肢がありません、何か助けはありますか?

注:varnishncsaはオプションではありません。どのエラーが原因で503が発生するかがわからないためです。Apache2をバックエンドとしてVarnish 3.x(最新)およびCentOS 5.8を実行しています。

5
Eduard Luca

Varnishlog -c -m TxStatus:503> /var/log/varnish/varnish.logが正しく理解できれば、ニーズは満たされますが、sshを閉じると停止するという欠点があります。

問題をデバッグするために数か月間など、一時的に503エラーをログに記録する必要がある場合は、Nohupまたは画面を確認できます。

503エラーを永続的にログに記録する必要がある場合は、varnishlog initスクリプト(/etc/init.d/varnishlog)を参照してください。

3
user130370

ワニス4の同じ問題の解決策を探して欲求不満でここに着陸した人は、以下を参照してください。

varnishlog -a -w /var/log/varnish/varnish50x.log -q "RespStatus >= 500 or BerespStatus >= 500"

Varnish 4はvarnishlogの-mオプションを廃止し、代わりに、新しいオプション-qで利用可能なVSLと呼ばれる新しいフィルタークエリ言語を思い付きました。上記のコマンドでは、-aはファイルを上書きする代わりにappendonlyオプションを提供し、-wは出力をファイルに書き込むことができ、-qはVSLクエリ用です。上記のコマンドは、ワニス応答またはバックエンド応答ステータスが500以上のエントリをログに記録します(恐ろしい503エラーを含む)。

10
s1d