web-dev-qa-db-ja.com

rsyslogを使用して任意のファイルをgraylog2に転送する方法

収集してロギングサーバーに転送したいランダムファイルがいくつかあります。これらは実際にはGELFをサポートしていないアプリケーションなので、これらのファイルをrsyslogで転送しようとしています。

# Apache access log
input(type="imfile" File="/var/log/misc/blah.log"
Tag="Apache Access Log"
StateFile="statefile1")


*.* @@log.ospreyreach.com:12514

いくつかの問題/質問:

  1. これにより、すべてのsyslogファイルが転送されます。転送する特定のファイルのみを指定するにはどうすればよいですか?
  2. これは、私が定義したファイルからデータを収集していないようです。グレイログサーバーに通常のsyslogメッセージが表示されますが、そのファイルは表示されません。
2
Goro

このLEGACYrsyslog形式のバージョンを試してください。

# Forward Apache logs to graylog2 server
$ModLoad imfile # needs to be done just once

$InputFileName /var/log/httpd/access.log
$InputFileTag ApacheAccessLog:
$InputFileStateFile access.log.statefile
$InputFileFacility local4
$InputFileSeverity info
$InputRunFileMonitor

$InputFileName /var/log/httpd/error.log
$InputFileTag ApacheErrorLog:
$InputFileStateFile error.log.statefile
$InputFileFacility local4
$InputFileSeverity error
$InputRunFileMonitor

local4.*                        @@log.ospreyreach.com:12514

他のログファイルに対しても同様のエントリを実行できます。

その後、12514/TCP入力用にgraylog2サーバーにいくつかのエクストラクターを作成します。これにより、グラフなどの細かいオプションがいくつか提供されます。

1
John