何番煎じかわかりませんが、個人的にも会社でもデータ解析用の基盤として利用しているEFKの構成方法を記載してみます。
結構負荷がかかるので、CPUもメモリも良いものを積んだ方がいいと思います。
今回の概要構成は下記の通り。
- CentOS7.4
- Elasticsearch 5.6.2
- Kibana-5.6.2
Elasticsearchのインストール
基本的に公式サイトからダウンロードしてインストールするだけです。
yum install java
yum install https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.1.rpm
日本語の検索を行うために、形態素解析のkuromojiを入れます。
プロクシがある環境では、コマンド実行前に「export ES_JAVA_OPTS="-Dhttp.proxyHost=[proxy_ip] -Dhttp.proxyPort=[proxy_port] -Dhttps.proxyHost=[proxy_ip] -Dhttps.proxyPort=[proxy_port]"」を実行して下さい
/usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-kuromoji
つぎに設定ファイルを開き編集します。基本的に設定ファイルの最後に追記すればOKです。
ファイル: /etc/elasticsearch/elasticsearch.yml
network.host: [els_ipaddress]
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.* の設定は後から入れるElasticsearch-headで cluster health: not connectedと表示され接続できないのを防ぐためです。[els_ipaddress]は実際のElasticsearchをインストールするサーバのIPと置き換えてください。編集したらElasticsearchを起動します。
systemctl start elasticsearch
問題なく起動したかは下記のファイルにログが記録されますので、エラーなどが発生していないか確認しておいてください。/var/log/elasticsearch/elasticsearch.log
続けて、firewalldを開きます。ポートはデフォルトでは9200番を使用するようです。
送信元はのちにインストールするKibanaのサーバと管理用の端末など直接アクセスするホストのIPアドレスを含めるようにしてください。
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="[kibana_ipaddress]/[mask]" port port="9200" protocol="tcp" log prefix="elasticsearch" level="info" accept'
firewall-cmd --reload
Kibanaのインストール
Kibanaも公式サイトからダウンロードしてインストールするだけです。yum install https://artifacts.elastic.co/downloads/kibana/kibana-5.6.1-x86_64.rpm
設定ファイルも先ほどと同様、最後に下記の内容を追記してください。
/etc/kibana/kibana.yml
server.port: 5601
server.host: [kibana_ipaddress]
elasticsearch.url: "http://[els_ipaddress]:9200"
[els_ipaddress]は実際のElasticsearchをインストールするサーバのIPと置き換えてください。[kibana_ipaddress]はKibanaをインストールしたサーバのIPと置き換えてください。
設定が完了したら、Daemonを起動しておきます。
systemctl start kibana
こちらもFWを開きます。ポートは一般的に5601番を使用するようです。こちらは、Apcheなどと連携しない場合はユーザが直接利用することになりますので、利用者向けに広く開ける必要があります。
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="[client]/[mask]" port port="5601" protocol="tcp" log prefix="kibana" level="info" accept'
firewall-cmd --reload
実際にブラウザからアクセスしてみます。
http://[kibana_ipaddress]:5601/app/kibana
この時点では下記のように「Configure an index pattern」という画面が出てくれば成功です。
x-pack
x-packがあると、Elasticsearchのパフォーマンスを監視することができます。x-packを導入するには無料とはいえライセンス登録が必要になるため、導入するかしないかは、この時点で決めておいた方がいいです。後から入れようとするといろいろ面倒なので・・・。有償のライセンス費用を払えば、ユーザの権限管理もできますが、今回は無償のライセンスを発行して使います。
まず、Daemonが起動している場合は止めておきます。
systemctl stop elasticsearch
systemctl stop kibana
インストールはelasticsearch-pluginから行います。
/usr/share/elasticsearch/bin/elasticsearch-plugin install x-pack
インストールが終わったら、Elasticsearchのサービスを起動します。
systemctl start elasticsearch
インストールが無事終了したかは下記のコマンドで確認できます。
curl -XGET -u elastic:changeme 'http://[els_ipaddress]:9200/_xpack/license'
{
"license" : {
"status" : "active",
"uid" : "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"type" : "trial",
"issue_date" : "2017-10-01T02:58:46.917Z",
"issue_date_in_millis" : 1506826726917,
"expiry_date" : "2017-10-31T02:58:46.917Z",
"expiry_date_in_millis" : 1509418726917,
"max_nodes" : 1000,
"issued_to" : "elasticsearch",
"issuer" : "elasticsearch",
"start_date_in_millis" : -1
}
}
次にkibanaにもx-packのプラグインを入れます。なお、インストールは下記の1行でインストール可能ですが、kibana-pluginは現時点ではProxyサーバに対応していませんので、Proxyのある環境の場合は、ダウンロードしたうえでインストールする必要があります。
/usr/share/kibana/bin/kibana-plugin install x-pack
Proxy環境下でインストールする場合は下記のような感じで、wgetした後にファイルを指定してインストールしてください。パスはフルパス指定じゃないと通らないようです。
wget https://artifacts.elastic.co/downloads/kibana-plugins/x-pack/x-pack-5.6.2.zip
/usr/share/kibana/bin/kibana-plugin install file:////local/path/x-pack-5.6.2.zip
インストールが終わったら、kibanaも起動します。
systemctl start kibana
Daemonが自動起動するように設定しておきます。
systemctl enable elasticsearch
systemctl enable kibana
実際にブラウザからアクセスしてみます。
http://[kibana_ipaddress]:5601/app/kibana
この時点では下記のようにログイン画面が出てくれば成功です。ユーザ名は「elastic」パスワードは「changeme」でログインできます。
ログインしたら、左のメニューから「Monitoring」を選択し「Your Trial license will expire on」に続く日付をクリックしてください。
今回は、1年ごとに更新が必要で機能が限定されているBasicLicenseを取得しますので「Get Basic」をクリックしてください。
メールアドレス宛にライセンスキーへのリンクが届きますので、ユーザ名、メールアドレス等を入力してください。
ライセンスキーを取得したら、名前を付けてサーバ上に保存して下さい。ここでは、「~/x-pack-license.txt」として保存をしたものとして進めます。
ライセンスキーの登録は下記のコマンドで実行できます。
curl -XPUT -u elastic:changeme 'http://[els_ipaddress]:9200/_xpack/license?acknowledge=true' -H "Content-Type: application/json" -d @x-pack-lisence.txt
無事登録できたかは下記のコマンドで確認できますので、確認しておいてください。
curl -XGET 'http://[els_ipaddress]:9200/_xpack/license'
下記のような内容が応答として帰ってくれば、完了です。
{
"license" : {
"status" : "active",
"uid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type" : "basic",
"issue_date" : "2017-10-02T00:00:00.000Z",
"issue_date_in_millis" : 1506902400000,
"expiry_date" : "2018-10-02T23:59:59.999Z",
"expiry_date_in_millis" : 1538524799999,
"max_nodes" : 100,
"issued_to" : "先ほど登録した名前 (会社名)",
"issuer" : "Web Form",
"start_date_in_millis" : 1506902400000
}
}
0 件のコメント:
コメントを投稿