似乎通过graylog收集器收集nginx,apache和系统日志的唯一方法是以root身份运行它。
最佳做法认为以root身份运行服务通常是不明智的。
除了以root身份运行服务之外,还有办法收集所述日志,还是一般的方法?
答案 0 :(得分:0)
我知道这个帖子差不多20天了,但仍然是:
我使用带有以下内容的init脚本作为自定义用户运行graylog-collector:
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构建的软件包。
希望这有帮助。
答案 1 :(得分:0)
在Centos6中,我想通过Graylog跟踪的许多项目是root:root所拥有的权限600。因此,如果没有更改所有服务器上所有/ var / log文件的所有权/权限,那么graylog-collector无法以以root身份运行来访问这些文件。
我是graylog的新手,但是收集graylog-collector只是发送信息(不是在任何端口上侦听)。这样可以降低风险。以root身份运行tomcat,apache或其他一些监听守护程序具有更高的风险。