Nginxを追加システムログに記録バージョン 1.7.1 の機能です。
ppa:nginx/stable
からバージョン1.6.2を入手するか、デフォルトのUbuntuパッケージソースからバージョン1.4.6のみを取得できます。
数十のサーバーからデータを収集するユニバーサルロギング(rsyslog)サーバーがあります。 rsyslogは、プライマリログマシンにログを伝播するか、プライマリログマシンがシャットダウンした場合にフェールオーバーを実行するように各マシンに設定されます。
Nginxログをローカルsyslogにインポートし、rsyslogを介してリモートサーバーに送信するオプションは何ですか?
注:Nginxロギングに直接関連する回答を歓迎しますが、次に適用される一般的な回答も探しています。どのアプリケーション(したがって不足nginxこの質問のラベル)。その理由は、まだすべてのアプリを移行しておらず、syslog
他のアプリでも同様の問題が発生すると予想しているからです。
許可された回答に関する重要な注意:
inotify
時間があるとき2012年4月12日rsyslog 5.9.6ベータ版以降、そうでない場合のみサポート2014年1月24日現在、rsyslog 8.1.5。ppa:adiscon/v8-stable
この記事を書いた時点の最新のUbuntuディストリビューション(14.04 LTS)はrsyslog 7.4.4を使用しているため、Ubuntuで使用する必要があります。inotify
モードはmodule()
次の代わりに指定されますinput()
。module(load="imfile" mode="inotify")
の場合、
inotify
指定するPollingInterval
必要はありません。誤って設定すると、
rsyslog
何も記録されません/var/log/syslog
。問題が何であるかを確認するには、このコマンドがrsyslogd -N1
非常に役立つようです。明らかに、これは実行中であることps -A | grep rsyslog
を確認するのにも役立ちます。rsyslog
rsyslog
現在のバージョンは を実行して取得できますrsyslogd -version
。ReadMode
存在するinput()
0に設定する必要があります。と
module()
構成input()
「rsyslog.confファイルの先頭に配置する必要があります。」。私はNginxを嫌うようです
rsyslog
。/var/log/nginx/
または、設定されている所有者、グループ、または権限に関係なく、/var/log/nginx/access.log
ファイルの変更はエラーなしで無視されます。ディレクトリに作成された他のファイルでも同様です/var/log/nginx/
。/home/demo/
別のディレクトリ(または)にファイルを作成すると、変更は期待/var/log/
どおりに反映されます。syslog
ベストアンサー1
ローカルシステムでrsyslogを実行しており、ログをリモートログサーバーに転送しているとします。
rsyslogのドキュメントによると、必要な操作を正確に実行するように入力モジュールを定義できるようです。詳細はこちらで確認しました。
http://www.rsyslog.com/doc/master/configuration/modules/imfile.html
もいくつかの素晴らしい例を提供します。