私はsyslogを使ってPHPベースのサイトからのメッセージを記録したいと思います。私の質問は - カスタム施設名を追加できますか?次のような事前定義された施設があることを知っています。
auth, authpriv, cron, dæmon, kern, lpr, mail, mark, news, syslog, user, UUCP and local0 through local7.
私が知っている限り、これを達成するためにlocal0 - local6機能を使用できます。
しかし、私はsyslogに次のような内容を追加できたらと思いました。
mySiteName.* /var/log/mySiteName.log
他の人にとっては、視覚的に理解する方が簡単です。残念ながら、上記の結果は次のとおりです。
rsyslogd-3000: unknown facility name "mySiteName"
それでは、カスタム施設名を使用する方法はありますか?
答え1
これシステムログインターフェイスは、その中の定数で定義された固定機能セットのみを受け入れます/usr/include/sys/syslog.h
。カスタマイズされた施設の唯一の規則local0
はlocal7
。
複数のサーバーのログを分離するには、フィルタを使用して各ログメッセージのソースまたはテキストを一致させることができます。 Rsyslogには非常に強力な機能があります。フィルター(読む一致に使用できる属性)。
答え2
この質問に完全に適用可能な例ではありませんが、独自の機能を提供しないデーモンに役立つと予想されます。
:programname, isequal, "uptimed" /var/log/uptimed.log