# Logstash 起動script のconfigファイル読み込みについて

**URL:** <https://discuss.elastic.co/t/logstash-script-config/36113>\
**Category:** 日本語による質問・議論はこちら\
**Created:** [December 2, 2015, 2:43am UTC](https://discuss.elastic.co/t/logstash-script-config/36113 "2015-12-02T02:43:35Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ishizaki](https://avatars.discourse-cdn.com/v4/letter/i/eb8c5e/32.png) [@ishizaki](https://discuss.elastic.co/u/ishizaki)\
**Post date:** [December 2, 2015, 2:43am UTC](https://discuss.elastic.co/t/logstash-script-config/36113/1 "2015-12-02T02:43:35Z")

</div>

こんにちは

logstash の configファイルの読み込み方について教えてください。

以下の環境で yumから rpmで logstash をインストールして利用させて頂いています。  
CentOS release 6.7 (Final)  
logstash-2.0.0-1.noarch

logstash の起動は -f オプションでconfファイルを指定して起動しますが、  
該当のrpmによりインストールされる /etc/init.d/logstash では、

LS\_CONF\_DIR=/etc/logstash/conf.d  
program=/opt/logstash/bin/logstash  
args="agent -f ${LS\_CONF\_DIR} -l ${LS\_LOG\_FILE} ${LS\_OPTS}"

と指定されており、 /etc/logstash/conf.d 以下のファイル全てを  
configファイルとして読み込んでしまいます。

configファイルを分けて読み込む事にメリットがあるのでしょうか?

configファイルのバックアップ等を同ディレクトリに保存しておくと、起動時に  
そのバックアップファイルも読み込んでしまい、 port の conflict や  
elasticsearch への重複登録が発生してしまいますので、  
ファイル指定にした方が良いのではないかと感じました。

よろしくお願い致します。

---

<div class="post-metadata">

**Author:** ![suzuki](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/suzuki/32/44789_2.png) [@suzuki](https://discuss.elastic.co/u/suzuki)\
**Post date:** [December 2, 2015, 3:25am UTC](https://discuss.elastic.co/t/logstash-script-config/36113/2 "2015-12-02T03:25:51Z")

</div>

> configファイルを分けて読み込む事にメリットがあるのでしょうか?

RPM などのパッケージ管理の観点から言うとメリットがあります。

「A パッケージ」と「B パッケージ」を rpm コマンドでインストールしたときに、次のようにそれぞれのパッケージが自分の設定ファイルを置くようにします。

- A パッケージ用の設定: `conf.d/a.conf`
- B パッケージ用の設定: `conf.d/b.conf`

こうしておくと、例えば「A パッケージを削除する（ `rpm -e A パッケージ` ）」というときに、パッケージ側の処理で `conf.d/a.conf` を削除すれば、他のパッケージへの影響を最小限に抑えることができると思います。

> configファイルのバックアップ等を同ディレクトリに保存しておくと

logstash に限らず、他のアプリケーションでも `conf.d/` 形式を採用している例がありますので、「`conf.d/` にバックアップファイルを置く」というやり方を変えてしまったほうが、今後のサーバ運用を考えると良い方法ではないかと思います。

---

<div class="post-metadata">

**Author:** ![johtani](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/johtani/32/44956_2.png) [@johtani](https://discuss.elastic.co/u/johtani)\
**Post date:** [December 2, 2015, 4:08am UTC](https://discuss.elastic.co/t/logstash-script-config/36113/3 "2015-12-02T04:08:56Z")

</div>

設定ファイルを分けるメリットは、管理をしやすくするためだと。

例えば、アクセスログの処理用、アプリケーションのログの処理用と言った具合に  
分けておくことで、別のサーバに移動させたり、処理を増やすことが簡単になるかと思います。

---

<div class="post-metadata">

**Author:** ![ishizaki](https://avatars.discourse-cdn.com/v4/letter/i/eb8c5e/32.png) [@ishizaki](https://discuss.elastic.co/u/ishizaki)\
**Post date:** [December 2, 2015, 4:25am UTC](https://discuss.elastic.co/t/logstash-script-config/36113/4 "2015-12-02T04:25:19Z")

</div>

Suzuki様、 Ohtani様、ご回答有難うございます。

パッケージ管理、設定管理それぞれメリットがあるのですね。  
なるほど、スッキリしました。

有難うございました。

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 1:50pm UTC](https://discuss.elastic.co/t/logstash-script-config/36113/5 "2017-07-06T13:50:25Z")

</div>


