淘东电商项目(45) -Docker下Kibana与Logstash的ES集群配置(一次填完所有的坑)

网友投稿 264 2022-10-22

淘东电商项目(45) -Docker下Kibana与Logstash的ES集群配置(一次填完所有的坑)

引言

本文代码已提交至Github,有兴趣的同学可以下载来看看:​​-Docker下安装ES&Kibana(一次填完所有的坑)》​​​​《淘东电商项目(40) -Docker下安装Logstash(一次填完所有的坑)》​​​​《淘东电商项目(41) -利用Logstash自动同步数据库内容到ES(超详细)》​​​​《淘东电商项目(42) -利用Logstash自动同步数据库内容到ES(多文件方式)》​​​​《淘东电商项目(44) -Docker下搭建ElasticSearch集群》​​

本文目录结构:

​​l____引言​​

​​l____ 1. kibana配置ES集群 ​​

​​l____ 2. logstash配置ES集群​​

​​l____ 3. 测试​​

​​l____ 4. 总结​​

1. kibana配置ES集群

1.新建宿主主机的挂载配置文件:

cd /usr/localmkdir -p kibana/configcd kibanacd configvi kibana.yml

配置内容如下:

server.port: 5601server.host: "0.0.0.0"elasticsearch.hosts: ["class="data-table" data-width="100%" style="outline: none; border-collapse: collapse; width: 100%;">

字段

解析

server.port

kibana运行端口

server.host

kibana后端服务器的主机,如果设置为“127.0.0.1”将访问不了,如果设置为“192.168.162.134”则启动失败,建议设置为"0.0.0.0"

elasticsearch.hosts

es集群地址,不要使用elasticsearch.url,因为过期了

2.以挂载配置文件的方式启动kibana

docker run \-d -p 5601:5601 \-v /usr/local/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \--name kibana-cluster kibana:7.6.1

注意:最后一行 kibana-cluster名字不能为kibana,不然docker启动会识别不了。

3.浏览器访问

访问​​​logstash配置ES集群

1.新建宿主主机的挂载配置文件:

cd /usr/localmkdir -p logstash/configcd logstashmkdir libcd configvi mysql.confvi mysql1.confvi pipelines.yml

上传jar包到​​/user/local/logstash/lib​​目录下:

配置:​​mysql.conf​​​、​​mysql1.conf​​​、​​pipelines.yml​​)

​1. mysql.conf内容(注意es集群配置):​

input { jdbc { jdbc_driver_library => "/usr/share/logstash/lib/mysql-connector-java-5.1.46.jar" jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_connection_string => "jdbc:mysql://192.168.18.166:3306/taodong-goods" jdbc_user => "root" jdbc_password => "123456" schedule => "* * * * *" statement => "SELECT * FROM product WHERE UPDATED_TIME > :sql_last_value" use_column_value => true tracking_column_type => "timestamp" tracking_column => "updated_time" last_run_metadata_path => "syncpoint_product_table" }}output { elasticsearch { hosts => ["192.168.162.134:9201","192.168.162.134:9202"] index => "product" document_id => "%{id}" document_type => "product" } stdout { codec => json_lines }}

​2. mysql1.conf内容(注意es集群配置):​

input { jdbc { jdbc_driver_library => "/usr/share/logstash/lib/mysql-connector-java-5.1.46.jar" jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_connection_string => "jdbc:mysql://192.168.18.166:3306/taodong-goods" jdbc_user => "root" jdbc_password => "123456" schedule => "* * * * *" statement => "SELECT * FROM category WHERE UPDATED_TIME > :sql_last_value" use_column_value => true tracking_column_type => "timestamp" tracking_column => "updated_time" last_run_metadata_path => "syncpoint_category_table" }}output { elasticsearch { hosts => ["192.168.162.134:9201","192.168.162.134:9202"] index => "category" document_id => "%{id}" document_type => "category" } stdout { codec => json_lines }}

​3. pipelines.yml内容:​

- pipeline.id: product_table path.config: "/usr/share/logstash/config/mysql.conf"- pipeline.id: category_table path.config: "/usr/share/logstash/config/mysql1.conf"

2.以挂载配置文件的方式启动logstash

​​mysql.conf​​​、​​mysql1.conf​​​、​​pipelines.yml​​

docker run \-v /usr/local/logstash/lib/mysql-connector-java-5.1.46.jar:/usr/share/logstash/lib/mysql-connector-java-5.1.46.jar \-v /usr/local/logstash/config/mysql.conf:/usr/share/logstash/config/mysql.conf \-v /usr/local/logstash/config/mysql1.conf:/usr/share/logstash/config/mysql1.conf \-v /usr/local/logstash/config/pipelines.yml:/usr/share/logstash/config/pipelines.yml \-d --name logstash-cluster logstash:7.6.1

从控制台,可以看到有查询到内容:

3. 测试

使用kibana查询商品​​product​​是否插入ES集群,下图可以看出插入成功:

使用kibana查询商品目录​​category​​是否插入ES集群,下图可以看出插入成功:

4. 总结

本文主要讲解Kibana和Logstash配置集群,主要内容如下:

类型

kibana

logstash

目录

​kibana安装目录/config/kibana.yml​

​logstash安装目录/config/​

关键配置内容

elasticsearch.hosts

output {elasticsearch { hosts => [es集群地址]

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java十分钟精通接口的使用与原理
下一篇:淘东电商项目(38) -Docker下安装ES&Kibana(一次填完所有的坑)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~