Logstash가 액세스해야하는 파일을 읽을 수 없습니다


10

명령을 사용하여 사용자 logstash를 그룹에 추가했습니다 .adm$ usermod -a -G adm logstash

logstash 에이전트가 읽으려고하는 파일 중 하나는 /var/log/nginx/foo-access.log다음 권한을 가진 파일입니다 .

-rw-r----- 1 www-data adm 0 Jul 25 07:52 /var/log/nginx/foo-access.log

내가하면 sudo su logstash내가 파일을 읽을 수 있지만, 때 $ sudo service logstash_agent restart(이는 같은 초기화 스크립트 실행 logstash사용자)가 함께 logstash 로그를 채우는 :

{:timestamp=>"2013-07-31T17:05:17.287000+0000", :message=>"failed to open /var/log/nginx/foo-access.log: Permission denied - /var/log/nginx/foo-access.log", :level=>:warn}

logstash 사용자가 adm 그룹에 있는지 확인할 수 있습니다.

$ groups logstash
logstash : logstash adm

이 파일에는 올바른 파일 액세스 권한이 있습니다.

$ getfacl /var/log/nginx/foo-access.log
getfacl: Removing leading '/' from absolute path names
# file: var/log/nginx/foo-access.log
# owner: www-data
# group: adm
user::rw-
group::r--
other::---

나는 그것을 껐다 켜려고 노력했다.


파일에 올바른 그룹 쓰기 권한이없는 것 같습니다. Chmod 수정
Nithin Meppurathu

파일을 읽고 싶다고 말한 것처럼 파일에 쓰고 싶지 않습니다.
Phil Sturgeon

부모 디렉토리 권한도 확인 /var/log/nginx
했다고

getfacl /var/log/nginx/kapture-api3-access.log
Nithin Meppurathu

해당 명령의 출력을 질문에 추가했습니다. 나는 내가 기대했던 결과로 전에 그것을 실행했지만 처음에는 귀찮게하지 않았다.
Phil Sturgeon

답변:


5

upstart 에서이 버그와 관련이있는 것으로 나타났습니다.

https://bugs.launchpad.net/upstart/+bug/812870

adm보조 그룹 이기 때문에 프로세스에 적용되지 않았으며 f ** k로 분리되어 이후 버전에서 수정되었습니다.

내 해결책은 setguid adminit 파일 에 추가 하는 것이 었습니다 .


5

해결 방법은 다음과 같습니다.

sudo vi /etc/init.d/logstash

수정하다

    LS_GROUP=logstash

으로

    LS_GROUP=adm

그때

sudo /etc/init.d/logstash start

1
또한 "LS_GROUP = adm"을 / etc / defaults / logstash에 추가하여 작동합니다. 이에 대한 좋은 부분은 꼭두각시를 사용하여 관리하기가 쉽다는 것입니다.
thinice
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.