ELK搭建实时日志分析平台之二Logstash和Kibana搭建
本文书接前回《ELK搭建实时日志分析平台之一ElasticSearch》
文:铁乐与猫
四、安装Logstash
logstash是一个数据分析软件,主要目的是分析log日志。
1)下载和解压logstash
下载地址:
https://www.elastic.co/cn/downloads/logstash
上传到服务器/usr/ELK目录后,解压:sudo tar -zxvf logstash-6.1.3.tar.gz
我下的这个6.1.3版本的logstash tar包大小有110多M了。
修改属主权限:sudo chown -R elsearch:ELK logstash-6.1.3
2)准备一个适合的配置文件:logstash.conf
可以参考官网给出的示例配置文件:
测试一段syslog日志文本。
cd logstash-6.1.3
sudo vim logstash-sample.conf
在logstash主目录创建配置文件logstash-sample.conf,
内容如下:
input { stdin { type => "syslog" } }
filter { }
output {
elasticsearch { hosts => "192.168.251.20:9200" }
stdout { codec => rubydebug }
}
保存,修改权限:sudo chown elsearch:ELK logstash-sample.conf
3)运行logstash:bin/logstash -f logstash.conf
切换到elsearch用户,在logstash主目录下,运行:
/usr/ELK/logstash-6.1.3/bin/logstash -f /usr/ELK/logstash-6.1.3/logstash-sample.conf
运行后,测试的话我们可以在终端输入一些文字消息,比如下图:
我随意输入的是elk-test 2018-2-7,回车后就生成了一段日志记录。
Logstash在Console返回的输出内容,同时以上内容也发送到了ElasticSearch。
有一个现象是发现logstash启动会很慢,原因可能是
JVM的随机数字生成参数导致,诊断和修改方式:
修改文件
$JAVA_HOME/jre/lib/security/java.security
注:可以通过locate查找java.security来找到文件,比如我查找出来的路径就是/usr/java/jdk1.8.0_144/jre/lib/security/java.security
修改参数
securerandom.source=file:/dev/urandom
重新启动Logstash,就快多了。不过导致的效果可能是没有随机生成参数那么安全。
五、安装Kibana和x-pack安全组件
Kibana 让您能够可视化 Elasticsearch 中的数据并操作 Elastic Stack。
kibana下载地址:
https://www.elastic.co/cn/downloads/kibana
注意,如果要找往期版本的话在官网上有个past releases(往期版本)的超链接。
上传到服务器/usr/ELK目录后,解压:sudo tar -zxvf kibana-6.1.3-linux-x86_64.tar.gz
我下的这个6.1.3版本的kibana tar包大小有60多M。
本来想修改属主权限的,却意外发现sudo解压后竟不是root属主和属组,而是www的属主和属组。
而原本我服务器也的确已有www用户,所以就先不动属主了,毕竟kibana是要用到web浏览的多,www属主也挺好。
不过解压后的目录名过长也不易辩识,所以有必要改名和起个软链接:
sudo mv kibana-6.1.3-linux-x86_64 kibana-6.1.3
sudo ln -s kibana-6.1.3 kibana
同时做了一个软链接,映射,这样就算以后版本更新了也只需重新修改一下软链接即可。
x-pack安装说明地址:
https://www.elastic.co/cn/downloads/x-pack
x-pack将诸多强大功能集合到一个单独的程序包中且与整个 Elastic Stack 无缝集成,
将它安装到 Elasticsearch 和 Kibana 中,能够让很多工作变得简单,例如,确保 Elasticsearch 中数据的安全,或通过 Kibana 添加登录屏幕。
参照上图官方所提及的x-pack安装步骤,我们先来进行第一步,从elasticsearch开始安装x-pack插件:
bin/elasticsearch-plugin install x-pack
安装完成后到elasticsearch目录的plugins目录下可以看到有x-pack的子目录。x-pack目录中会有很多个jar文件。
官网第二步是运行elasticsearch,假如这个时候访问elasticsearch服务器9200端口的网页会看到和之前不同,会有授权弹窗了。
所以第三步则是生成默认的密码,这个密码用于elastic和kibana用户:
密码生成之后,我先尝试使用elastic用户和密码&wmVcGEIXB1GUliGqlFh登录可以正常访问到。可见是马上生效的。
当然,你可能会更关注要到哪里将这串随意的密码改成易记的自己的密码。
elasticsearch的话编辑主目录的config/elasticsearch.yml配置文件,同理其它两个服务也是找相应的yml配置文件。
先回到第四步,kibana安装x-pack:
进到kibana的主目录后,运行:
bin/kibana-plugin install x-pack
注意的是,kibana安装x-pack会有那么一小段时间很短暂的时间很吃内存,我监控都报警了。
第五步,添加认证信息到kibana的yml配置文件;
vim /usr/ELK/kibana/config/kibana.yml
添加上
elasticsearch.username: "kibana"
elasticsearch.password: "etfF?FSJ~47=6E^2x6+6"
用户名为kibana,密码则可以先填之前第三步生成的随机密码。
后补注:以上填写的信息是错误的,正确的是填elsatic的用户名和密码才不会出现接下来的错误!
设置Kibaba连接上ElasticSearch
编辑文件config/kibana.yml
设置参数
server.host和elasticsearch.url
注意要和之前elasticserach中设置的一样,比如我这里填的是:
server.host: "192.168.251.20"
elasticsearch.url: "http://192.168.251.20:9200"
第六步,启动kibana服务,同时防火墙,安全组之类开放服务默认的5601端口;
nohup bin/kibana &
或直接sudo /bin/kibana启动。
访问kibana的是默认5601端口,但要记得在kibana的配置yml文件里设置好host和url。
能正常启动,但有很多报警信息和报错。浏览器访问kibana界面时也可以看到出现登录被禁用的错误了:
登录目前禁用。管理员应该查看Kibana日志,了解更多细节。
log [03:07:31.810] [warning][license][xpack] License information from the X-Pack plugin could not be obtained from Elasticsearch for the [data] cluster. Error: Request Timeout after 30000ms
日志报错显示X-Pack插件出了问题导致超时,要先处理了。
尝试了一下,搞明白了,原来之前的config/kibana.yml配置文件中
elasticsearch.username和elasticsearch.password两项中要填入的不是kibana的用户名和密码,而是填入elstaic的用户名和密码!
因为kibana要先通过elstaic的认证!所以编辑文件config/kibana.yml
elasticsearch.username: "elastic"
elasticsearch.password: "&wmVcGEIXB1GUliGqlFh"
现在再重新启动kibana,再访问,可以正常登录了,输入的就是kibana用户名和密码了:
登录通过的界面:
ELK的环境搭建完成了,后续还有很多插件可以自行看着官网文档进行安装。
而关于ELK的使用,留待之后的文稿。
2018-2-13
END
ELK搭建实时日志分析平台之二Logstash和Kibana搭建的更多相关文章
- ELK搭建实时日志分析平台之一ElasticSearch搭建
文:铁乐与猫 系统:CentOS Linux release 7.3.1611 (Core) 注:我这里为测试和实验方便,ELK整套都装在同一台服务器环境中了,生产环境的话,可以分开搭建在不同的服务器 ...
- ELK搭建实时日志分析平台
ELK搭建实时日志分析平台 导言 ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成,ELK平台可以同时实现日志收集.日志搜索和日志分析的功能.对于生产环境中海量日志 ...
- 【转】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
[转自]https://my.oschina.net/itblog/blog/547250 摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticS ...
- 【Big Data - ELK】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticSearch,一款基于Apache Lucene的开源分布式搜索引擎)中便于查找和分析,在研究 ...
- [Big Data - ELK] ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自: http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志. ...
- ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台
一.简介 ELK 由三部分组成elasticsearch.logstash.kibana,elasticsearch是一个近似实时的搜索平台,它让你以前所未有的速度处理大数据成为可能. Elastic ...
- 13: ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台
参考博客:https://www.cnblogs.com/zclzhao/p/5749736.html 51cto课程:https://edu.51cto.com/center/course/less ...
- asp.net core结合NLog搭建ELK实时日志分析平台
0.整体架构 整体架构目录:ASP.NET Core分布式项目实战-目录 一.介绍ELK 1.说明(此篇ELK采用rpm的方式安装在服务器上)-牛刀小试 承接上一篇文章的内容准备部署ELK来展示asp ...
- 手把手教你搭建 ELK 实时日志分析平台
本篇文章主要是手把手教你搭建 ELK 实时日志分析平台,那么,ELK 到底是什么呢? ELK 是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash 和 Kiban ...
随机推荐
- Entity Framework取消修改
最近碰到一个场景:在Entity Framework保存错误的时候,需要将该错误记录在DB中.因为DB在savechange的时候会继续保存之前的数据,所以一直会报错,无法保存错误日志. 这就需要实现 ...
- Redis configuration
官方2.6配置如下: # Redis configuration file example # Note on units: when memory size is needed, it is pos ...
- python算法之冒泡排序
目录 python之冒泡排序 算法原理 算法分析 代码实现 总结 python之冒泡排序 概念: 重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小.首字母从A到Z)错误就 ...
- windows server服务器上部署java+tomcat网站域名配置
如果只是部署java项目的话,可以把IIS删除,然后在服务器上安装jdk tomcat 配置好环境变量,就和你在自己计算机上开发一样,把你的项目war包拷到tomcat下的webapps里(任意目录都 ...
- [转] Linux Crontab 定时任务 命令详解
一. Crontab 介绍 crontab命令的功能是在一定的时间间隔调度一些命令的执行. 1.1 /etc/crontab 文件 在/etc目录下有一个crontab文件,这里存放有系统运行的一些 ...
- ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础
ASP.NET MVC在原来ASP.NET的基础上抛弃了基于页面的架构风格,使用了全新的MVC(模型-视图-控制器)架构的一种技术. 目前,它和ASP.NET都共存在.NET Framework之上. ...
- C#基础笔记(第十四天)
1.MD5加密 用户在数据库存密码需要进行再加密,这样一个过程叫MD5加密只要涉及到存用户的密码一定要用MD5加密MD5密码一般都是16进制的把一个密码转换成16进制的过程就叫MD5加密把字符串加密成 ...
- 线程10--NSOperation的基本操作
一.并发数 (1)并发数:同时执⾏行的任务数.比如,同时开3个线程执行3个任务,并发数就是3 (2)最大并发数:同一时间最多只能执行的任务的个数. (3)最⼤大并发数的相关⽅方法 - (NSInteg ...
- Storm框架:如何根据业务条件选择不同的bolt进行下发消息
Strom框架基本概念就不提了,这里主要讲的是Stream自定义ID的消息流.默认spout.bolt都需实现接口方法declareOutputFields,代码如下: @Override publi ...
- ManualResetEvent
ManualResetEvent是C#中一个比较常用的工具,可用于线程间通信,实现一种类似信号量的功能(不知道我这样描述是否恰当,有可能不是“类似”,而“就是”通过信号量来实现的,因为我也是最近才知道 ...