ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程(转)
elk中kibna搜索时,如果搜索 包含 单个 双引号 的字符串时:
"'/goods" &&"result\":true"
使用双引号包起来作为一个短语搜索
"like Gecko"
# 字段
也可以按页面左侧显示的字段搜索
限定字段全文搜索:field:value
精确搜索:关键字加上双引号 filed:"value"
http.code:404 搜索http状态码为404的文档
# 字段本身是否存在
_exists_:http:返回结果中需要有http字段
_missing_:http:不能含有http字段
# 通配符
? 匹配单个字符
* 匹配0到多个字符
kiba?a, el*search
? * 不能用作第一个字符,例如:?text *text
# 正则
es支持部分正则功能
mesg:/mes{2}ages?/
# 模糊搜索
~:在一个单词后面加上~启用模糊搜索
first~ 也能匹配到 frist
还可以指定需要多少相似度
cromm~0.3 会匹配到 from 和 chrome
数值范围0.0 ~ 1.0,默认0.5,越大越接近搜索的原始值
# 近似搜索
在短语后面加上~
"select where"~3 表示 select 和 where 中间隔着3个单词以内
# 范围搜索
数值和时间类型的字段可以对某一范围进行查询
length:[100 TO 200]
date:{"now-6h" TO "now"}
[ ] 表示端点数值包含在范围内,{ } 表示端点数值不包含在范围内
# 逻辑操作
AND
OR
+:搜索结果中必须包含此项
-:不能含有此项
+apache -jakarta test:结果中必须存在apache,不能有jakarta,test可有可无
# 分组
(jakarta OR apache) AND jakarta
# 字段分组
title:(+return +"pink panther")
转义特殊字符
+ - && || ! () {} [] ^" ~ * ? : \
以上字符当作值搜索的时候需要用\转义
链接:https://www.jianshu.com/p/f88979868fb2
环境:OS X 10.10.5 + JDK 1.8
步骤:
一、下载ELK的三大组件
Elasticsearch下载地址: https://www.elastic.co/downloads/elasticsearch (目前最新版本:2.1.1)
Logstash下载地址: https://www.elastic.co/downloads/logstash (目前最新版本:2.1.1)
Kibana下载地址: https://www.elastic.co/downloads/kibana (目前最新版本:4.3.1)
下载后将其解压到某个目录即可,本文中的解压目录为:
~/app/elasticsearch-2.1.1
~/app/logstash-2.1.1
~/app/kibana-4.3.1-darwin-x64
注:这3个组件相互之间的关系及作用如下:
Logstash(收集服务器上的日志文件) --》然后保存到 ElasticSearch(搜索引擎) --》Kibana提供友好的web界面(从ElasticSearch读取数据进行展示)
二、启动elasticsearch
2.1
进入elasticsearch目录\bin
./elasticsearch
顺利的话,启动成功后,在浏览器里输入http://localhost:9200/ 应该能看到类似下面的输出:
1 {
2 "name" : "Atalanta",
3 "cluster_name" : "elasticsearch",
4 "version" : {
5 "number" : "2.1.1",
6 "build_hash" : "40e2c53a6b6c2972b3d13846e450e66f4375bd71",
7 "build_timestamp" : "2015-12-15T13:05:55Z",
8 "build_snapshot" : false,
9 "lucene_version" : "5.3.1"
10 },
11 "tagline" : "You Know, for Search"
12 }
2.2 安装kopf插件
先按Ctrl+C停止elasticsearch,接下来准备安装插件,elasticsearch有大量插件资源,用于增加其功能,bin目录下,输入
./plugin list 可以查看当前安装的插件列表,我们刚刚全新安装,输出的是一个空列表,继续输入
./plugin install lmenezes/elasticsearch-kopf
将会联网安装kopf插件,安装完成后,再次用./plugin list确认下:
Installed plugins in /Users/yjmyzz/app/elasticsearch-2.1.1/plugins:
- .DS_Store
- kopf
如果输出上述类似,表明kopf安装成功。
然后重启elasticsearch,浏览器里输入http://localhost:9200/_plugin/kopf,将会看到类似下面的界面,可以很直观的看到elasticsearch的一些运行状况
以上操作都ok后,建议Ctrl+C关掉,改用nohup ./elasticsearch & 将其做为后台进程运行,以免退出。
三、logstash的启动与配置
3.1 新建索引配置文件
~/app/logstash-2.1.1/bin 下
mkdir conf
vi conf/logstash-indexer.conf
内容如下:
1 input {
2 file {
3 path => ["/var/opt/log/a.log","/var/opt/log/b.log"]
4 }
5 }
6
7 output {
8 elasticsearch { hosts => ["localhost:9200"] }
9 stdout { codec => rubydebug }
10 }
上面几个步骤的意思就是创建一个名为logstash-indexer.conf的配置文件,input{file{...}}部分指定的是日志文件的位置(可以多个文件),一般来说就是应用程序log4j输出的日志文件。output部分则是表示将日志文件的内容保存到elasticsearch,这里hosts对应的是一个数组,可以设置多个elasticsearch主机,相当于一份日志文件的内容,可以保存到多个elasticsearch中。
至于第9行的stdout,则表示终端的标准输出,方便部署时验证是否正常运行,验证通过后,可以去掉。
3.2 启动
继续保持在logstash的bin目录下,输入
./logstash -f conf/logstash-indexer.conf
稍等片刻,如果看到Logstash startup completed,则表示启动成功。然后另开一个终端窗口,随便找个文本编辑工具(比如:vi),向/var/opt/log/a.log里写点东西,比如:hello world之类,然后保存。观察logstash的终端运行窗口,是否有东西输出,如果有以下类似输出:
1 {
2 "message" => "hello world",
3 "@version" => "1",
4 "@timestamp" => "2016-01-08T14:35:16.834Z",
5 "host" => "yangjunmingdeMacBook-Pro.local",
6 "path" => "/var/opt/log/a.log"
7 }
说明logstash工作正常,此时浏览http://localhost:9200/_search?pretty 也应该能看到一堆输出,表明elasticsearch接收到logstash的数据了。
四、kibana的配置及启动
4.1 修改配置文件
~/app/kibana-4.3.1-darwin-x64/config 下有一个配置文件kibana.yml,大概在12行的位置,改成下面这样:
1 # The Elasticsearch instance to use for all your queries.
2 elasticsearch.url: "http://localhost:9200"
即:指定elasticsearch的访问位置
4.2 启动
~/app/kibana-4.3.1-darwin-x64/bin 下,输入:
./kibana
注:如果启动不成功,请检查版本是否为4.3.1,kibana必须与elasticsearch的版本匹配,一般说来,都从官网下载最新版即可。
启动完成后,在浏览器里输入http://localhost:5601/ 即可看到kibana界面,首次运行,会提示创建index,直接点击Create按钮即可。
然后,就能看到类似下面的界面了:
参考文章:
http://baidu.blog.51cto.com/71938/1676798?utm_source=tuicool&utm_medium=referral
https://www.elastic.co/products
http://www.cnblogs.com/yjf512/p/4199105.html
http://kibana.logstash.es/content/
http://www.cnblogs.com/yjmyzz/p/ELK-install-tutorial.html
ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程(转)的更多相关文章
- 键盘侠Linux干货| ELK(Elasticsearch + Logstash + Kibana) 搭建教程
前言 Elasticsearch + Logstash + Kibana(ELK)是一套开源的日志管理方案,分析网站的访问情况时我们一般会借助 Google / 百度 / CNZZ 等方式嵌入 JS ...
- Elasticsearch + Logstash + Kibana 搭建教程
# ELK:Elasticsearch + Logstash + Kibana 搭建教程 Shipper:日志收集者.负责监控本地日志文件的变化,及时把日志文件的最新内容收集起来,输出到Redis暂存 ...
- ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程
环境:OS X 10.10.5 + JDK 1.8 步骤: 一.下载ELK的三大组件 Elasticsearch下载地址: https://www.elastic.co/downloads/elast ...
- ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程 good
环境:OS X 10.10.5 + JDK 1.8 步骤: 一.下载ELK的三大组件 Elasticsearch下载地址: https://www.elastic.co/downloads/elast ...
- 用ElasticSearch,LogStash,Kibana搭建实时日志收集系统
用ElasticSearch,LogStash,Kibana搭建实时日志收集系统 介绍 这套系统,logstash负责收集处理日志文件内容存储到elasticsearch搜索引擎数据库中.kibana ...
- 【转】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的开源分布式搜索引擎)中便于查找和分析,在研究 ...
- 使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践--转载
原文地址:https://wsgzao.github.io/post/elk/ 另外可以参考:https://www.digitalocean.com/community/tutorials/how- ...
- ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台
一.简介 ELK 由三部分组成elasticsearch.logstash.kibana,elasticsearch是一个近似实时的搜索平台,它让你以前所未有的速度处理大数据成为可能. Elastic ...
随机推荐
- libvirt(virsh命令介绍)
有了virt-install是安装虚拟机的命令,当然也需要一个管理虚拟机的命令了,那就是virsh. virsh命令使用 virsh <command> <domain-id> ...
- word2vec 中的数学原理具体解释(五)基于 Negative Sampling 的模型
word2vec 是 Google 于 2013 年开源推出的一个用于获取 word vector 的工具包,它简单.高效,因此引起了非常多人的关注. 因为 word2vec 的作者 Tomas ...
- 用Swift完成不同View Controller之间的切换
之前用objective-c开发时,页面之间的切换很容易.其实用swift没有很大的变化,如果你是用storyboard完成的界面,基本上是同样的方式,只不过在代码部分写成swift风格的就行了. 今 ...
- 在eclipse上安装 sdk出现的各种问题
在eclipse上下进行android开发需要 有android SDK 和ADT 一般adt版本瑶台低, 会被提示安装较高版本的ADT, 不然, SDK可能无法使用 在安装 SDK过程中出现这样 ...
- Linux命令: chown
touch auth.log root@ubuntu:/work# ls -l auth.log -rw-r--r-- 1 root root 0 Feb 18 19:27 auth.log chow ...
- .net嵌入c#代码(投票练习)
.net嵌入c#代码(投票练习) <%@ Page Language="C#" AutoEventWireup="true" CodeFile=" ...
- [置顶] 编程模仿boost::function和boost::bind
boost::function和boost::bind结合使用是非常强大的,他可以将成员函数和非成员函数绑定对一个对象上,实现了类似C#的委托机制.委托在许多时候可以替代C++里面的继承,实现对象解耦 ...
- codility上的问题(26) Hydrogenium 2013
题目,挺无聊的.一个裸的最短路.n个点,你住在0,要去买东西,每个点有一个关门时间,问能最早买到食物的时间.有两点注意 (1)有重边 (2) 原图是dicrect连接...但不是有向边,被这个误导了. ...
- android 屏幕尺寸的理解
对android设备屏幕尺寸单位的理解 一.android移动设备(手机和平板)常用的关于屏幕的一些单位: 1.px:像素点,应该是一个统一的单位,与我们国际单位米(M)应该是一回事,它应该是屏幕尺寸 ...
- MSSQL - SqlDataReader
DataReader对象: ·DataReader对象是一个读取行的只读流的方式,绑定数据时比使用数据集方式性能要高,因为他是只读的,所以如果要对数据库中的数据进行修改就需要借助 将所做的修改保存到数 ...