■ Syslogサーバ (転送する側) の設定 2010/03/05 更新
設定手順
  1. hostsファイルの編集
    # vi /etc/hosts
    緑:デフォルト、オレンジ:変更箇所
     
    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1    localhost.localdomain localhost
    192.168.10.20  loghost
     
  2. 転送先サーバの設定
    # vi /etc/syslog.conf
    緑:デフォルト、オレンジ:変更箇所
     
      :
      :
    # Transfer all messages to Syslog-Server ※1
    *.*              @loghost (Linuxの場合)
    *.info           @loghost (Solarisの場合)
    ※1 ファシリティ.プライオリティ の書式で指定する。 "@" が重要でログサーバに転送するという意味がある。
    Linux "*.*" で全ファシリティ、全プライオリティを転送する。
    Solaris プライオリティに "*" が使えないので、"*.debug" で全ファシリティ、デバッグ以上のプライオリティ (即ち全プライオリティ) を転送することになる。
    プライオリティ "debug" はを指定しても、実際にデバッグレベルのログが入るかは、個々のサービスがデバッグログを出力するように設定されているかによる。
     
  3. 設定の反映
    # kill -HUP `cat /var/run/syslogd.pid`(Linuxの場合)
    # kill -HUP `cat /etc/syslog.pid`   (Solarisの場合)
    syslog サービスの再起動でもOK。
     
  4. ログの転送テスト
    # logger -p auth.info "Test message from Server"
    シスログサーバにメッセージが届いていることを確認する。
 


 ■ ログローテーションの設定 2010/10/05 更新
設定手順
  1. 各デーモンでログ出力を設定する。 例:dovecot のログ出力先を /var/log/mail ⇒ /var/log/dovecot に変える。
    # vi /etc/dovecot.conf
    緑:デフォルト、オレンジ:変更箇所
     
    #log_path =
    log_path = /var/log/dovecot
    # service dovecot restart
    /var/log/dovecot が作成されログが出力されることを確認します。
     
  2. ログローテションの対象に追加 (messagesと同じローテーションで良い場合)
    # vi /etc/syslog.conf
    緑:デフォルト、オレンジ:変更箇所
     
    /var/log/messages /var/log/secure /var/log/dice.log /var/log/dovecot /var/log/maillog (1行で記載)
    /var/log/spooler /var/log/boot.log /var/log/cron {
        sharedscripts
        postrotate
            /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
            /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
        endscript
    }
    # service syslog restart
     
  3. 確認のため、強制的にローテーションを行ってみる。
    # logrotate -f /etc/logrotate.conf
     
  4. ログファイルが切り替わっているかを確認する。