0

似乎通过 graylog 收集器收集 nginx、apache 和系统日志的唯一方法是以 root 身份运行它。

最佳实践认为,通常不建议以 root 身份运行服务。

除了以 root 身份运行服务之外,有没有办法收集上述日志,或者这是一般的方法?

4

2 回答 2

0

我知道这个线程已经快 20 天了,但仍然:

我以自定义用户身份运行 graylog-collector,使用具有以下内容的 init 脚本:

do_start () {
        log_daemon_msg "Starting system $NAME Daemon"
        if [ ! -e $PIDDIR ] ; then
                mkdir $PIDDIR
                chown ${DAEMON_USER}:${DAEMON_USER} $PIDDIR
        fi
        start-stop-daemon --background --start \
                --user $DAEMON_USER \
                --chuid $DAEMON_USER \
                --make-pidfile \
                --pidfile $PIDFILE \
                --startas /bin/bash -- -c "exec $DAEMON $DAEMON_OPT >> /var/log/graylog-collector/console.log 2>&1" || return 2
        sleep 2
        log_end_msg $?
}

知道我进行了自定义安装可能会很有趣,因为没有为 debian 6 构建的软件包。

希望这可以帮助。

于 2015-08-26T15:56:18.810 回答
0

在 Centos6 中,我想通过 Graylog 跟踪的许多项目都是 root:root 拥有的权限 600。因此,如果没有更改我所有服务器上所有 /var/log 文件的所有权/权限,graylog-collector 没有一个好方法可以在以 root 身份运行的情况下访问这些文件。

我是 graylog 的新手,但我认为 graylog-collector 只是发送信息(不监听任何端口)。所以这降低了一些风险。以 root 身份运行 tomcat、apache 或其他一些监听守护程序具有更高的风险。

于 2016-04-21T14:28:37.637 回答