2019/07/27 elk基础应用(03)

在这里插入图片描述
搜索引擎两大核心组件
索引组件
搜索组件
构建了索引才能执行搜索操作
索引组件:把索引内容转换成文档格式,最后构建成倒排索引,存储在索引的文件中(最终存储结果是一个又一个的分片 shared)每一个shared都是一个个完整独立的索引
lucene:索引组件、倒排索引
搜索组件:可以提供用户界面,搜索关键词,把关键词做分析后,生成查询条件
Solr, ElasticSearch
els:分布式的搜索组件
分片:shard
Primary Shard 主分片
Replica Shard 副本分片
状态:green (主副本分片都在)/yellow(有一个出现问题)/red(某一分片主副本都丢失)

clustername 识别集群成员方法 els5之后,节点发现就只要单播了
Lucene:有几个核心组件
索引、类型、文档
映射
在这里插入图片描述
访问API是用resuletfullAPI,通过http协议输出,使用curl命令就能直接访问在这里插入图片描述
RESTful API:
curl -X<VERB http请求方法get,put> ‘😕/:/ ?<QUERY_STRING 查询字符串>’ -d 上传文档’’
<BODY http协议的body>:json格式的请求主体;

<VERB
GET 获取,POST,PUT 上传,DELETE

特殊:/_cat, /_search, /_cluster,所有端口请求用search发出

/index_name/type/Document_ID/

之前搜索是针对students进行,也可以针对所有索引进行
在这里插入图片描述
不带索引就是,可以理解这对整个集群进行在这里插入图片描述
也可以只针对固定的类型,针对索引的,特定类型,对应字符串的对应文档
在这里插入图片描述
**对应操作执行多长时间
是否超时
一个搜索多少分片,5
多少个分片成功 **在这里插入图片描述
curl -XGET ‘http://10.1.0.67:9200/_cluster/health?pretty=true’ 向集群发生请求,是否监控

curl -XGET ‘http://10.1.0.67:9200/_cluster/stats?pretty=true’ 查看集群统计数据

curl -XGET ‘http://10.1.0.67:9200/_cat/nodes?pretty’

curl -XGET ‘http://10.1.0.67:9200/_cat/health?pretty’

创建文档:
curl -XPUT 文档无非就是kV组成的数据

文档:
{“key1”: “value1”, “key2”: value, …}

查询:
ELS:很多API
_cluster, _cat, _search

curl -X GET ‘<SCHEME://:/[INDEX/TYPE/]_search?q=KEYWORD&sort=DOMAIN:[asc|desc]&from=#&size=#&_source=DOMAIN_LIST’
可以进行复杂的查询格式,多索引多类型,发起搜索

/_search:搜索所有的索引和类型;
/INDEX_NAME/_search:搜索指定的单个索引;
/INDEX1,INDEX2/_search:搜索指定的多个索引;
/s
/_search:搜索所有以s开头的索引;使用通配符来表示
/INDEX_NAME/TYPE_NAME/_search:搜索指定的单个索引的指定类型;
*在这里插入图片描述
搜索使用的url在这里插入图片描述
获取指定的文档在这里插入图片描述
去搜索students下的major下的1号文档在这里插入图片描述
格式美观一点+?pretty在这里插入图片描述
found =true找到内容了,source{}标识文档本身
真正发送搜索请求时,ELS支持两种类型的查询方式,
q=关键词,简单字符串查询
(1) q=KEYWORD, 相当于q=_all:KEYWORD
(2) q=DOMAIN:KEYWORD
不管哪种查询都需要基于search端点进行
在这里插入图片描述

查询类型:1.Query DSL json格式查询表达的语言,2.简单字符串(q=XXX字符串);

文本匹配的查询条件:
(1) q=KEYWORD, 相当于q=_all:KEYWORD 仅能实现较为简单的查询,也是lucene支持的查询方式,用的最多
(2) q=DOMAIN:KEYWORD

{
“name” : “Docker in Action”,
“publisher” : “wrox”,
“datatime” : “2015-12-01”,
“author” : “Blair”
}

_all: "Docker in Action Wrox 2015-12-01 Blair"

			修改默认查询域:df属性

		查询修饰符:
			https://www.elastic.co/guide/en/elasticsearch/reference/current/search-uri-request.html

获取一个指定索引的所有文档在这里插入图片描述
查询符合条件的文档,q=XX类似使用
搜索包含jianfa对应字符串的文档
在这里插入图片描述
文档有很多KV,搜索剑法搜索哪个key,所有的key。locene构建文档时,会把键的所有数据,连在一起,生成一个特殊键会生成_all,key的数据是把整个三个字段链接起来
这个键会由ES或lucene自行构建
在这里插入图片描述
指明在哪个字段进行搜索
hits真正符合条件等于0
在这里插入图片描述
如果在course找就有 了在这里插入图片描述
相当于_all字段在这里插入图片描述
搜索a就找不到,因为是切词的,不能搜索里面的单个字符在这里插入图片描述
搜索的时候怎么切,索引也需要怎么切,否则搜索出不来,之前并没有根据字母来切在这里插入图片描述
这种就是所谓的词条搜索,jianfa是完整的词在这里插入图片描述在这里插入图片描述http://lucene.apache.org/core/6_6_0/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#package.description
and
表示另外字段,
在这里插入图片描述
词条修饰器
在这里插入图片描述
正则表达式模式搜索在这里插入图片描述
模糊搜索
有一个字符不匹配是可以的2.有两个字符不匹配也是可以的

在这里插入图片描述
近似度查询在这里插入图片描述
在一个字段上写一个字符到另外一个字符 [],范围查询,也可以基于字符串之间的所有字符,{}在这里插入图片描述
找一下年龄在15-20
可能els5.5中的命令行写法有所改变
在这里插入图片描述
对一个词条进行提权,对搜索第一个字符的权重4倍高于第二个在这里插入图片描述
表达多个条件,or ,and ,not在这里插入图片描述在这里插入图片描述
分组,这两个出现任意一个并且 出现website
在这里插入图片描述
大致用到的符号有这么多,6.6.0在这里插入图片描述

简单字符串的语法格式
http://lucene.apache.org/core/6_6_0/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#package.description

如果显示文档只向显示指定的键,age,name不显示了在这里插入图片描述
命令2个文档
在这里插入图片描述返回字段:
fields=
注:5.X不支持;
在这里插入图片描述自定义分析器:
analyzer=

默认操作符:OR/AND
default_operator, 默认值为OR

返回字段:
fields=

注:5.X不支持;

结果排序:
sort=DOMAIN:[asc|desc]

搜索超时:
timeout=

查询结果窗口:结果多过可以只显示10个
from=,默认为0;
size=, 默认为10;
从0开始只显示10个文档

显示几个用size来定义,from类似偏移量
在这里插入图片描述
对查询结果可以排序
在这里插入图片描述
按照年龄排序在这里插入图片描述
降序
在这里插入图片描述在这里插入图片描述

查询修饰符:
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-uri-request.html
这个是复杂查询给出,语句的查询在这里插入图片描述在这里插入图片描述
响应结果各自表示是什么在这里插入图片描述
查询时文档所属的索引
在这里插入图片描述
所属类型在这里插入图片描述
id在这里插入图片描述
得分很关键,排序默认按得分来的在这里插入图片描述在这里插入图片描述
查询历经时长,单位毫秒。true代表超时
shareds代表这些查询针对哪些分片进行,total2,有2个
successfil,falsed有多少成功,多少失败
在这里插入图片描述
命中7个文档,最高多少分,在这里插入图片描述

可以生成查询语句哪个字段,哪个键,允许出现还是不允许出现
range范围查询 大于等于15 小于等于20
在这里插入图片描述
kibana和ELS交互依然用resultfull风格的http协议api进行,最好找一个专门的主机当kibana(使用nodejs研发的)在这里插入图片描述
配置文件kibana.yml在这里插入图片描述
默认监听端口是5601
base.path代表urlpath
node1节点名字
elasticsearch.url els主机在哪里
在这里插入图片描述
直接启动在这里插入图片描述在这里插入图片描述
能搜索任何ELS的索引
创建过滤器只针对特定索引搜索
在这里插入图片描述
对应的索引就这么几个字段在这里插入图片描述
对应的所有内容就已经显示出来了 在这里插入图片描述
course当中有jianfa的进行搜索在这里插入图片描述
年龄15到20在这里插入图片描述
年龄18到30或者course中 有zhang在这里插入图片描述
可以有一个字符不一样
在这里插入图片描述
在course中出现a的
在这里插入图片描述
也可以对某个词条做提权,可以用名字或者年龄来创建分段和比例在这里插入图片描述
平行的bar在这里插入图片描述
现状图在这里插入图片描述
饼图在这里插入图片描述
垂直柱状图在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
这个索引是kibana自己用的,不要动在这里插入图片描述
用另外一个节点当web服务,装一个nginx或apache,tomcat,用于保存日志
在这里插入图片描述
做一个页面来做下测试访问在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
访问的日志如何导入到ELS,
1.可以在本地安装日志抽取工具filebeat/logstash,但是filebeat无法构建更加精准的文档,可以在els和web服务中间加一个filebeat,
在这里插入图片描述在这里插入图片描述
可以自己定义如何去读取提供本地的文件,而后向哪发送数据
在这里插入图片描述
input-type输入格式,读日志的
path 从哪些内容读日志
在这里插入图片描述
读取的内容,然后发 到哪里去
发送的列表可以给多个节点

在这里插入图片描述在这里插入图片描述
访问一下网站在这里插入图片描述
生成的日志数据就能够被发往ELS,只不过els需要导入filebeat模版,对应索引是filebeat,是按天变化的在这里插入图片描述
想搜索在kibana中重新创建一个在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
filebeat没有多少切片能力,logstash有很好的能力,再找一个主机配置logstash,logstash把数据读到本地正规化,把结果再发送给ELS在这里插入图片描述
logstash基于ruby,先安装JDK在这里插入图片描述
在这里插入图片描述在这里插入图片描述
主配置文件在这里插入图片描述在这里插入图片描述
用管理员账号跑可能会有一些冲突,logstash默认用户是nologin,可能切换不过去,可以换成bin/bash在这里插入图片描述在这里插入图片描述
这个配置文件不怎么需要修改在这里插入图片描述
无法读到主配置文件,建议使用–path.setting,来指明到哪里读对应主配置文件在这里插入图片描述
在这里插入图片描述
logstash每一个数据的输入从n多位置输入https://www.elastic.co/cn/products/logstash
在这里插入图片描述https://www.elastic.co/guide/en/logstash/current/input-plugins.html在这里插入图片描述
输入插件都放在input中,输出放在output在这里插入图片描述https://www.elastic.co/guide/en/logstash/current/plugins-inputs-stdin.htm
加个tags标签
require no代表是 不给都没有问题
在这里插入图片描述
输出,只要 保存数据几乎都能输出
https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.htmll
https://www.elastic.co/guide/en/logstash/current/plugins-outputs-stdout.html stdout标准输出
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
-t表示语法测试,测试后退出并不真正执行 -f指明配置文件
在这里插入图片描述
输入数据,哪个主机生成的,生成的信息是什么,输出为json格式
version版本号
host哪个主机

在这里插入图片描述
再次修改配置,把stdin内部改成固定格式的
add filed加字段

在这里插入图片描述在这里插入图片描述在这里插入图片描述
有错误继续修改
在这里插入图片描述
在这里插入图片描述
在output上加有条件来实现,再次测试在这里插入图片描述
输入有N种类型,输出有N种类型https://www.elastic.co/guide/en/logstash/current/plugins-inputs-beats.html在这里插入图片描述
在这里插入图片描述
数据类型是string都要加引号在这里插入图片描述
修改配置文件在这里插入图片描述
在这里插入图片描述
之前是向beats发送数据,现在改为logstash
在这里插入图片描述
在这里插入图片描述
重启filebeat在这里插入图片描述
filebeat只会读取新生成的数据,再次请求
在这里插入图片描述
已经生成数据在这里插入图片描述
默认把所有日志放到一个message中
在这里插入图片描述
logstash还有一个插件filter,过滤器,能实现把输入的数据正规化,一片片数据
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值