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

简单介绍

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 上,这是速度最快的。

在 /usr/local 目录下解压:

tar -zxvf  logstash-5.5.2.tar.gz

进入解压后的目录:

cd /usr/local/logstash-5.5.2/bin

新增配置文件:

vim logstash.conf

增加:

input{
    file{
      path => ["/var/log/*.log"]
    }
}

output{
   elasticsearch{
       hosts => ["192.168.153.135:9200"]
       index => "logstash__log"
  }
}

Logstash 的启动方式是:

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

./logstash -f logstash.conf

安装 Kibana

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

解压:

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

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

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

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

elasticsearch.url  //es master节点url

Kibana 启动方式:

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

./kibana

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

X-Pack

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

ES 和 Kibana 都可安装。

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

ES 安装 X-Pack

cd /usr/local/elasticsearch/bin

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

如果成功:显示如下

[root@node1 bin]# ./elasticsearch-plugin install file:///opt/es/x-pack-5.5.2.zip
-> Downloading file:///opt/es/x-pack-5.5.2.zip
[=================================================] 100%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.io.FilePermission \\.\pipe\* read,write
* java.lang.RuntimePermission accessClassInPackage.com.sun.activation.registries
* java.lang.RuntimePermission getClassLoader
* java.lang.RuntimePermission setContextClassLoader
* java.lang.RuntimePermission setFactory
* java.security.SecurityPermission createPolicy.JavaPolicy
* java.security.SecurityPermission getPolicy
* java.security.SecurityPermission putProviderProperty.BC
* java.security.SecurityPermission setPolicy
* java.util.PropertyPermission * read,write
* java.util.PropertyPermission sun.nio.ch.bugLevel write
* javax.net.ssl.SSLPermission setHostnameVerifier
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.

Continue with installation? [y/N]y
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@        WARNING: plugin forks a native controller        @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
This plugin launches a native controller that is not subject to the Java
security manager nor to system call filters.

Continue with installation? [y/N]y
-> Installed x-pack

Kibana 安装 X-Pack

cd /usr/local/kibana-5.5.2/bin

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

安装成功如下:

[root@node1 bin]# ./kibana-plugin install file:///opt/es/x-pack-5.5.2.zip
Attempting to transfer from file:///opt/es/x-pack-5.5.2.zip
Transferring 159867054 bytes....................
Transfer complete
Retrieving metadata from plugin archive
Extracting plugin archive
Extraction complete
Optimizing and caching browser bundles...
Plugin installation complete

启用 x-pack 安全机制

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

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/

你可能感兴趣的:(elasticsearch)