Logstash, не читая журналы, если не читаемый миром

Я недавно создал Logstash с Kibana и Elasticsearch, но имею проблему, посредством чего это не читает журналы, если полномочия каталога не являются миром, читал/выполнял (и файлы, по крайней мере, мировое чтение).

У меня есть установленная версия 1.4.2 от об/мин, который работает как logstash пользователь. Я удостоверился, что logstash пользователь является членом групп, касающихся журналов, которые это должно считать, например, "апач".

[root@rhel-00081 conf]# id logstash
uid=497(logstash) gid=497(logstash) groups=48(apache),10081(nexus),27666(spark),497(logstash)

Разрешение по умолчанию на/var/log/http drwxr-x--- root apache, все же Logstash не обработает журналы, пока я не изменю это на drwxr-xr-x

Какая-либо идея, почему это?

1
задан 30 September 2014 в 14:47
2 ответа

Хорошо, я обнаружил проблему. Сценарий инициализации, поставляемый в RPM, запускает logstash следующим образом:

nice -n ${LS_NICE} chroot --userspec $LS_USER:$LS_GROUP / sh -c "
cd $LS_HOME
ulimit -n ${LS_OPEN_FILES}
exec \"$program\" $args
" > "${LS_LOG_DIR}/$name.stdout" 2> "${LS_LOG_DIR}/$name.err" &

Но при запуске под командой chroot все членство во вторичных группах удаляется, если вы не укажете параметр --groups. Вы можете увидеть это, если запустите:

[root@rhel-00081 ~]# chroot --userspec logstash:logstash / bash -c "id"
uid=497(logstash) gid=497(logstash) groups=497(logstash),0(root)

Следовательно, журналы apache не читаются ...

[root@rhel00081 httpd]# chroot --userspec logstash:logstash / bash -c "cat /var/log/httpd/access_log"
cat: /var/log/httpd/access_log: Permission denied

Строке chroot в сценарии инициализации необходимо предшествовать что-то вроде:

SUPP_GROUPS=$(groups $LS_USER | cut -d " " -f 4- | tr " " ",")
SUPP_GROUP_STR=""
if [ ! -z ${SUPP_GROUPS} ]
then
  SUPP_GROUP_STR="--groups=${SUPP_GROUPS}"
fi

, а затем изменить начало строки chroot :

nice -n ${LS_NICE} chroot ${SUPP_GROUP_STR} --userspec=$LS_USER:$LS_GROUP / sh -c "
... etc ...
2
ответ дан 3 December 2019 в 21:12

Это известная проблема в сценарии инициализации logstash 1.4.2. https://github.com/elastic/logstash/pull/1398

0
ответ дан 3 December 2019 в 21:12

Теги

Похожие вопросы