Apache-2.2

獲取 varnishlog 僅將 503 錯誤記錄到文件中

  • December 26, 2014

我嘗試了一切:

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。我正在執行 Varnish 3.x(最新)和 CentOS 5.8,Apache 2 作為後端。

如果我理解正確 varnishlog -c -m TxStatus:503 > /var/log/varnish/varnish.log 確實可以滿足您的需求,但是一旦關閉 ssh 就會停止。

如果你需要臨時記錄 503 錯誤,比如幾個月,有時間調試一個問題,那麼你可以看看 nohup 或 screen。

如果您需要永久記錄 503 錯誤,請查看 varnishlog 初始化腳本 (/etc/init.d/varnishlog)。

對於那些在 Varnish 4 中尋找解決相同問題的方法感到沮喪的人,請參見下文:

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

Varnish 4 取消了 varnishlog 中的 -m 選項,而是提出了一種名為 VSL 的新過濾器查詢語言,該語言在新選項 -q 中可用。在上面的命令中,-a 提供 appendonly 選項而不是覆蓋文件,-w 允許將輸出寫入文件,-q 用於 VSL 查詢。上面的命令將記錄清漆響應或後端響應狀態 >=500 的條目(包括可怕的 503 錯誤)。

引用自:https://serverfault.com/questions/413938