Logstashはアクセスも必要なファイルを読み取ることができません


10

コマンドを使用してユーザーlogstashをグループに追加しました。adm$ usermod -a -G adm logstash

logstashエージェントが読み取ろうとしているファイルの1つ/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(initスクリプトが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 2013

読み取りたいと言ったように、ファイルに書き込みたくない。
Phil Sturgeon

親ディレクトリの権限(/var/log/nginx)も確認したと思います
dawud

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

そのコマンドの出力を質問に追加しました。以前は期待した結果で実行し​​たので、最初は気にしませんでした。
Phil Sturgeon

回答:


5

upstartのこのバグに関連していることが判明しました:

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

admセカンダリグループだったので、プロセスに適用されていませんでした。これは、f ** kとして壊れ、今後のバージョンで修正されるようです。

私の解決策はsetguid adm、initファイルに追加することでした。


5

回避策は次のとおりです。

sudo vi /etc/init.d/logstash

修正

    LS_GROUP=logstash

沿って

    LS_GROUP=adm

その後

sudo /etc/init.d/logstash start

1
/ etc / defaults / logstashに "LS_GROUP = adm"を追加することでも機能します。これの良い点は、puppetを使用して管理するのが簡単になることです。
Thinice
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.