ELK数据流
- 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
其他pc 用postman访问
客户端工具推荐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
没有启动成功
没有启动成功2-服务器没有启动 启动成功页面 image.png
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":["游戏","爬山"]
}
新增headers参数
新增body中raw参数
新增成功提醒
#在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汇总数据
image.png
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"
dev tools简介
搜索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查询数据
#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" }} ] } }}'
kibana查询数据
搭建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
logstash的helloworld例子
Beats简介图
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
网友评论