Ubuntu18.04でElastic Stack(6.4.x)
背景
進化の早いElastic製品群
今までは5系を使用していたがせっかくなので最新版を再度インストールから実施してみました。
その際のインストール手順メモです。
5回編成予定で導入2回、入門1回、実践2回を書く予定(気力があれば。。)
Elastic Stackって?
オランダのElastic社が提供しているログ収集や解析などを可視化するための
オープンソースソフトウェア群
「Elasticsearch」「kibana」「logstash」「beats」の4つで構成されている。
Elasticsearch
分散処理型の検索エンジンです。
大量のドキュメントから目的の単語を含むドキュメントを高速に抽出することができます。
Logstash
各環境に散らばっているログを集め、指定した対象に連携できるツールです。
ログの連携だけではなく、ログの加工機能も持ち合わせています。
kibana
ElasticSearchで集めたデータを可視化するためのツール
折れ線グラフ・棒グラフ・円グラフを用いてログの詳細な情報を解析し、色分けして表示することが可能
Beats
機器のデータをElasticsearchやLogstashに転送する簡易的なデータ収集ツールです。
例えばネットワークのパケット情報・Windowsのイベントログ・死活監視の情報などを収集可能なため、
Logstashでカバーできないような情報を集めてくることができます。
まとめ
製品名 | 機能 | 開発言語 |
---|---|---|
Elasticsearch | ドキュメントを保存・検索 | Java |
Kibana | データの可視化 | JavaScript |
Logstash | データ取り込み・変換 | Ruby |
Beats | データ取り込み | Go言語 |
導入手順
Elasticsearch→Logstash(Beats)→Kibanaの順にインストールします。
環境
# OSとカーネルバージョン
$ cat /etc/lsb-release | grep RELEASE ; uname -r
DISTRIB_RELEASE=18.04
4.15.0-36-generic
# javaは必須です。なければインストールしてください
$ java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1ubuntu0.18.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
導入① Elasticsearch
# OSとカーネルバージョン
$ cat /etc/lsb-release | grep RELEASE ; uname -r
DISTRIB_RELEASE=18.04
4.15.0-36-generic
# javaは必須です。なければインストールしてください
$ java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1ubuntu0.18.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
Elasticsearchのインストール
# パッケージの取得
$ curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.deb
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 93.2M 100 93.2M 0 0 548k 0 0:02:54 0:02:54 --:--:-- 502k
# インストール
$ sudo dpkg -i elasticsearch-6.4.3.deb
以前に未選択のパッケージ elasticsearch を選択しています。
(データベースを読み込んでいます ... 現在 207005 個のファイルとディレクトリがインストールされています。)
elasticsearch-6.4.3.deb を展開する準備をしています ...
elasticsearch (6.4.3) を展開しています...
elasticsearch (6.4.3) を設定しています ...
(省略)
新バージョンの設定ファイル /etc/elasticsearch/elasticsearch.yml をインストールしています ...
新バージョンの設定ファイル /etc/elasticsearch/jvm.options をインストールしています ...
新バージョンの設定ファイル /etc/elasticsearch/log4j2.properties をインストールしています ...
新バージョンの設定ファイル /etc/default/elasticsearch をインストールしています ...
新バージョンの設定ファイル /usr/lib/systemd/system/elasticsearch.service をインストールしています ...
新バージョンの設定ファイル /etc/init.d/elasticsearch をインストールしています ...
Created elasticsearch keystore in /etc/elasticsearch
systemd (237-3ubuntu10.4) のトリガを処理しています ...
ureadahead (0.100.0-20) のトリガを処理しています ...
ureadahead will be reprofiled on next reboot
# サービス起動
$ sudo systemctl start elasticsearch.service
# 起動確認。下記のようにリクエストを送ればレスポンスが来ます
$ curl -XGET 'localhost:9200/?pretty'
{
"name" : "uIaLhsy",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "9gpCm_fWRDCQ1Lk4vSn_oQ",
"version" : {
"number" : "6.4.3",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "fe40335",
"build_date" : "2018-10-30T23:17:19.084789Z",
"build_snapshot" : false,
"lucene_version" : "7.4.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
導入② Logstash
パッケージの取得
$ curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-6.4.3.deb
# インストール
$ sudo dpkg -i logstash-6.4.3.deb
以前に未選択のパッケージ logstash を選択しています。
(データベースを読み込んでいます ... 現在 207390 個のファイルとディレクトリがインストールされています。)
logstash-6.4.3.deb を展開する準備をしています ...
logstash (1:6.4.3-1) を展開しています...
logstash (1:6.4.3-1) を設定しています ...
Using provided startup.options file: /etc/logstash/startup.options
Successfully created system startup script for Logstash
# サービス起動
$ sudo systemctl start logstash.service
導入③ Kibana
# パッケージ取得
$ curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-6.4.3-amd64.deb
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 225M 100 225M 0 0 859k 0 0:04:29 0:04:29 --:--:-- 984k
# インストール
$ root@ubuntu0827:~/iog/elastic_stack# dpkg -i kibana-6.4.3-amd64.deb
以前に未選択のパッケージ kibana を選択しています。
(データベースを読み込んでいます ... 現在 222723 個のファイルとディレクトリがインストールされています。)
kibana-6.4.3-amd64.deb を展開する準備をしています ...
kibana (6.4.3) を展開しています...
kibana (6.4.3) を設定しています ...
(省略)
新バージョンの設定ファイル /etc/kibana/kibana.yml をインストールしています ...
systemd (237-3ubuntu10.4) のトリガを処理しています ...
ureadahead (0.100.0-20) のトリガを処理しています ...
# kibana.ymlの編集
# サーバ名だったりアクセス許可ホストを設定します。
$ diff
-#server.host: "localhost"
+server.host: "0.0.0.0"
-#server.name: "your-hostname"
+server.name: "ubuntu0827"
# サービス起動
$ systemctl start kibana.service
全体動作確認
パッケージの取得
$ curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-6.4.3.deb
# インストール
$ sudo dpkg -i logstash-6.4.3.deb
以前に未選択のパッケージ logstash を選択しています。
(データベースを読み込んでいます ... 現在 207390 個のファイルとディレクトリがインストールされています。)
logstash-6.4.3.deb を展開する準備をしています ...
logstash (1:6.4.3-1) を展開しています...
logstash (1:6.4.3-1) を設定しています ...
Using provided startup.options file: /etc/logstash/startup.options
Successfully created system startup script for Logstash
# サービス起動
$ sudo systemctl start logstash.service
# パッケージ取得
$ curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-6.4.3-amd64.deb
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 225M 100 225M 0 0 859k 0 0:04:29 0:04:29 --:--:-- 984k
# インストール
$ root@ubuntu0827:~/iog/elastic_stack# dpkg -i kibana-6.4.3-amd64.deb
以前に未選択のパッケージ kibana を選択しています。
(データベースを読み込んでいます ... 現在 222723 個のファイルとディレクトリがインストールされています。)
kibana-6.4.3-amd64.deb を展開する準備をしています ...
kibana (6.4.3) を展開しています...
kibana (6.4.3) を設定しています ...
(省略)
新バージョンの設定ファイル /etc/kibana/kibana.yml をインストールしています ...
systemd (237-3ubuntu10.4) のトリガを処理しています ...
ureadahead (0.100.0-20) のトリガを処理しています ...
# kibana.ymlの編集
# サーバ名だったりアクセス許可ホストを設定します。
$ diff
-#server.host: "localhost"
+server.host: "0.0.0.0"
-#server.name: "your-hostname"
+server.name: "ubuntu0827"
# サービス起動
$ systemctl start kibana.service
全体動作確認
上記の設定でリモートアクセスも許可しているので他クライアントからでもアクセスできます。
http://192.168.1.156:5601
といった形でIPとポートを指定すればアクセスできます。
次はBeatsを設定します
Beatsとは?
Beatsはデータ取り込みを行うプラットフォームとなります。
同じ位置付にLogstashがありますが違いはLogstashは多くの機能を一つで賄うのに対し
Beatsではそれぞれがインプットに特化したシンプルかつ軽量なデータ取り込みツールです。
ちなみに実装はGoです。なんとJVM不要!(Elasticsearchやら動かしているのでまあ。。。)
とても簡単に言うとモニタリングツールのエージェント
Beatsファミリー
Beatsは下記6つの種類があります
名前 | 概要 |
---|---|
Metricbeat | CPU,メモリ等の情報収集 |
Filebeat | ログファイルの収集 |
Packetbeat | パケット情報の収集 |
Auditbeat | 監査データの収集 |
Heartbeat | リモートから稼働状況の監視 |
Winlogbeat | Windowsのイベントログの収集 |
詳細は公式をご確認ください
https://www.elastic.co/jp/products/beats
環境
Elasticsearch 6.4.3
Kibana 6.4.3
Metricbeat 6.4.3
導入
今回はメトリクスを対象としているのでMetricBeatを導入します。
# バイナリ取得
$ curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-6.4.3-amd64.deb
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 18.5M 100 18.5M 0 0 542k 0 0:00:35 0:00:35 --:--:-- 593k
# インストール
$ dpkg -i metricbeat-6.4.3-amd64.deb
導入は以上です。
次は設定ファイルを書き換えます。
公式の手順で下記のように設定を追記してください。
output.elasticsearch:
hosts: ["<es_url>"]
username: "elastic"
password: "<password>"
setup.kibana:
host: "<kibana_url>"
次にmetricbeatを起動します。
$ metricbeat setup
$ metricbeat -e
コンソールでデータの送信が確認できるのでこの状態で下記URLへアクセス。
あとはDashboardを開き下記を選択
そうすることで下記のようにCPU使用率やメモリ使用率、トラフィックなどが表示されます。
あとはサービスとして起動するために下記コマンドを実行します。
$ systemctl status metricbeat.service
※ここでエラーが出る場合は前回の導入時に失敗している可能性があります。
まとめ
とりあえずElastic Stackの導入が完了
次回からはこれらを使っていろいろ遊んだ結果を記載していきます。
Elasticsearch : データを検索、分析、保存
Kibana : データを可視化
Logstash : 動的なデータ収集パイプライン
Beats : データシッパープラットフォーム
もちろんノード数を増やせばそれに応じて自動でメトリクスを取得してくれます。
下記はノード数:2のときの表示例です。
参考
◼ 公式
◼ Elastic Stackって何?
Author And Source
この問題について(Ubuntu18.04でElastic Stack(6.4.x)), 我々は、より多くの情報をここで見つけました https://qiita.com/ryuichi1208/items/55ca9048ee55073bfada著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .