【syslog-ng】他サーバなどからのログが受信できない。ディレクトリが作成されない時の対処方法

syslog-ngでシスログサーバを構築したのに、いざ他のサーバなどからログを転送しても正常に受信できない、ディレクトリやファイルが作成されないといったときの確認ポイントです。 とりあえず自分が「これが原因だった」というのを載せてます。

syslog-ngの設定ファイル syslog-ng.conf の中を確認してみてください。

共通設定の確認

ディレクトリが作成されないような場合は共通設定の中から特に create_dirs をONにしておくことが必要です。 自分の場合は hosts に記載された内容を元にディレクトリ名を自動作成するのを踏まえ、下記オプションとしました。

options {
        flush_lines (0);
        time_reopen (10);
        log_fifo_size (1000);
        long_hostnames (off);
        use_dns (yes);   ← 要確認
        use_fqdn (no);
        create_dirs (yes);   ← 要確認
        keep_hostname (yes);
        stats_freq(0);
};

filter の確認

受信可能なホストを filter で制限している場合が多いので、そちらに抜けていないかを確認してみてください。

filter f_authlog_fw {
       host(testsv1)
    or host(testsv2)
    or host(testta1)
    or host(testta2);
};

まとめ

恐らくはこの二点について確認してみれば無事にログファイルが作成されるようになるかと思います。

コメントを残す

メールアドレスが公開されることはありません。