【復活求む!】惜しくも解散してしまったバンド|J-ROCK編 >>

rsyslog出力テンプレートを勉強しております。

公式ページで「sp-if-no-1st-sp」プロパティを見てみた所、
「This option looks scary and should probably not be used by a user」
という一文が見つかりました。

「見た目が恐ろしいオプションという意味が分からないのです。」
and以降の「ユーザーが使用すべきものではない。」

という一文で、「使ってはいけないオプションなのかな。」
位の認識しかできておりません。

「sp-if-no-1st-sp」プロパティは使用してはいけないオプションなのでしょうか?
ご教授よろしくお願いします。

参考公式ページ:http://www.rsyslog.com/doc/property_replacer.html

このQ&Aに関連する最新のQ&A

A 回答 (1件)

当該英文の意味は、「このオプションの挙動はとても変わってるからたぶん普通の人は使う必要がない」くらいの意味です。

セキュリティなどの理由から本当に使用してはいけない場合は、はっきりとdo not useとか、deprecatedなどと書かれると思います。

参考ページを見てみましたが、このオプションは、フィールドの最初の文字がスペースじゃないときにのみ、スペースを返す、という動きをするようです。説明に書いてある通り、スペースが無いとログテキストを解析できない場合(たぶんawkとかで云々したいときのことでしょう)に困るので、常にスペースを入れるために使うようですね。

説明文の最後に、

If you read this text and have no idea of what it is talking about - relax: this is a good indication you will never need this option. Simply forget about it ;)

とありますから、よく分からなければ使わなくても良さそうです。ここにも書いてあるように、「使ってはいけない」のではなくて、「多くの人にとって不用な」オプションということだと思います。
    • good
    • 0
この回答へのお礼

情報ありがとうございます。
そういうことだったのですね。すっきりしました。

ありがとうございました。

お礼日時:2013/01/05 09:28

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qrsyslogでログが遠隔で取得できない。

初めまして。

ご教示ください。

はじめての試みで、rsyslogを使い、logの一元管理を行おうとしております。

ネットで調べ、教本で勉強しながら設定して動かしてみたものの
思ったように動作してくれません。

■環境
・サーバA(rsyslogサーバです)

ディストリビューション:Centos6.5 32bit
rsyslogバージョン:rsyslog-5.8.10-6.el6.i686
rsyslogの保存先:/var/log/sv
ログファイル名:local0.log

・サーバB
rsyslogクライアント(クライアントサーバです)
ディストリビューション:Centos6.5 32bit
rsyslogバージョン:rsyslog-5.8.10-8.el6.i68
rsyslogの送信先:rsyslogサーバ(=サーバA)

・その他
環境はワークグループで、xx.local.domainです。
IPアドレスは、x.x.x.x/24の世界になります。

■目的
サーバBから、514/tcpを使い、ファシリティlocal0、
プライオリティがinfoのログを、サーバAに収集したい。

また、local設定したログが、messagesに紛れない様にしたい。

■設定情報(サーバA)
rsyslog設定ファイル(/etc/rsyslog.conf)

※設定箇所だけ抜粋

#### MODULES ####
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

$AllowedSender TCP, 127.0.0.1, x.x.xx.0/24, *.local.domain

#### RULES ####

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none;local0 -/var/log/messages

#### MODULES ####
# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514

$AllowedSender TCP, 127.0.0.1, x.x.x.0/24, *.local.domain

local1.info -/var/log/sv/local0.log

⇒サービスを再起動したところ、
/var/log/sv の下にlocal0.logが作成されました。
再起動は特にエラーはありませんでした。

#service rsyslog restart
システムロガーを停止中: [ OK ]
システムロガーを起動中: [ OK ]


■設定(サーバB)
rsyslog設定ファイル(/etc/rsyslog.conf)

※設定箇所だけ抜粋

# ### begin forwarding rule ###
# The statement between the begin ... end define a SINGLE forwarding
# rule. They belong together, do NOT split them. If you create multiple
# forwarding rules, duplicate the whole block!
# Remote Logging (we use TCP for reliable delivery)
#
# An on-disk queue is created for this action. If the remote host is
# down, messages are spooled to disk and sent when it is up again.
$WorkDirectory /var/lib/rsyslog # where to place spool files
$ActionQueueFileName fwdRule1 # unique name prefix for spool files
$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)
$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
$ActionQueueType LinkedList # run asynchronously
$ActionResumeRetryCount -1 # infinite retries if host is down

local0.info @@x.x.x.x:514

上記以外の設定はデフォルトのままにしております。

⇒rsyslogを再起動しましたところ、エラーなく再起動されました。

#service rsyslog restart
システムロガーを停止中: [ OK ]
システムロガーを起動中: [ OK ]

■動作テスト
サーバAにおいて、tail -f /var/log/local0.logした状態で
サーバBから、logger -i -t ABC hoge でテストしましたが、
サーバAにはlogが送信されてきません。

iptables -Lで514/tcpポートを開けていることは確認しました。
tcpwrapperでも、通信の制限をかけていない事も確認しております。

何か設定が足りないのでしょうか。
もしくは設定に間違いがあるのでしょうか。

プロの皆様のアドバイスをお伺いいたしたく、
どうぞよろしくお願い致します。

初めまして。

ご教示ください。

はじめての試みで、rsyslogを使い、logの一元管理を行おうとしております。

ネットで調べ、教本で勉強しながら設定して動かしてみたものの
思ったように動作してくれません。

■環境
・サーバA(rsyslogサーバです)

ディストリビューション:Centos6.5 32bit
rsyslogバージョン:rsyslog-5.8.10-6.el6.i686
rsyslogの保存先:/var/log/sv
ログファイル名:local0.log

・サーバB
rsyslogクライアント(クライアントサーバです)
ディストリビューション:Centos6.5 32bit
rsyslo...続きを読む

Aベストアンサー

>今は、/var/log/messages に記録しないで、サーバAのlocal0が優先される設定をどのようにしたらよいのか悩んでおります。

どっちの/var/log/messagesなのかは不明ですが…
/etc/rsyslog.confの下記の行の設定ににより/var/log/messagesに書き込まれているのですから、その辺りの調整でしょうね。
*.info;mail.none;authpriv.none;cron.none /var/log/messages
ファシリティのmailとauthprivとcronを除くinfo以上のプライオリティの場合に/var/log/messagesに書き込む。という指定だったはずです。

http://hagio.org/wiki/index.php/Rsyslog
プロパティベースのフィルタでリモーホスト名でもフィルタできそうですが…
細かい設定はやったことないので不明です。
# セレクタでlocal0.noneでいったん禁止。プロパティベースのフィルタでホスト名など判定して、自ホストなら/var/log/messagesへ…とか?

>今は、/var/log/messages に記録しないで、サーバAのlocal0が優先される設定をどのようにしたらよいのか悩んでおります。

どっちの/var/log/messagesなのかは不明ですが…
/etc/rsyslog.confの下記の行の設定ににより/var/log/messagesに書き込まれているのですから、その辺りの調整でしょうね。
*.info;mail.none;authpriv.none;cron.none /var/log/messages
ファシリティのmailとauthprivとcronを除くinfo以上のプライオリティの場合に/var/log/messagesに書き込む。という指定だったはずです...続きを読む


人気Q&Aランキング