简单介绍 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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 在 /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 的启动方式是:
1 2 3 在 /usr/local/logstash-5.5.2/bin 目录下运行: ./logstash -f logstash.conf
安装 Kibana 同样,官网下好安装包,上传到 Linux。
1 2 3 4 5 6 7 8 9 10 11 解压: 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 启动方式:
1 2 3 在 /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 1 2 3 cd /usr/local/elasticsearch/bin ./elasticsearch-plugin install file:///opt/es/x-pack-5.5.2.zip
如果成功:显示如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [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 1 2 3 cd /usr/local/kibana-5.5.2/bin ./kibana-plugin install file:///opt/es/x-pack-5.5.2.zip
安装成功如下:
1 2 3 4 5 6 7 8 9 [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 中加入下行
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/