ishizaki
(Satoru Ishizaki)
December 2, 2015, 2:43am
1
こんにちは
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 への重複登録が発生してしまいますので、
ファイル指定にした方が良いのではないかと感じました。
よろしくお願い致します。
suzuki
(Norio Suzuki)
December 2, 2015, 3:25am
2
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/
にバックアップファイルを置く」というやり方を変えてしまったほうが、今後のサーバ運用を考えると良い方法ではないかと思います。
johtani
(Jun Ohtani)
December 2, 2015, 4:08am
3
設定ファイルを分けるメリットは、管理をしやすくするためだと。
例えば、アクセスログの処理用、アプリケーションのログの処理用と言った具合に
分けておくことで、別のサーバに移動させたり、処理を増やすことが簡単になるかと思います。
ishizaki
(Satoru Ishizaki)
December 2, 2015, 4:25am
4
Suzuki様、 Ohtani様、ご回答有難うございます。
パッケージ管理、設定管理それぞれメリットがあるのですね。
なるほど、スッキリしました。
有難うございました。