ELK 6.2.4环境搭建及日志收集实战

需积分: 5 0 下载量 195 浏览量 更新于2024-06-23 收藏 2.02MB DOCX 举报
该资源主要介绍了如何在ELK (Elasticsearch, Logstash, Kibana) 环境中,使用Logstash收集Java应用程序(如Tomcat)的日志,并通过Redis作为中间缓存,最终将日志数据存储到Elasticsearch中的过程。涉及到的版本是ELK 6.2.4,且没有使用Filebeat。 在这个配置中,系统分为四个节点: 1. 192.168.171.128:运行Elasticsearch服务。 2. 192.168.171.129:运行Logstash1和存放测试日志文件,包括Tomcat的Java日志和系统日志,Logstash1负责将这些日志数据写入Redis。 3. 192.168.171.130:运行Nginx和Kibana,Nginx提供带有用户和密码认证的登录功能,使Kibana能够安全访问。 4. 192.168.171.131:运行Redis和Logstash2,Logstash2从Redis读取日志数据并将其写入Elasticsearch。 为了成功部署ELK环境,首先在192.168.171.128节点上,需要进行一些系统配置以满足Elasticsearch的需求,例如: - 在`/etc/security/limits.conf`中设置软硬限制,如`nofile`的值为65536,`nproc`的值为4096,以允许更多的文件描述符和进程。 - 在`/etc/security/limits.d/20-nproc.conf`中确认`nproc`的软限制至少为4096。 - 修改`/etc/sysctl.conf`,增加`vm.max_map_count`为262144,这个参数影响Elasticsearch可以映射的最大内存映射数。 - 使用`sysctl -p`使改动生效,并重启系统。 - 关闭防火墙服务`systemctl stop firewalld.service`,以便于各节点之间的通信。 接着,需要在该节点上安装JDK 1.8,这通常是ELK组件运行所必需的Java环境。可以通过上传JDK的Linux x64版本,解压缩并移动到指定目录,如`/usr/local/java`。 对于Logstash,需要配置输入插件来读取Tomcat和系统的日志文件,以及输出插件将日志数据发送到Redis。在192.168.171.129节点上,Logstash1会处理这些日志,并通过Redis队列传递到192.168.171.131节点上的Logstash2。Logstash2再从Redis接收数据,然后将它们写入Elasticsearch集群。 Kibana部署在192.168.171.130节点,配置Nginx进行基本的HTTP认证,以提供对Kibana的安全访问。这样,用户可以使用Kibana界面来查询、分析和可视化存储在Elasticsearch中的日志数据。 总结来说,这个配置提供了一种通过ELK栈收集和分析Java应用程序日志的方法,利用Redis作为中间层以提高数据传输的可靠性,并确保了数据的安全性。这种架构适用于需要实时监控和分析大量日志数据的场景。