kibana和ElasticSearch的信息查询检索
使用kibana来进行ElasticSearch的信息查询检索
大家经常会听到使用ELK搭建日志管理平台、完成日志聚合检索的功能,那么这个平台到底是个什么概念,怎么搭建,怎么使用呢?
ELK包括ElasticSearch(数据存储、快速查询)、logstash(日志搜集)、kibana(展示ElasticSearch数据的图形界面)。
kibana是一个图形界面,可以在上面条件检索存储在ElasticSearch里数据,相当于提供了ES的可视化操作管理器。大概长下面这样子,在条件栏我输入了id:<10,然后它就把id<10的数据展示出来。
可以看到,kibana搭配ES是一个不错的选择,比ES的head插件的界面友好多了。注意,它们与logstash是没有任何关系的,完全可以单独使用,logstash相当于一个日志中转站,通过接收客户端发送来的日志,然后把日志存储到ES中。
下面我们就来看一下kibana搭配ES使用的案例。
1 搭配kibana环境
ELK这3个软件都是Elastic一家的,可以在https://www.elastic.co/downloads/past-releases 下载到各个版本的三个软件,但是需要注意版本的对应关系,一般每一个ElasticSearch都有一个同样版本的logstash,譬如我之前文章中使用的ES2.3.4,logstash也有个2.3.4,与之对应的kibana版本是4.5.2
先安装好ES,如果没装过的回头看http://blog.csdn.net/tianyaleixiaowu/article/details/72846814
下载kibana,wget https://download.elastic.co/kibana/kibana/kibana-4.5.2-1.x86_64.rpm。
安装,rpm -ivh kibana-4.5.2-1.x86_64.rpm。
安装后,需要到安装目录做配置,第一次我安装后,居然找不到安装目录了,使用命令 rpm -ql kibana-4.5.2-1.x86_64查找安装目录,发现和其他软件默认的不一样,它是安装到/opt/kibana里去了。我们进到该目录,vi config/kibana.yml.
这个配置文件大家仔细看一下,里面有很多重要的默认配置信息。端口号5601,hostip 0.0.0.0,elasticsearch.url:localhost:9200,kibana.index:.kibana,还有ES的账号密码。
这些配置如果你需要改动哪个就改动哪个,譬如你的ES和kibana不在一个主机,那就需要改一下ip。这里我的ELK三个软件都在一个linux主机上,所有kibana的配置我保持不变即可。
启动kibana,执行bin/kibana即可。
这里有个小知识点,我用终端连接了远程服务器,并启动了kibana,那么这个终端就会一直停留在启动界面,不能做别的操作了,当终端关闭,kibana也就关闭了。所以我需要将kibana进程放到后台去。
- Ctrl+z,暂停进程,然后看到进程的作业号,如图为1
 - bg %1置为后台运行
 - disown -h %1使其不受终端关闭的影响
2 使用kibana
启动完kibana后,访问ip:5601即可看到类似于下面的界面。初次使用时,会让你配置一个默认的index,也就是你至少需要关联一个ES里的Index,可以使用pattern正则匹配。
由于之前我们已经使用过ES了,里面是有index的,用es的head看看
我这里面有几个index,其中.kibana是kibana自己创建的,其他几个都是我创建的。
如果你ES里没有index的话,就得先创建个,插入数据,然后才能使用kibana的查询功能。之前的文章里已经讲过怎么给ES插值了,譬如那个百万数据查找附近的人功能,里面的数据就是插入到图上的Elastic_search_project里了,有155M。下面我就再用个简单的例子插值吧。
'''
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType; 
import java.util.Date;
@Document(indexName="blog_index",type="blog",indexStoreType="fs",shards=5,replicas=1,refreshInterval="-1")
public class Blog {
@Id
private int id;
private String name;  
@Field(type = FieldType.Date)
private Date createTime;  
public int getId() {
    return id;
}  
public void setId(int id) {
    this.id = id;
}  
public String getName() {
    return name;
}  
public void setName(String name) {
    this.name = name;
}  
public Date getCreateTime() {
    return createTime;
}  
public void setCreateTime(Date createTime) {
    this.createTime = createTime;
}
}
'''
这里有个地方需要注意,就是必须要有一个为Date类型的field,不然kibana那里是添加不了这个Index的,kibana是以时间排序来进行查询选择的。
你只定义Date还是不行的,必须有@Field(FieldType.Date)标注,不然Date类型会被自动转为Long。
定义好这个bean,就可以往ES里插值了,不会的请参考之前的文章。
插值后,先在ES里看看
然后就可以在kibana里添加Index了
你填写index name后,就会自动出现Time-field name的下拉框,自自动找到Field为Date的字段。
点击Create即可。然后打开discover界面,就可以查看搜索对应的ES的Index了。注意箭头标的都应该点开看看,都是常用的功能。
右上角的时间选择默认是最近15分钟,所以如果看不到数据了,就调一下时间。
查询输入框里可以输入各种条件,你能用字段名和你感兴趣的值构建一个搜索,数字类型的数据可使用比较操作符比如>、<、=等,你可使用AND、OR、 NOT逻辑符连接元素,必须是大写。譬如
id:<50 AND id:>10
name:=name9
这里你可以构建自己的查询条件来完成想要的查询结果。
此外,你还可以完成数据聚合,地图位置显示,柱状图之类的展示,在大数据中非常有用。
还有一些使用可参考http://blog.csdn.net/ming_311/article/details/50619859,还有官网https://www.elastic.co/cn/products/kibana
https://blog.csdn.net/tianyaleixiaowu/article/details/76610036
https://blog.csdn.net/tianyaleixiaowu/article/category/6952508
kibana和ElasticSearch的信息查询检索的更多相关文章
- 使用kibana来进行ElasticSearch的信息查询检索
		
大家经常会听到使用ELK搭建日志管理平台.完成日志聚合检索的功能,那么这个平台到底是个什么概念,怎么搭建,怎么使用呢? ELK包括ElasticSearch(数据存储.快速查询).logstash(日 ...
 - 利用kibana插件对Elasticsearch进行bool查询
		
#bool查询#老版本的filtered查询已经被bool代替#用 bool包括 must should must_not filter来完成 ,格式如下:#bool:{# "filter ...
 - Elasticsearch文档查询
		
简单数据集 到目前为止,已经了解了基本知识,现在我们尝试用更逼真的数据集,这儿已经准备好了一份虚构的JSON,关于客户银行账户信息的.每个文档的结构如下: { , , "firstname& ...
 - windows系统中 利用kibana创建elasticsearch索引等操作
		
elasticsearch之借用kibana平台创建索引 1.安装好kibana平台 确保kibana以及elasticsearch正常运行 2.打开kibana平台在Dev Tools 3.创建一个 ...
 - Elasticsearch Sliced Scroll分页检索案例分享
		
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> The best elasticsearch highlevel java rest api-----bboss ...
 - Linux下,非Docker启动Elasticsearch 6.3.0,安装ik分词器插件,以及使用Kibana测试Elasticsearch,
		
Linux下,非Docker启动Elasticsearch 6.3.0 查看java版本,需要1.8版本 java -version yum -y install java 创建用户,因为elasti ...
 - 利用kibana学习 elasticsearch restful api (DSL)
		
利用kibana学习 elasticsearch restful api (DSL) 1.了解elasticsearch基本概念Index: databaseType: tableDocument: ...
 - Elasticsearch(GEO)空间检索查询
		
Elasticsearch(GEO)空间检索查询python版本 1.Elasticsearch ES的强大就不用多说了,当你安装上插件,搭建好集群,你就拥有了一个搜索系统. 当然,ES的集群优化和查 ...
 - Elasticsearch之cur查询索引
		
前提, Elasticsearch之curl创建索引库 Elasticsearch之curl创建索引 Elasticsearch之curl创建索引库和索引时注意事项 Elasticsearch之cur ...
 
随机推荐
- Flask模拟实现CSRF攻击
			
CSRF CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造. CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求. 包括:以你名义发送邮件,发消息,盗取你的账号 ...
 - LVS-DR模式实现调度负载
			
本篇文章主要梳理一下LVS前端调度过程及用户请求过程 实验架构 准备工作 添加各主机路由联通主机通信 Client IP route add default gw 172.20.17.19 Route ...
 - python一个小程序:猜数字
			
猜数字游戏程序运行示例: I am thinking of a number between 1 and 20. Take a guess. 8 Your guess is too low. Take ...
 - html样式不兼容 详解(转)
			
网站对火狐不兼容的原因以及解决的方法 1.DOCTYPE 影响 CSS 处理 2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行 3. ...
 - hadoop生态搭建(3节点)-03.zookeeper配置
			
# https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html # ===== ...
 - 自定义vim配置文件vimrc,用于c/c++编程
			
vim作为Linux下广受赞誉的代码编辑器,其独特的纯命令行操作模式可以很大程度上方便编程工作,通过自定义vim配置文件可以实现对vim功能的个性化设置. vim配置文件一般有两份,属于root的/e ...
 - "Mon Dec 31 00:00:00 CST 2012" java日期装换 "yyyy-MM-dd"
			
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import ja ...
 - (数据科学学习手札09)系统聚类算法Python与R的比较
			
上一篇笔者以自己编写代码的方式实现了重心法下的系统聚类(又称层次聚类)算法,通过与Scipy和R中各自自带的系统聚类方法进行比较,显然这些权威的快捷方法更为高效,那么本篇就系统地介绍一下Python与 ...
 - JavaScript---设计模式简介
			
概念 设计模式(Design pattern)是一套被反复使用.思想成熟.经过分类和无数次实战设计经验的总结的.使用设计模式是为了让系统代码可重用.可扩展.可解耦.更容易被人理解且能保证代码的可靠性. ...
 - Java常考面试题
			
Java常考面试题 1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? 答:Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行 ...