- ElasticSearch 搜索引擎(7.2.0)
- kibana管控台
- postman
- logstash
elasticsearch、kibana、logstash版本最好保持一致
elk整一套软件可以当作一个MVC模型,logstash是controller层,Elasticsearch是一个model层,kibana是view层。

安装ElasticSearch
cd /home/czg
#复制地址
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.2.0-linux-x86_64.tar.gz
#下载(好慢哦)
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.2.0-linux-x86_64.tar.gz
#解压
tar -vxf elasticsearch/elasticsearch-7.2.0-linux-x86_64.tar.gz
#加压后
cd elasticsearch-7.2.0-linux-x86_64
启动ElasticSearch&配置
#启动ElasticSearch
# sh ./bin/elasticsearch
./bin/elasticsearch
#启动成功可以看到默认的启动端口,而且仅对本机开放:127.0.0.1:9200
#使用浏览器或curl进行测试
curl localhost:9200

查看9200端口的开放情况
#默认elasticsearch仅本机可以访问
sudo netstat -ap |grep 9200
在elasticsearch.yml文件中增加
network.bind_host: 0.0.0.0
#修改elasticsearch.yml文件后出现了一些问题,具体查看:http://www.cnblogs.com/zhi-leaf/p/8484337.html。
#和https://www.cnblogs.com/hellxz/p/11057234.html

客户端工具推荐postman&kibana(版本与es一致)
安装kibana管控台与配置
cd /home/czg
#复制地址
https://artifacts.elastic.co/downloads/kibana/kibana-7.2.0-linux-x86_64.tar.gz
#下载(好慢哦)
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.2.0-linux-x86_64.tar.gz
#解压
tar -vxf elasticsearch/kibana-7.2.0-linux-x86_64.tar.gz
#加压后
cd kibana-7.2.0-linux-x86_64.tar.gz
运行kibana
#默认连接到本机的elasticsearch(如非本机需要额外配置)
./bin/kibana
#默认端口127.0.0.1:5601
#提供一些用例http://192.168.1.116:5601/app/kibana#/
#部分问题查阅https://blog.csdn.net/yybk426/article/details/80090238




postman、kibana对ES的交互
#查看所有索引
get方法 http://192.168.1.116:9200/_all

#创建一个cztest索引
put方法 192.168.1.116:9200/cztest
删除索引
delete方法 192.168.1.116:9200/cztest


#在cztest中新增记录
#header 设置Content-Type是 application/json
#如果是用 postman 的话,可以进入Body,然后选择 raw JSON(application/json)格式
put方法 192.168.1.116:9200/cztest/_doc/1
#用例1
{
"first_name":"cai",
"last_name":"haibin",
"age":25,
"about":"我喜欢美术、运动,来自福建",
"interests":["运动","美术"]
}
#用例2
{
"first_name":"wang",
"last_name":"yueliang",
"age":33,
"about":"我喜欢游戏、爬山,来自湖南",
"interests":["游戏","爬山"]
}



#在cztest中查询数据
#header 设置Content-Type是 application/json
get方法 192.168.1.116:9200/cztest/_doc/1
get方法 192.168.1.116:9200/cztest/_doc/_search?q=last_name:yueliang


kibana使用
使用kibana汇总数据

dev tools控制台执行es命令
curl -XGET "http://localhost:9200/_search" -H 'Content-Type: application/json' -d'{ "query": { "match_all": {} }}'
#搜索1对应的记录
curl -XGET "http://localhost:9200/cztest/_doc/1"


#查询数据should表示or,must表示and
curl -XPOST "http://localhost:9200/cztest/_search" -H 'Content-Type: application/json' -d'{ "query": { "bool": { "should": [ {"match": { "last_name": "haibin" }} ] } }}'

#kibana查询数据2 should表示or
curl -XPOST "http://localhost:9200/cztest/_search" -H 'Content-Type: application/json' -d'{ "query": { "bool": { "should": [ {"match": { "last_name": "haibin" }}, {"match": { "last_name": "yueliang" }} ] } }}'

搭建ELK——logstash
第一步:
选择合适的版本下载:Download Logstash

cd /home/czg
#下载(好慢哦)
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.2.0.tar.gz
#解压
tar -vxf logstash-7.2.0.tar.gz
配置语法
logstash的各个场景应用(配置文件均已实践过)
#测试logstash的hello world
bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
#然后输入hello world

Beats简介图

elasticSearch学习资料
#官方文档
https://www.elastic.co/cn/learn
#国内elasticsearch社区
https://elasticsearch.cn/
视频
#Springboot + ElasticSearch 构建博客检索系统
https://www.imooc.com/video/19948
#Elastic Stack入门
http://www.imooc.com/learn/920
网友评论