原文地址: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来可视化查看数据。
准备
- 检查各组件的操作系统支持情况:https://www.elastic.co/cn/support/matrix
- 查看各组件的JVM支持情况:https://www.elastic.co/cn/support/matrix#matrix_jvm
安装Elasticsearch
rpm:
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-x86_64.rpmsudo rpm -i elasticsearch-7.12.0-x86_64.rpmsudo service elasticsearch start
tar.gz压缩包:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gzwget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gz.sha512shasum -a 512 -c elasticsearch-7.12.0-linux-x86_64.tar.gz.sha512tar -xzf elasticsearch-7.12.0-linux-x86_64.tar.gzcd elasticsearch-7.12.0/
在公司内的虚拟机上,推荐使用压缩包的方式,然后通过以下脚本启动(守护进程模式):
./bin/elasticsearch -d -p pid
注意,不能以root角色启动,必须使用其他角色。
确定ES是否启动:
curl localhost:9200
默认情况下,ES启动后会占用两个接口,其中9200用于提供HTTP服务,9300用于节点间通信。
关闭es:
pkill -F pid
外部访问
默认情况下,ES只允许本机访问。如果需要外网访问,需要修改./config/elasticsearch.yml,修改以下配置:
node.name: node-1network.host: 0.0.0.0cluster.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端口。
安装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监控面板。
