在Ubuntu18.04上安装Elastic Stack(6.4.x)

highres_254333778.jpeg

背景

進化迅速的Elastic產品系列
之前一直使用5系列,但既然有機會,我決定重新安裝最新版本。
以下是安裝步驟的備忘錄。

如果有精力的话,计划组织成5次课,在其中引入两次,入门一次,实践两次。

弹性堆栈是什么?

荷兰的Elastic公司提供了一套开源软件,用于可视化日志收集和分析的功能。

这个系统由四个组件构成,分别是「Elasticsearch」「kibana」「logstash」「beats」。

弹性搜索

这是一个分布式处理的搜索引擎。它可以从大量的文件中快速提取包含目标词的文件。

日志聚合/gather日志

这个工具可以收集散落在各个环境中的日志,并与指定的目标进行协调。它不仅具备日志协调功能,还具备日志处理功能。

Kibana 可视化工具

使用ElasticSearch搜集的数据可视化工具,可利用折线图、柱状图和饼图来分析日志的详细信息,并且可以进行颜色区分以展示。

拍击

这是一个简单的数据收集工具,用于将机器数据传输到Elasticsearch和Logstash。它可以收集网络数据包信息、Windows事件日志、以及状态监测等信息,可以收集Logstash无法覆盖的信息。

总结

製品名機能開発言語Elasticsearchドキュメントを保存・検索JavaKibanaデータの可視化JavaScriptLogstashデータ取り込み・変換RubyBeatsデータ取り込み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

安装 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。

スクリーンショット 2018-11-11 17.12.41.png

下一步是设置Beats。

Beats是什么?

Beats是一个用于数据采集的平台。
与之相同位置的Logstash不同之处在于,Logstash通过一个工具提供多种功能,而Beats是各自专注于不同输入方式的简单且轻量级的数据采集工具。
顺便说一句,Beats是用Go语言实现的。不需要JVM!(虽然我们仍需要运行Elasticsearch之类的东西…)

总的来说,监控工具的代理是非常简单的。

拍拍家族

Beats有以下六种类型。

名前概要MetricbeatCPU,メモリ等の情報収集Filebeatログファイルの収集Packetbeatパケット情報の収集Auditbeat監査データの収集Heartbeatリモートから稼働状況の監視WinlogbeatWindowsのイベントログの収集

请查看官方网站详细了解:
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以获取这个状态。

以后只需要打开仪表盘,然后选择下面的选项。

スクリーンショット 2018-11-13 20.51.53.png

通过这样做,您将可以看到CPU使用率、内存使用率、流量等信息的显示。

スクリーンショット 2018-11-13 20.50.16.png

为了将其作为服务启动,只需执行以下命令。

$ systemctl status metricbeat.service

如果在这里出现错误的话,可能是上次的引入失败了。

总结

暫時完成了Elastic Stack的導入。
從下一次開始,我們會使用這些工具來記載不同實驗的結果。

Elasticsearch(艾拉斯蒂克):搜索、分析和存储数据
Kibana(基本奈):数据可视化工具
Logstash(洛格斯塔什):动态数据收集管道
Beats(比茨):数据传输平台

当然,如果增加节点数,系统将自动获取相应的指标。下面是节点数为2时的示例显示。

スクリーンショット 2018-11-13 22.46.34.png

请阅读

◼ 什么是Elastic Stack?