原文地址:https://www.elastic.co/guide/en/elastic-stack-get-started/current/get-started-elastic-stack.html

本文首先介绍如何安装以下组件:

  • Elasticsearch:一款实时、分布式存储、查询、分析引擎。ES可应用于多种场合,但最适合的场合是索引流式的半结构化数据,比如日志或解码后的网络数据包。
  • Kibana:一款开源的分析和可视化平台,配合ES使用。可使用Kibana来搜索、查看和操作存储在ES中的数据。你可以通过图形、表格、数据地图等各种方式来分析查看你的数据。
  • Beats:Beats 是一个免费且开放的平台,集合了多种单一用途数据采集器。它们从成百上千或成千上万台机器和系统向 Logstash 或 Elasticsearch 发送数据。

安装完成之后,将介绍如何实施一个系统监控解决方案,该解决方案使用Metricbeat来收集服务器指标,然后将数据发送给Elasticsearch。最后通过Kibana来可视化查看数据。


准备


安装Elasticsearch

rpm:

  1. curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-x86_64.rpm
  2. sudo rpm -i elasticsearch-7.12.0-x86_64.rpm
  3. sudo service elasticsearch start

tar.gz压缩包:

  1. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gz
  2. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gz.sha512
  3. shasum -a 512 -c elasticsearch-7.12.0-linux-x86_64.tar.gz.sha512
  4. tar -xzf elasticsearch-7.12.0-linux-x86_64.tar.gz
  5. cd elasticsearch-7.12.0/

在公司内的虚拟机上,推荐使用压缩包的方式,然后通过以下脚本启动(守护进程模式):

  1. ./bin/elasticsearch -d -p pid

注意,不能以root角色启动,必须使用其他角色。

确定ES是否启动:

  1. curl localhost:9200

默认情况下,ES启动后会占用两个接口,其中9200用于提供HTTP服务,9300用于节点间通信。
关闭es:

  1. pkill -F pid

外部访问

默认情况下,ES只允许本机访问。如果需要外网访问,需要修改./config/elasticsearch.yml,修改以下配置:

  1. node.name: node-1
  2. network.host: 0.0.0.0
  3. cluster.initial_master_nodes: ["node-1"]

然后关闭ES,重启ES。
参考:ELK搭建过程中出现的问题与解决方法汇总


安装Kibana

Linux:

curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-7.12.0-linux-x86_64.tar.gz
tar xzvf kibana-7.12.0-linux-x86_64.tar.gz
cd kibana-7.12.0-linux-x86_64/
./bin/kibana

如果希望本机之外的机器可以访问,需要修改config/kibana.yml:

server.host: 0.0.0.0

启动:

nohup bin/kibana >logs/kibana.log 2>&1 &

启动后Kibana默认监听在5601端口。
image.png


安装Beats

Beats包含多种收集器(Agent),本节介绍Metricbeat的安装。
Linux:

curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.12.0-linux-x86_64.tar.gz
tar xzvf metricbeat-7.12.0-linux-x86_64.tar.gz

Metricbeat提供了多种内置模块,用于快速搭建系统监控解决方案。本节我们将学习启动 system 这个模块,来收集所在服务器的指标,包括CPU使用率、内存、文件系统、硬盘IO、网络IO等。
(1)在Metricbeat的解压目录下,启动 system 模块:

./metricbeat modules enable system

(2)设置初始环境:

./metricbeat setup -e

setup命令会加载Kibana dashboards。如果dashborad已经配置好了,则这个命令将被忽略。该命令比较耗时,需稍等一会儿。
(3)启动Metricbeat

nohup ./metricbeat -e >nohup.out 2>&1 &

(4)在Kibana中查看Metricbeat-system-overview-ecs监控面板。