查看原文
其他

ELK 实时日志分析平台环境搭建

The following article is from zhisheng Author zhisheng


点击左上角蓝字,关注“SpringForAll社区”

专注分享Spring周边技术内容


简单介绍

ELK(ElasticSearch, Logstash, Kibana),三者组合在一起搭建实时的日志分析平台,目前好多公司都是这套!

  • Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful 风格接口,多数据源,自动搜索负载等。

  • Logstash 是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。

  • Kibana 也是一个开源和免费的工具,它 Kibana 可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

安装 ES

。。。这个省略,不 bb 了,以前写过。。。传送门:http://www.54tianzhisheng.cn/2017/09/09/Elasticsearch-install/

安装 Logstash

ELK 整套环境搭建版本很关键,最好全统一一个版本,否则出啥问题就不太好找了。这是我见过版本统一最严格的了。而已 ES 版本升了后,其他的都要都要升级,包括其插件。升级代价挺大的,最好一开始就定位好要安装哪个版本!

在官网下好安装包后传到 Linux 上,这是速度最快的。

  1. 在 /usr/local 目录下解压:


  2. tar -zxvf  logstash-5.5.2.tar.gz


  3. 进入解压后的目录:


  4. cd /usr/local/logstash-5.5.2/bin


  5. 新增配置文件:


  6. vim logstash.conf


  7. 增加:


  8. input{

  9.    file{

  10.      path => ["/var/log/*.log"]

  11.    }

  12. }


  13. output{

  14.   elasticsearch{

  15.       hosts => ["192.168.153.135:9200"]

  16.       index => "logstash__log"

  17.  }

  18. }

Logstash 的启动方式是:

  1. 在 /usr/local/logstash-5.5.2/bin 目录下运行:


  2. ./logstash -f logstash.conf

安装 Kibana

同样,官网下好安装包,上传到 Linux。

  1. 解压:


  2. tar -zxvf kibana-5.5.2-linux-x86_64.tar.gz


  3. 修改配置文件 kibana-5.5.2/config/kibana.yml 如下:


  4. Server.host  //配置机器ip/hostname


  5. Server.name  //此kibana服务的名称


  6. elasticsearch.url  //es master节点url

Kibana 启动方式:

  1. 在 /usr/local/kibana-5.5.2/bin 目录下运行:


  2. ./kibana

Web界面访问: http://ip:5601 此时需要输入用户名和密码登录,默认分别是 elastic 和 changeme

X-Pack

X-Pack 是一个 Elastic Stack 的扩展,将安全,警报,监控,报告和图形功能包含在一个易于安装的软件包中。

ES 和 Kibana 都可安装。

插件 x-pack-5.5.2.zip 依旧官网下。

ES 安装 X-Pack

  1. cd /usr/local/elasticsearch/bin


  2. ./elasticsearch-plugin install file:///opt/es/x-pack-5.5.2.zip

如果成功:显示如下

  1. [root@node1 bin]# ./elasticsearch-plugin install file:///opt/es/x-pack-5.5.2.zip

  2. -> Downloading file:///opt/es/x-pack-5.5.2.zip

  3. [=================================================] 100%

  4. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

  5. @     WARNING: plugin requires additional permissions     @

  6. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

  7. * java.io.FilePermission \\.\pipe\* read,write

  8. * java.lang.RuntimePermission accessClassInPackage.com.sun.activation.registries

  9. * java.lang.RuntimePermission getClassLoader

  10. * java.lang.RuntimePermission setContextClassLoader

  11. * java.lang.RuntimePermission setFactory

  12. * java.security.SecurityPermission createPolicy.JavaPolicy

  13. * java.security.SecurityPermission getPolicy

  14. * java.security.SecurityPermission putProviderProperty.BC

  15. * java.security.SecurityPermission setPolicy

  16. * java.util.PropertyPermission * read,write

  17. * java.util.PropertyPermission sun.nio.ch.bugLevel write

  18. * javax.net.ssl.SSLPermission setHostnameVerifier

  19. See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html

  20. for descriptions of what these permissions allow and the associated risks.


  21. Continue with installation? [y/N]y

  22. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

  23. @        WARNING: plugin forks a native controller        @

  24. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

  25. This plugin launches a native controller that is not subject to the Java

  26. security manager nor to system call filters.


  27. Continue with installation? [y/N]y

  28. -> Installed x-pack

Kibana 安装 X-Pack

  1. cd /usr/local/kibana-5.5.2/bin


  2. ./kibana-plugin install file:///opt/es/x-pack-5.5.2.zip

安装成功如下:

  1. [root@node1 bin]# ./kibana-plugin install file:///opt/es/x-pack-5.5.2.zip

  2. Attempting to transfer from file:///opt/es/x-pack-5.5.2.zip

  3. Transferring 159867054 bytes....................

  4. Transfer complete

  5. Retrieving metadata from plugin archive

  6. Extracting plugin archive

  7. Extraction complete

  8. Optimizing and caching browser bundles...

  9. Plugin installation complete

启用 x-pack 安全机制

分别在 kibana.yml 和 elasticsearch.yml 中加入下行

  1. xpack.security.enabled: true

这样后,你再打开 ES 的 head 界面和 Kibana 管理界面就需要输入账号密码了。

上图右边是安装 X-Pack 后的,功能多了几个。

最后

环境搭建很简单,后面如果有时间的话可以再讲讲在 Kibana 的 Dev Tools 上构建 ES 的 JSON 串来对 ES 进行操作。

我还写过 ES 相关的文章:

1、Elasticsearch 默认分词器和中分分词器之间的比较及使用方法

2、全文搜索引擎 Elasticsearch 集群搭建入门教程

3、ElasticSearch 集群监控

4、ElasticSearch 单个节点监控

结尾

本文首发于:zhisheng 的博客

转载请注明地址:http://www.54tianzhisheng.cn/2017/12/25/ELK/

推荐阅读:

《深入理解 Java 内存模型》读书笔记

面试-基础篇

Spring Boot 2.0 迁移指南

SpringBoot使用Docker快速部署项目

为什么选择 Spring 作为 Java 框架?

SpringBoot RocketMQ 整合使用和监控

Spring Boot 面试的十个问题

使用 Spring Framework 时常犯的十大错误

SpringBoot Admin 使用指南

SpringBoot Kafka 整合使用

SpringBoot RabbitMQ 整合使用

Elasticsearch索引增量统计及定时邮件实现

Elasticsearch实战 | 必要的时候,还得空间换时间!
干货 |《从Lucene到Elasticsearch全文检索实战》拆解实践

JVM面试问题系列:JVM 配置常用参数和常用 GC 调优策略


上篇好文:

Apache Flink 是如何管理好内存的?


右上角按钮分享给更多人哦~

来都来了,点个在看再走吧~~~

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存