简单介绍
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 集群搭建入门教程
结尾
本文首发于:zhisheng 的博客