FreeBSDのportsのelasticsearch5にJNAへのシンボリックリンクの貼り間違いバグがあって、それの修正をお願いしたら同じバグを持っていたelasticsearch6も一緒に修正された。
そして一昨日、待ちに待ったlogstash6のportsも登場した。
そこでこの機会にelasticsearch, logstash, kibanaをそれぞれ5系から6系に変えることにした。この3点は少なくともメジャーバージョンは合わせておいた方がトラブらないという話を聞いていたが、logstash6がなかなか登場しないので5系を使っていた。特にLogstashとKibanaはX-Packの関係で同じバージョンが良さげ。
elasticsearch6とkibana6のインストール
# cd /usr/ports/textproc/elasticsearch6 # make install # cd /usr/ports/sysutils/logstash6 # make install # /usr/ports/textproc/kibana6 # make install/etc/rc.conf (追記3行 ただし5系を入れていたなら変更無し)
1 2 3 4 5 | elasticsearch_enable="YES"
elasticsearch_login_class="root"
logstash_enable="YES"
logstash_log="YES" #インストールから様子見の期間だけ
kibana_enable="YES"
|
elasticsearch6の設定と起動
elasticsearch6の設定と起動は前回と同じで問題なし。
/usr/local/etc/elasticsearch/elasticsearch.yml1 2 3 4 5 6 7 8 | path.data: /var/db/elasticsearch
path.logs: /var/log/elasticsearch
path.scripts: /usr/local/libexec/elasticsearch
network.host: localhost
http.port: 9200
xpack.ml.enabled: false #以下2行X-Packで使わない(使えない)機能を指定
xpack.security.enabled: false
|
X-Packインストールまでにelasticsearchを起動するなら最後の2行はコメントにしておく。
/usr/local/etc/elasticsearch/jvm.options1 2 | -Xms2g
-Xmx2g
|
メモリの割当てだけ変えておく。初期値の1GBはあまりにも小さすぎる。
elasticsearch6にX-Packをインストール
elasticsearch5にはX-Packをインストールするためのports (elasticsearch5-x-pack)が用意されていたのでそれを入れるだけだったが、elasticsearch6のportsにはそのようなportsが用意されていないので手動でインストールすることになる。
で、X-Packプラグインをインストールするためのツールは/usr/local/lib/elasticsearch/binにあるelasticsearch-plugin。
portsで入れると何故か /usr/local/bin/elasticsearch-plugin があるのでそれが使えそうに見えるが、同じディレクトリに elasticsearch-env が無いので使えない。
/usr/local/lib/elasticsearch/bin/elasticsearch-env
を /usr/local/bin/ にコピーするか /usr/local/lib/elasticsearch/bin に移動してからそこの
elasticsearch-plugin を実行する。(たぶんportsの考慮漏れ)
elasticsearch-plugin は同じディレクトリの elasticsearch-env を呼ぶが、それを見ると初期値ではx-packなどの設定置き場が /usr/local/lib/elasticsearch/config になっているみたい。portsバージョンelasticsearch6-6.2.2_6で修正された模様
そこで /usr/local/lib/elasticsearch/config を作成してからX-Packをインストールする。
#mkdir /usr/local/lib/elasticsearch/config#/usr/local/lib/elasticsearch/bin/elasticsearch-plugin install x-pack# cd /usr/local/lib/elasticsearch/bin # wget https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-6.x.x.zip (正しいバージョン指定) # ./elasticsearch-plugin install file:///usr/local/lib/elasticsearch/bin/x-pack-6.x.x.zip -> Downloading x-pack from elastic [=================================================] 100% @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: plugin requires additional permissions @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ * java.io.FilePermission \\.\pipe\* read,write * java.lang.RuntimePermission accessClassInPackage.com.sun.activation.registries * java.lang.RuntimePermission getClassLoader * java.lang.RuntimePermission setContextClassLoader * java.lang.RuntimePermission setFactory * java.net.SocketPermission * connect,accept,resolve * java.security.SecurityPermission createPolicy.JavaPolicy * java.security.SecurityPermission getPolicy * java.security.SecurityPermission putProviderProperty.BC * java.security.SecurityPermission setPolicy * java.util.PropertyPermission * read,write See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html for descriptions of what these permissions allow and the associated risks. Continue with installation? [y/N]y @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: plugin forks a native controller @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ This plugin launches a native controller that is not subject to the Java security manager nor to system call filters. Continue with installation? [y/N]y Elasticsearch keystore is required by plugin [x-pack-security], creating... -> Installed x-pack with: x-pack-core,x-pack-deprecation,x-pack-graph,x-pack-logstash,x-pack-ml,x-pack-monitoring,x-pack-security,x-pack-upgrade,x-pack-watcher
2018年4月12日追記:
Kibanaは以前からプラグインコマンドからプラグイン名指定でX-Packをインストールしようとすると失敗していたが、ElasticSearchでも6.2.3からはプラグイン名指定ではX-Packのインストールが失敗するようになったので先にX-Packのファイルをダウンロードしてファイル名指定でインストールするという方法に変更した。
kibana6の設定
kibana6の設定も以前の記事と基本的に同じ。つまり、やらなければならないことも同じ。
/usr/local/etc/kibana.yml1 2 3 4 5 6 7 | server.port: 5601
#server.host: "localhost"
server.host: "192.168.52.20" #Kibanaの動いているホストの(監視側セグメントの)IPアドレス
elasticsearch.url: "http://localhost:9200"
path.data: /var/db/kibana #←無い筈なので追加 (重要)
xpack.ml.enabled: false
xpack.security.enabled: false
|
X-Packインストールまでにkibanaを起動するなら最後の2行はコメントにしておく。
# mkdir /var/db/kibana
kibana6にX-Packをインストール
kibana5にはX-Packをインストールするためのports (kibana5-x-pack)が用意されていたのでそれを入れるだけだったが、kibana6のportsにはそのようなportsが用意されていないので手動でインストールすることになる。
2018年3月6日現在のportsではMakefileが間違っているのでkibanaの関連ツールがインストールされない。
/usr/ports/textproc/kibana6/work/kibana-6.2.2-linux-x86_64/bin にある以下2つのファイルを/usr/local/www/kibana6/bin にコピーする。(面倒なのでディレクトリごと)。
- kibana-keystore
- kibana-plugin
また、/usr/local/www/kibana6/config/kibana.ymlを必要とするようなのでディレクトリを作成して/usr/local/etc/kibana.ymlにシンボリックリンクを張る。portsバージョンkibana6-6.2.2_2で修正された模様
# cp -pR /usr/ports/textproc/kibana6/work/kibana-6.2.2-linux-x86_64/bin /usr/local/www/kibana6/# mkdir /usr/local/www/kibana6/config # ln -s /usr/local/etc/kibana.yml /usr/local/www/kibana6/config/kibana.yml
なお、インストールした後にmake cleanしていて /usr/ports/textproc/kibana6/work以下が掃除済み(存在しない)の場合は、以下を実行でファイルが出来る。
# cd /usr/ports/textproc/elasticsearch6 # make fetch (ファイル取得済みの筈なので今回は不要) # make extract ←今回はこれだけ # make patch (今回欲しいファイルがパッチ対象ではないので不要) # make configure (今回はビルド無しで良いので不要) # make build (今回はビルド無しで良いので不要)
kibana-pluginを実行してX-Packをインストールする。elastic社のサイトのドキュメントでは bin/kibana-plugin install x-pack を実行するとある。そこで、以下。
# /usr/local/www/kibana6/bin/kibana-plugin install x-pack
DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
Attempting to transfer from x-pack
Attempting to transfer from https://artifacts.elastic.co/downloads/kibana-plugins/x-pack/x-pack-6.2.2.zip
Transferring 269704442 bytes..............
上手く行くようで何故かファイルの転送中に停まってしまうみたいで何時間もこのままに。
中断して以下。
# cd /tmp # wget https://artifacts.elastic.co/downloads/kibana-plugins/x-pack/x-pack-6.2.2.zip # /usr/local/www/kibana6/bin/kibana-plugin install file:///tmp/x-pack-6.2.2.zip Attempting to transfer from file:///tmp/x-pack-6.2.2.zip Transferring 269704442 bytes.................... Transfer complete Retrieving metadata from plugin archive Extracting plugin archive Extraction complete Optimizing and caching browser bundles... Plugin installation complete
# chown -R www:www /usr/local/www/kibana6
好みの問題かも知れないけどkibana6ディレクトリ以下のオーナーを変更。
Logstash6の設定
/usr/local/etc/logstash/logstash.conf1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | input {
#Beats
beats {
port => 5044
}
#Collectd
udp {
port => 25826
buffer_size => 262144
workers => 4
queue_size => 8192
codec => collectd { }
type => "collectd"
}
}
output {
elasticsearch {
hosts => [ "localhost:9200" ]
}
}
|
1 2 | -Xms1g
-Xmx1g
|
上の2つの値は初期値。必要に応じて増やす。データの流量が少なくて簡単なことしかしなければ初期値で十分。
Logstash6にX-Packをインストール
Logstashのファイルは/usr/local/logstash/にある。portsでインストールすると実行用のファイルに実行権限が付いてしないのでそれを付けるところから。
# chmod +x /usr/local/logstash/bin/benchmark.sh # chmod +x /usr/local/logstash/bin/cpdump # chmod +x /usr/local/logstash/bin/dependencies-report # chmod +x /usr/local/logstash/bin/ingest-convert.sh # chmod +x /usr/local/logstash/bin/logstash-keystore # chmod +x /usr/local/logstash/bin/logstash-plugin ← 今回使うのはこれ # chmod +x /usr/local/logstash/bin/logstash.lib.sh ← logstash-pluginから呼び出される # chmod +x /usr/local/logstash/bin/pqcheck # chmod +x /usr/local/logstash/bin/ruby # chmod +x /usr/local/logstash/bin/system-install # /usr/local/logstash/bin/logstash-plugin install x-pack expr: illegal option -- C expr: usage: expr [-e] expression Downloading file: https://artifacts.elastic.co/downloads/logstash-plugins/x-pack/x-pack-6.2.2.zip Downloading [=============================================================] 100% Installing file: /tmp/studtmp-fe4cc2f4d060d661a2cdc1a53b50f56c125fbf33c63fc2ca412ce6cce245/x-pack-6.2.2.zip Install successful/usr/local/etc/logstash/logstash.yml (追加) (logstash.confじゃない)
1 2 3 | xpack.monitoring.elasticsearch.url: http://localhost:9200
xpack.monitoring.elasticsearch.username:
xpack.monitoring.elasticsearch.password:
|
今回はusernameとpasswordは指定しない。
ELK Stackの起動
# service elasticsearch start # service logstash start # service kibana start
Kibanaは起動コマンド実行後ブラウザで利用可能になるまで数分ほど待たされるかも。
特にKibanaはX-Packを入れた後の初起動は利用可能になるまで15分以上かかるかも。
X-Pack ライセンス投入
ライセンス投入は以前のELK Stackインストールの記事参照。
初稿ではKibanaのX-Packインストール後にKibanaが動かないと思って確認すると書いたが、時間がかかるだけだったよう。
X-PackをインストールするとKibanaのメニューに[Monitoring]が表示されてX-Packをインストールしたアプリケーションが表示される。この記事ではelasticsearchとKibanaとLogstashにX-Packをインストールしたのでそれが表示されている。
- TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編)
- TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編)
- TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (前編)
- Metricbeatで収集したメトリクスデータをKibanaで可視化する
- Kibanaを操作する前にユーザーを作成する
- Metricbeat 8.6.0のインストールと設定
- Elastic Stack 8系をFreeBSDにインストール
- Elastic Stack 6.4.2への更新 FreeBSD ports用メモ
- WinlogbeatでWindowsイベントログを可視化 後編
- WinlogbeatでWindowsイベントログを可視化 中編
- WinlogbeatでWindowsイベントログを可視化 前編
- Elastic Stackを6.3.2に更新する
- Elastic Stackでシステム監視 Heartbeatで収集した死活情報をKibanaで可視化
- Elastic Stackでシステム監視 Heartbeatを使う準備
- Elastic Stackでシステム監視 FreeBSDのportsで6.2.3に更新
- ELK Stackでシステム監視 Filebeatで収集したVolumioのログから時系列の再生曲名リストを表示
- ELK Stackでシステム監視 Rspamd 1.7系のElasticsearchモジュールを試す
- ELK Stackでシステム監視 FilebeatでNTP統計ログ取得 Logstashで加工
- ELK Stackでシステム監視 FilebeatでRaspberry Pi Zero WのVolumio楽曲再生ランキング
- ELK Stackでシステム監視 MeticbeatでRaspberry Pi Zero WのVolumioを監視
- ELK Stackでシステム監視 FilebeatでFreeBSDのCPU温度取得+Kibanaグラフ化
- ELK Stackでシステム監視 FilebeatでFail2banのBan情報+地図表示
- ELK Stackでシステム監視 MetricbeatでNginxのステータス情報を取得+グラフ化
- ELK Stackでシステム監視 FreeBSDのportsでELK Stack6系をインストール
- ELK Stackでシステム監視 FreeBSDにMetricbeatをインストールしてみる
- ELK Stackでシステム監視 elasticsearchインデックスのスキーマが勝手に変わる対処 テンプレート作成
- NanoPi NEO2(arm64)用にFilebeatをビルド
- ELK Stackでシステム監視 kibanaでDNSサーバの情報表示
- ELK Stackでシステム監視 kibanaのTimelion,Timeseriesでグラフ作成
- ELK Stackでシステム監視 collectdでDNSサーバの情報収集