一,什么是ELK
通俗来讲,ELK是由Elasticsearch、Logstash、Kibana 三个开源软件的组成的一个组合体,这三个软件当中,每个软件用于完成不同的功能,ELK 又称为ELK stack,官方域名为stactic.co,ELK stack的主要优点有如下几个:
- 1.处理方式灵活: elasticsearch是实时全文索引,具有强大的搜索功能
- 2.配置相对简单:elasticsearch全部使用JSON 接口,logstash使用模块配置,kibana的配置文件部分更简单。
- 3.检索性能高效:基于优秀的设计,虽然每次查询都是实时,但是也可以达到百亿级数据的查询秒级响应。
- 4.集群线性扩展:elasticsearch和logstash都可以灵活线性扩展
- 5.前端操作绚丽:kibana的前端设计比较绚丽,而且操作简单
是一个高度可扩展的开源全文搜索和分析引擎,它可实现数据的实时全文搜索搜索、支持分布式可实现高可用、提供API接口,可以处理大规模日志数据,比如Nginx、Tomcat、系统日志等功能。
可以通过插件实现日志收集和转发,支持日志过滤,支持普通log、自定义json格式的日志解析。
主要是通过接口调用elasticsearch的数据,并进行前端数据可视化的展现。
ELKstack部署及配置
公网IP | 内网IP | 主机名 | 部署服务 | 用途 |
10.0.0.51 |
172.16.1.51 |
elkstack01 |
elasticsearch、JDK |
存储日志的数据库 |
10.0.0.52 |
172.16.1.52 |
elkstack02 |
elasticsearch、JDK |
存储日志的数据库 |
10.0.0.53 |
172.16.1.53 |
elkstack03 |
Logstash、JDK |
收集日志、过滤日志 |
10.0.0.54 |
172.16.1.54 |
elkstack04 |
Redis、Kibana |
消息队列、日志展示 |
10.0.0.55 |
172.16.1.55 |
nginx01 |
nginx、filebeat |
修改nginx日志格式为json收集 |
10.0.0.56 |
172.16.1.56 |
tomcat01 |
tomcat、JDK、filebeat |
修改tomcat日志格式为json收集 |
安装包名 | 用途 |
elasticsearch-5.3.0.rpm |
存储日志的数据库 |
elasticsearch-head.tar.gz |
elasticsearch的web界面插件 |
logstash-5.3.0.rpm |
日志收集、日志分析工具 |
kibana-5.3.0-x86_64.rpm |
日志展示、日志查询工具 |
filebeat-5.3.2-x86_64.rpm |
日志收集工具(比Logstash轻量) |
jdk-8u121-linux-x64.tar.gz |
JAVA容器(es、Logstash、tomcat需要) |
nginx-1.10.3.tar.gz |
测试收集nginx日志 |
apache-tomcat-8.0.38.tar.gz |
测试收集tomcat日志 |
redis-3.2.8.tar.gz |
消息队列工具 |