1 Star 2 Fork 3

MissJin/elasticSearch-springboot-demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

elasticSearch-springboot-demo,实现常规的elk模式[ELK = Elasticsearch, Logstash, Kibana 是一套实时数据收集,存储,索引,检索,统计分析及可视化的解决方案]

  • elasticsearch 6.5.3【检索,存储工具】
  • jdk8+
  • elasticSearch-analysis-ik 6.5.3 【中文分词】
  • kibana-6.5.3-windows-x86_64 【可视化操作】
  • logstash-6.5.3 【日志处理】
  • logstash-input-jdbc 【日志处理的插件】 安装logstash-plugin.bat install logstash-input-jdbc

有机会想实现一下新浪目前的技术架构

want_to_commplet_技术架构

特性

  • 加入一次性mock100万条数据的接口,模拟生成数据还挺快的
  • 优化单元测试的顺序

准备工作

  • 下载elasticSearch中文网的下载地址,选择版本elasticsearch-6.5.3(因为我用的是jdk8)
  • 下载elasticSearch-analysis-ik中文分词下载地址,选择版本elasticsearch-analysis-ik-6.5.3.zip

启动elasticsearch

  • 修改解压后的文件D:\elasticsearch\elasticsearch-6.5.3\config\elasticsearch.yml
cluster.name: my-application 
network.host: 0.0.0.0
http.port: 9200
  • 解压elasticSearch-analysis-ik到D:\elasticsearch\elasticsearch-6.5.3\plugins\ik

  • window直接运行D:\elasticsearch\elasticsearch-6.5.3\bin\elasticsearch.bat

启动springboot

  • 运行单元测试com.hcj.essearch.EssearchApplicationTests

启动kibana

  • 解压文件
  • 修改配置文件
# kibana.yml
server.port: 5601
server.host: 0.0.0.0
server.name: "your-hostname-Kibana"
elasticsearch.url: "http://localhost:9200"
  • 运行
D:\elasticsearch\kibana-6.5.3-windows-x86_64\bin\kibana.bat

# 访问
http://localhost:5601/

启动logstash

  • 解压文件
  • 修改配置文件
# 修改文件logstash.yml
node.name: test
http.host: "127.0.0.1"
http.port: 9600
# 开启配置文件自动加载
config.reload.automatic: true
# logstash-sample.conf的配置
input {
  beats {
    port => 5044
  }
  jdbc {
        jdbc_connection_string => "jdbc:mysql://172.16.0.191:3306/lbz-office?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC"
        jdbc_user => "root"
        jdbc_password => "*****"
        jdbc_driver_library => "D:\elasticsearch\logstash-6.5.3\mysql-connection\mysql-connector-java-8.0.17.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_paging_enabled => "true"
        jdbc_page_size => "50000"
        statement_filepath => "D:\elasticsearch\logstash-6.5.3\mysql-connection\jdbc.sql"
        schedule => "* * * * *"
        type => "jdbc"
    }
}

filter {
    json {
        source => "message"
        remove_field => ["message"]
    }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    #index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    index => "sys_log_db"
    document_type => "sys_log"
    document_id => "%{id}"
    #user => "elastic"
    #password => "changeme"
  }
}
# D:\elasticsearch\logstash-6.5.3\mysql-connection\jdbc.sql文件内容为
select * from sys_log
# 安装 logstash-input-jdbc
logstash-plugin.bat install logstash-input-jdbc
  • 运行
cd D:\elasticsearch\logstash-6.5.3\bin
 .\logstash -f ..\config\logstash-sample.conf

相关截图

elasticSearch.png


elasticSearch_1.png


GET /orders/product/_search
{
  "query": {
    "match_phrase_prefix": {
      "productName": "aa"
    }

  },
  "sort": [
    {
      "createTime": {
        "order": "desc"
      }
    }
  ],
  "from": 0,
  "size": 20,
  "_source": ["productName","productDesc"]
  
}

elasticSearch_kibana1.png


  • 接入logstash+jdbc插件后, 实现数据同步
http://localhost:8088/query_hit_page?pageNo=1&pageSize=10&keyword=POST&indexName=sys_log_db&fields=operation,exception_msg

elasticSearch_logstash_1.png elasticSearch_logstash_2.png

空文件

简介

Elasticsearch+springboot2 demo, ELK(elasticsearch+logstash+kibana) 搭建教程 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/MissJin/elasticSearch-springboot-demo.git
git@gitee.com:MissJin/elasticSearch-springboot-demo.git
MissJin
elasticSearch-springboot-demo
elasticSearch-springboot-demo
master

搜索帮助