ELK(R) = Elasticsearch + Logstash + Kibana (+ Redis) 是一套完整的工业级日志分析工具。
- Elasticsearch 是整个日志分析系统的核心,它负责对日志数据进行分析、索引等重要工作;
- Logstash 则主要用于对日志数据进行初步的过滤和筛选。例如,Logstash 可以将拥有日志数据的从节点(Slave Node)服务器内的日志数据发送到 Elasticsearch 的主服务器。
- Kibana 则是为了让 Elasticsearch 更好的与用户进行交互而设计的一个 Web 前端工具,具备强大的数据可视化功能。
- Redis 本身并不属于 ELK 技术栈里的一份子,而是作为一个插件存在于 ELK 技术栈中。Redis 提供了一个很好的缓冲区,它能够很好的帮助我们在主节点上屏蔽掉多个从节点之间不同日志文件的差异,负责管理日志端(从节点)的人可以专注于向 Redis 里生产数据,而负责数据分析聚合端的人则可以专注于从 Redis 内消费数据,达到分层目的。
总结上面所说的,我们可以得到下图:
总的来说,ELK(R) 这套技术栈提供了一套完整的日志分析解决方案。
安装redis对于 ELK 而言,依赖的环境为 Java,这里介绍 Java 以及 Redis 的安装方法。
由于 Elasticsearch 是由 Java 编写的,所以运行它需要依赖 Java 环境,检查系统中是否已安装 JDK 以及 JDK 版本:
java -version
只要 JDK 的版本不低于 1.8 就满足要求。
安装 Redis
Redis 作为 Logstash 的一个插件,Logstash 的运行依赖于 Redis 服务。在环境中安装 Redis:
sudo apt-get update sudo apt-get install -y redis-server redis-server -v
启动 Redis 服务并查看启动情况:
sudo service redis-server start sudo netstat -antulp | grep 6379安装ELK
有多种方式可以安装 ELK,这里主要介绍 apt 方式、dpkg 方式和 tar 方式。在本实验环境中使用的是 tar 方式安装,可以方便大家深入了解这 3 款软件的目录结构及使用方式。
实验环境中已经安装好了 ELK 的环境,下面的安装方式用于大家在自己的环境中进行安装。
apt 方式安装 ELK(管理软件方便)
使用 apt-get 方式安装软件,可以很方便地管理软件运行状态。具体步骤如下:
- 导入 Elastic PGP Key:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
- 添加官方安装源:
sudo apt-get install apt-transport-https # 添加官方 apt 源信息 echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
- 安装 ELK 环境:
sudo apt-get update sudo apt-get install elasticsearch # 安装 elasticsearch sudo apt-get install kibana # 安装 kibana sudo apt-get install logstash # 安装 logstash
通过以上步骤,即可完成 ELK Stack 环境的部署。
dpkg 方式安装 ELK(类似于 apt)
由于国内网络的原因通过 apt-get 的方式安装三个软件,速度非常慢,所以也可以通过使用 wget 命令将相应的安装包(.deb)下载到环境中。
安装 elasticsearch:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.1-amd64.deb sudo dpkg -i elasticsearch-7.4.1-amd64.deb
安装 kibana:
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.4.1-amd64.deb sudo dpkg -i kibana-7.4.1-amd64.deb
安装 logstash:
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.4.1.deb sudo dpkg -i logstash-7.4.1.deb
tar 方式安装 ELK(最适合新手)
如果大家下载比较慢,也可以使用我们提供的地址:
# elasticsearch wget https://downloadfiles.oss-cn-hangzhou.aliyuncs.com/courses/aliyun/elk/elasticsearch-7.4.1-linux-x86_64.tar.gz # kibana wget https://downloadfiles.oss-cn-hangzhou.aliyuncs.com/courses/aliyun/elk/kibana-7.4.1-linux-x86_64.tar.gz # logstash wget https://downloadfiles.oss-cn-hangzhou.aliyuncs.com/courses/aliyun/elk/logstash-7.4.1.tar.gz
安装 elasticsearch:
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.1-linux-x86_64.tar.gz tar -xvf elasticsearch-7.4.1-linux-x86_64.tar.gz
安装 kibana:
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.4.1-linux-x86_64.tar.gz shasum -a 512 kibana-7.4.1-linux-x86_64.tar.gz tar -xzf kibana-7.4.1-linux-x86_64.tar.gz
安装 logstash:
curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-7.4.1.tar.gz tar -xzf logstash-7.4.1.tar.gz启动ELK
启动 Elasticsearch
cd elasticsearch-7.4.1/bin # 启动 ./elasticsearch -d
查看启动进程:
ps -ef|grep -v grep|grep elasticsearch
Elasticsearch 监听在本地的 9200 端口,浏览器打开地址:localhost:9200
启动 Kibana
cd kibana-7.4.1-linux-x86_64/bin nohup ./kibana 2>&1 &
Kibana 的监听端口为 5601,浏览器打开地址:localhost:5601
启动 Logstash
$ cd logstash-7.4.1/bin # 测试 $ ./logstash -e 'input { stdin { } } output { stdout {} }' hello world
这里运行的是最简单的 Logstash pipeline 作为测试,其中 -e 参数表示通过命令行定义配置,配置信息表示的是从标准输入 stdin 获取输出,然后直接以格式化形式从标准输出 stdout 进行显示。可以看到输出的信息中还包括时间戳、主机名和版本号。
最后按 CTRL-D 退出 Logstash。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)