ELK知识点总结
ELK组件:
Elasticsearch
抓取日志分析Logstash
日志格式处理Kibana
前端数据可视化展示- Redis 数据缓存
概述:
ELK(R) = Elasticsearch + Logstash + Kibana (+ Redis) 是一套完整的工业级日志分析工具。
Elasticsearch 是整个日志分析系统的核心,它负责对日志数据进行分析、索引等重要工作;
Logstash 则主要用于对日志数据进行初步的过滤和筛选。例如,Logstash 可以将拥有日志数据的从节点(Slave Node)服务器内的日志数据发送到 Elasticsearch 的主服务器。
Kibana 则是为了让 Elasticsearch 更好的与用户进行交互而设计的一个 Web 前端工具,具备强大的数据可视化功能。
Redis 本身并不属于 ELK 技术栈里的一份子,而是作为一个插件存在于 ELK 技术栈中。Redis 提供了一个很好的缓冲区,它能够很好的帮助我们在主节点上屏蔽掉多个从节点之间不同日志文件的差异,负责管理日志端(从节点)的人可以专注于向 Redis 里生产数据,而负责数据分析聚合端的人则可以专注于从 Redis 内消费数据,达到分层目的。
总结上面所说的,我们可以得到下图:
三种方式安装ELK
安装jdk,版本不能低于1.8,这里不在多说
安装redis
Redis 作为 Logstash 的一个插件,Logstash 的运行依赖于 Redis 服务。在环境中安装 Redis:
sudo apt-get update sudo apt-get install -y redis-server redis-server -v
sudo service redis-server start sudo netstat -antulp | grep 6379
①、apt安装(适用于ubuntu系统)
导入 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
②、dpkg安装(适用于DeePin)
安装 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
启动 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