ELK elasticsearch+logstash+kibana环境搭建和使用入门,看这篇就够了

什么是elaticsearch?

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

上官网下载对象压缩包

https://www.elastic.co/

ELK elasticsearch+logstash+kibana环境搭建和使用入门,看这篇就够了_第1张图片

1.elaticseach安装和配置

下载解压

修改配置 config--> ealticsearch.yml

添加端口号,访问白名单

http.cors.enabled: true
http.cors.allow-origin: "*"
network.host: 0.0.0.0
http.port: 9200

2.中文分词插件 (非必需,当需要中文分词时再安装该插件)

2.1)安装 github地址

https://github.com/medcl/elasticsearch-analysis-ik

查找对应es版本

ELK elasticsearch+logstash+kibana环境搭建和使用入门,看这篇就够了_第2张图片

下载压缩包并解压到elasticsearch-6.4.0\plugins\ik 下

ELK elasticsearch+logstash+kibana环境搭建和使用入门,看这篇就够了_第3张图片

2.2)添加自定义词库

当默认分词中没有想要的词语时,可以添加自定义词库到ik插件中

ELK elasticsearch+logstash+kibana环境搭建和使用入门,看这篇就够了_第4张图片

修改该文件配置

ELK elasticsearch+logstash+kibana环境搭建和使用入门,看这篇就够了_第5张图片

再当前目录新建my.dic文件,并添加自定义词库到该文件中即可

 

3.运行es(window环境下)

 

 

说明已经启动成功,至此es启动完成,接着就可以往es中进行增删改查的操作

ELK elasticsearch+logstash+kibana环境搭建和使用入门,看这篇就够了_第6张图片

ELK elasticsearch+logstash+kibana环境搭建和使用入门,看这篇就够了_第7张图片

5.使用logstash jdbc-input同步mysql数据库数据到es中

在实际应用中,不一定直接把es当作数据库使用,有时只需要把数据库中部分数据导入es中,这时候就需要用到logstash进行同步

5.1)下载logstash

在es官网找到logstash,下载,注意跟es版本要一致!!!!

ELK elasticsearch+logstash+kibana环境搭建和使用入门,看这篇就够了_第8张图片

 

5.2)同步数据

在logstash根目录下config中新建sql文件(例子同步了两张表,homestay和roomtype)

ELK elasticsearch+logstash+kibana环境搭建和使用入门,看这篇就够了_第9张图片

新建配置文件jdbc.conf

input {

stdin {

}

jdbc {



jdbc_connection_string => "jdbc:mysql://xxxxxxx:4000/xx_server_test"

jdbc_user => "root"

jdbc_password => ""

jdbc_driver_library =>

"D:/codeTool/elasticsearch-6.6.0/mysqlconnector/mysql-connector-java-5.1.46.jar"

jdbc_driver_class => "com.mysql.jdbc.Driver"

jdbc_paging_enabled => "true"

jdbc_page_size => "50000"

statement_filepath => "D:/codeTool/logstash-6.2.2/config/test_roomtype.sql"

# 设置监听间隔 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新

schedule => "* * * * *"

type => "roomtype"

}

jdbc {

jdbc_connection_string => "jdbc:mysql://xxxx:4000/xxxx_server_test"



jdbc_user => "root"

jdbc_password => ""



jdbc_driver_library =>

"D:/codeTool/elasticsearch-6.6.0/mysqlconnector/mysql-connector-java-5.1.46.jar"



jdbc_driver_class => "com.mysql.jdbc.Driver"

jdbc_paging_enabled => "true"

jdbc_page_size => "50000"

statement_filepath => "D:/codeTool/logstash-6.2.2/config/test_homestay.sql"

# 设置监听间隔 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新

schedule => "* * * * *"

type => "homestay"

}

}



filter {

json {

source => "message"

remove_field => ["message"]

}

}



output {



if[type] == "roomtype" {

elasticsearch {

hosts => ["localhost:9200"]

index => "index_roomtype"

document_id => "%{id}"

#同时指定字段分词映射,非必需,后面介绍

template_overwrite => true

template => "D:/codeTool/logstash-6.4.0/config/logstash-ik.json"

}

}

if[type] == "homestay" {

elasticsearch {

hosts => ["localhost:9200"]

index => "index_homestay"

document_id => "%{id}"

template_overwrite => true

template => "D:/codeTool/logstash-6.4.0/config/logstash-ik.json"

}

}

stdout {

codec => json_lines

}

}

 

在命令控制台logstash目录bin下

执行语句

logstash -f ../config/jdbc.conf

ELK elasticsearch+logstash+kibana环境搭建和使用入门,看这篇就够了_第10张图片

 

接下在每分钟logstash会同步数据库数据到es的索引中

如果要查看es中的数据,可以通过elasticsearch-head插件或kibana查看

elasticsearch-head插件安装可查看这篇文章

https://www.cnblogs.com/qdhxhz/p/9520685.html

 

ELK elasticsearch+logstash+kibana环境搭建和使用入门,看这篇就够了_第11张图片

 

6.kibana

什么是kibana?

Kibana 是一个设计出来用于和 Elasticsearch 一起使用的开源的分析与可视化平台,可以用 kibana 搜索、查看、交互存放在Elasticsearch 索引里的数据,使用各种不同的图表、表格、地图等展示高级数据分析与可视化,基于浏览器的接口使你能快速创建和分享实时展现Elasticsearch查询变化的动态仪表盘,让大量数据变得简单,容易理解

 

6.1)安装

kibana安装比较简单,在es官网下载跟es版本匹配的kibana解压即可

 

6.2)运行

在kibana的config目录下修改配置文件kibana.yml

设置es访问地址和端口

ELK elasticsearch+logstash+kibana环境搭建和使用入门,看这篇就够了_第12张图片

运行

ELK elasticsearch+logstash+kibana环境搭建和使用入门,看这篇就够了_第13张图片

 

在浏览器访问

http://localhost:5601/app/kibana#/dev_tools/console?_g=()

 

ELK elasticsearch+logstash+kibana环境搭建和使用入门,看这篇就够了_第14张图片

6.3)常见的es API

精确查询(查询所有test中包含"中国"这个分词的内容)

GET test/_search

{

"query" : { "term" : { "content" : "中国" }}

}

获取配置模板

GET _cat/templates

删除指定模板

DELETE _template/indexss

删除指定索引

DELETE "索引名"

查看ik_max_word分词规则是否生效

GET _analyze?pretty

{

"analyzer": "ik_max_word",

"text":"海之吻酒店"

}

 

你可能感兴趣的:(java开发)