收集、存储、分析、展示日志数据系统——ELK搭建与使用
此篇文章记录个人使用大数据开源框架ELk,实际应用于公司日志处理项目
概念详细介绍
logstash
logstash是数据收集系统。主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。可以部署成C/S架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
elasticsearch
elasticsearch是数据搜索系统。提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
kibana
kibana是数据展示系统。为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。
线上部署配置
依赖环境
- 系统:centos 6.9
- 软件版本:elk-6.4.2
- 下载地址:https://www.elastic.co/downloads.
- 解压tar包:tar -zxvf *.tar.gz
单节点服务配置
- elasticsearch部署
- 新建elk用户:sudo useradd elk
- 修改 elasticsearch/config/elasticsearch.yml 文件,添加如下内容
- 启动服务:su elk ./bin/elasticsearch -d
- 服务测试:浏览器输入 http://ip:9200,成功进入则安装成功
- logstash部署
- 添加配置文件,将kafka数据作为输入源:vi logstash/config/ kafka_to_es.conf
- 启动服务:./logstash -f …/config/kafka_to_es.conf
- kibina部署
- 修改 kibana/config/kibana 文件,添加如下内容
- 启动服务:./kibana
- 服务测试:浏览器输入 http://ip:5601,成功进入则安装成功
- 上线使用
- 通过kafka producer 生产进指定topic的消息,会实时的展示在kibana上提供查看分析
多节点服务配置
- 服务部署节点
- 上线使用
问题和错误
已解决
- ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]
切换到root用户,编辑limits.conf 添加类似如下内容:
- max_map_count不够大
max virtual memory areas vm.max_map_count [65536] likely too low, increase to at least [262144]
echo 262144 >> /proc/sys/vm/max_map_count
重定向修改文件的值
未解决
- 暂时没有