Rsyslog中央ログホスト

Rsyslog中央ログホスト

syslog-ng 中央ログホストから rsyslog に移行中です。最近CentOSリポジトリでsyslog-ngを見つけることもできません。ホスト名と施設ごとにログをフィルタリングしたいです。

syslog-ngでこれを行う方法は次のとおりです。

destination std { 
    file("/var/log/HOSTS/$HOST/$YEAR/$MONTH/$DAY/$FACILITY_$HOST_$YEAR_$MONTH_$DAY" 
        owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes)
    ); 
};

rsyslogを使ってこれを行う簡単な方法はありますか?

ベストアンサー1

これは、以下のようにテンプレートを介して行われます。

$template HostDynFile,"/var/log/HOSTS/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/%syslogfacility-text%_%HOSTNAME%_%$YEAR%_%$MONTH%_%$DAY%"

その後、出力セレクタ行を定義するときにこのテンプレートを使用できます。たとえば、次のようになります。

*.* -?HostDynFile

詳しくはこちらをご覧ください。rsyslog を使用した CentOS と RHEL 5 での中央ログホストの構築

おすすめ記事