ELKR概述
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
|