varnishncsaでApache形式のアクセスログをsyslogで飛ばしてみる

アクセス解析とかで、プロキシのログも飛ばしといてねってありますよね??
各種ログ集めて、アクセス解析とかちょっと。。。って感じだったので、とりあえず、syslog(rsyslog)で飛ばして、
一元管理できるようにしてみました。後ほど考えられる問題は、後にしといて、以下の感じで、出力してます。

使用のvarnish は「varnishd (varnish-3.0.2 revision 55e70a4)」です。

/usr/bin/varnishncsa -a -P /var/run/varnishncsa.pid -F '%h %l %u %t %r %s %b %{Referer}i %{User-Agent}i' | /usr/bin/logger -p local1.info -t tag &

本来は、 -D オプションつけたいんですが、-Dオプション付けると、loggerでsyslogに出力されないので、あとは、&でバックグラウンド実行するという。。。いけていない。。。

なんかdaemontools使うと負けだと思ってしまいましたwww

initスクリプトは以下( /etc/init.d/varnishncsa )

#! /bin/sh
#
# varnishncsa Control the Varnish NCSA logging daemon
#
# chkconfig: - 90 10
# description: Varnish Cache logging daemon
# processname: varnishncsa
# config:
# pidfile: /var/run/varnishncsa.pid

### BEGIN INIT INFO
# Provides: varnishncsa
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start:
# Default-Stop:
# Short-Description: start and stop varnishncsa
# Description: Varnish Cache NCSA logging daemon
### END INIT INFO

# Source function library.
. /etc/init.d/functions

retval=0
pidfile="/var/run/varnishncsa.pid"
lockfile="/var/lock/subsys/varnishncsa"
logfile="/var/log/varnish/varnishncsa.log"

exec="/usr/bin/varnishncsa"
prog="varnishncsa"

# -D option is no out syslog ... orz
#DAEMON_OPTS="-a -w $logfile -D -P $pidfile"
DAEMON_OPTS="-a -P $pidfile -F '%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"' | /usr/bin/logger -p local1.info -t tag"

# Include varnishncsa defaults
[ -e /etc/sysconfig/varnishncsa ] && . /etc/sysconfig/varnishncsa

start() {

        if [ ! -x $exec ]
        then
                echo $exec not found
                exit 5
        fi

        echo -n "Starting varnish ncsa logging daemon: "
        # -D option remove ... so & add( background job )
        daemon --pidfile $pidfile $exec "$DAEMON_OPTS" &
        echo
        return $retval
}

stop() {
        echo -n "Stopping varnish ncsa logging daemon: "
        killproc -p $pidfile $prog
        retval=$?
        echo
        [ $retval -eq 0 ] && rm -f $lockfile
        return $retval
}

restart() {
        stop
        start
}

reload() {
        restart
}

force_reload() {
        restart
}

rh_status() {
        status -p $pidfile $prog
}

rh_status_q() {
        rh_status >/dev/null 2>&1
}

# See how we were called.
case "$1" in
        start)
                rh_status_q && exit 0
                $1
                ;;
        stop)
                rh_status_q || exit 0
                $1
                ;;
        restart)
                $1
                ;;
        reload)
                rh_status_q || exit 7
                $1
                ;;
        force-reload)
                force_reload
                ;;
        status)
                rh_status
                ;;
        condrestart|try-restart)
                rh_status_q || exit 0
                restart
                ;;
        *)
        echo "Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"

        exit 2
esac

exit $?

なんかこうしたらいいよ!!っていうのあったらアドバイス下さいというか、多段のプロキシのアクセスログとか皆さんどーしてるんでしょうか??