springcloud与ELK集成
1.ELK简介:
所谓elk,就是一个完整的日志分析解决方案,是由Elasticsearch、Logstash、Kibana这三个开源工具组成。
Elasticsearch用于日志数据深度搜索和数据分析。
Logstash用于日志集中管理,包括从多台服务器上传送和转发日志信息,可以理解为一个日志数据管道,支持数据的写入和写出。
Kibana就是Elasticsearch数据的图形化展示界面,功能十分强大。
2.安装Elasticsearch
下载Elasticsearch,下载地址:https://www.elastic.co/downloads/elasticsearch 解压缩到一个路径(解压缩)bin目录下启动elasticsearch.bat
启动浏览器访问localhost:9200出现以下界面即为ES启动成功
3.安装Kibana
下载https://www.elastic.co/cn/downloads/kibana,解压,启动bin目录下
启动后访问localhost:5601访问kibana主页
kibana是ES的图形化展示工具,执行到这里表示启动了kibana,稍后再利用logstash从数据库读取日志信息然后再输出到ES进行展示
4.安装logstash
下载https://www.elastic.co/cn/downloads/logstash,解压安装logstash
在bin目录下新建conf文件夹、在conf文件夹新建jdbc.conf文件
jdbc.conf文件详细配置
input {
stdin {
}
jdbc {
#数据库四大金刚配置
jdbc_connection_string => "jdbc:mysql://192.168.30.121:3306/aigou-shop-log?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"
jdbc_user => "root"
jdbc_password => "123456"
#数据库驱动路径
jdbc_driver_library => "C:/Users/Mark__LY/Desktop/java/ES/mysql/mysql-connector-java-8.0.11.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
#这里可以指定sql文件或直接写SQL语句
statement => "SELECT * FROM t_platform_log"
#定义每分钟去刷新数据库数据
schedule => "* * * * *"
type => "context"
}
}
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
elasticsearch {
#输出至ES的端口
hosts => "localhost:9200"
#输出至ES的索引
index => "m8"
#设置_id自增
document_id => "%{id}"
}
stdout {
codec => json_lines
}
}
在logstash bin目录下启动cmd 输入logstash -f conf/jdbc.conf
会自动从数据库中导入数据
访问localhost:5601进入kibana主页
选择management选项
再选择index Patterns
创建索引
m8与之前jdbc.conf的配置文件中的index => "m8"要匹配
继续next
点击Discover进入查看就可以看到数据库的数据了
ES里面具有深度搜索,全文检索等等,功能十分强大。后续再持续更新logstash与locback集成发送日志到ES