Apache-2.2

在 ErrorLog 中執行命令並並行記錄到文件

  • August 28, 2014

我嘗試使用apache2gelf將我的 error.log 資訊發送到 graylog2 伺服器。

要使用該工具,我必須將 ErrorLog 設置更改為:

ErrorLog "|| /path/to/errorlog2gelf.py --vhost example.com"

errorlog2gelf.py 本身除了將輸入發送到 graylog2 伺服器之外,還會再次輸出錯誤消息,因此可以將其另外儲存到本地文件中。

不幸的是,我不知道如何做到這一點。我已經嘗試使用以下設置將管道導入文件:

ErrorLog "|| /path/to/errorlog2gelf.py --vhost example.com >/var/log/httpd/error_log"

但這只會從 errorlog2gelf 引發錯誤,因為該程序試圖將其解釋為參數,這顯然是一個無效的選項。

那麼如何使用 errorlog2gelf 並並行寫入本地 error.log 文件呢?

我只看到 2 個解決方案:

  1. 使該腳本直接寫入文件。
  2. 記錄到 syslog 並將日誌從 syslog 傳送到 errorlog2gelf(並且只向它發送原始消息)。Syslog 更加靈活,並且允許您寫入文件。

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