在Ubuntu18.04上安装Elastic Stack(6.4.x)
背景
進化迅速的Elastic產品系列
之前一直使用5系列,但既然有機會,我決定重新安裝最新版本。
以下是安裝步驟的備忘錄。
如果有精力的话,计划组织成5次课,在其中引入两次,入门一次,实践两次。
弹性堆栈是什么?
荷兰的Elastic公司提供了一套开源软件,用于可视化日志收集和分析的功能。
这个系统由四个组件构成,分别是「Elasticsearch」「kibana」「logstash」「beats」。
弹性搜索
这是一个分布式处理的搜索引擎。它可以从大量的文件中快速提取包含目标词的文件。
日志聚合/gather日志
这个工具可以收集散落在各个环境中的日志,并与指定的目标进行协调。它不仅具备日志协调功能,还具备日志处理功能。
Kibana 可视化工具
使用ElasticSearch搜集的数据可视化工具,可利用折线图、柱状图和饼图来分析日志的详细信息,并且可以进行颜色区分以展示。
拍击
这是一个简单的数据收集工具,用于将机器数据传输到Elasticsearch和Logstash。它可以收集网络数据包信息、Windows事件日志、以及状态监测等信息,可以收集Logstash无法覆盖的信息。
总结
引入步骤
按照 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
安装 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
确认所有动作
由于上述设置,远程访问也是允许的,所以可以从其他客户端访问。
只需指定IP地址和端口即可访问,如:http://192.168.1.156:5601。
下一步是设置Beats。
Beats是什么?
Beats是一个用于数据采集的平台。
与之相同位置的Logstash不同之处在于,Logstash通过一个工具提供多种功能,而Beats是各自专注于不同输入方式的简单且轻量级的数据采集工具。
顺便说一句,Beats是用Go语言实现的。不需要JVM!(虽然我们仍需要运行Elasticsearch之类的东西…)
总的来说,监控工具的代理是非常简单的。
拍拍家族
Beats有以下六种类型。
请查看官方网站详细了解:
https://www.elastic.co/jp/products/beats
– 环境
以下是中国人的本土化释义:
Elasticsearch 6.4.3
Kibana 6.4.3
Metricbeat 6.4.3
弹性搜索6.4.3
基本6.4.3
度量跟踪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以获取这个状态。
以后只需要打开仪表盘,然后选择下面的选项。
通过这样做,您将可以看到CPU使用率、内存使用率、流量等信息的显示。
为了将其作为服务启动,只需执行以下命令。
$ systemctl status metricbeat.service
如果在这里出现错误的话,可能是上次的引入失败了。
总结
暫時完成了Elastic Stack的導入。
從下一次開始,我們會使用這些工具來記載不同實驗的結果。
Elasticsearch(艾拉斯蒂克):搜索、分析和存储数据
Kibana(基本奈):数据可视化工具
Logstash(洛格斯塔什):动态数据收集管道
Beats(比茨):数据传输平台
当然,如果增加节点数,系统将自动获取相应的指标。下面是节点数为2时的示例显示。
请阅读
◼ 什么是Elastic Stack?