脚本宝典收集整理的这篇文章主要介绍了

用Docker镜像搭建ELK环境

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

之前在Windows上尝试过搭建ELK环境,并将MySQL或SQLServer中的数据导入到Elasticsearch中。现在用Docker提供的镜像可以快速的完成这一操作。

  • 环境说明
    系统:Windows 10 企业版
    MySQL:MySQL 5.7(官方下载链接
    MySQL驱动:mysql-connector-java-5.1.44-bin.jar(官方下载链接
    Docker for Windows:Docker Community Edition for Windows(Docker官网下载

    Docker详细版本

  • MySQL的安装与设置
    MySQL的安装与设置,请参照通过Logstash由MySQL和SQL Server向Elasticsearch导入数据
    需要注意的是:root的From Host需要设置为%,如下图:

    设置root的From Host为%

    否则,logstash连接数据库时会被拒绝连接。
    另外记得创建一个测试库和表,用于测试logstash的导入功能。

  • docker-compose.yml
    创建一个空的文件夹,用于存储用到的配置文件和驱动程序。如:C:RunDockerELK(后面简称该文件夹
    然后在该文件夹下创建docker-compose.yml,并进行编辑,内容如下:

    version: "2.2" services:  elasticsearch:    image: elasticsearch    ports:     - "9200:9200"    - "9300:9300"  kibana:    image: kibana    ports:    - "5601:5601"    links:    - elasticsearch    depends_on:    - elasticsearch  logstash:    image: logstash    links:    - elasticsearch    volumes:    - ./:/configdir    command: logstash -f /configdir/mysql.conf    depends_on:    - elasticsearch 
  • mysql.conf
    该文件夹下创建mysql.conf,并进行编辑,内容如下:

    input {    jdbc {        jdbc_driver_library => "/configdir/mysql-connector-java-5.1.44-bin.jar"        jdbc_driver_class => "com.mysql.jdbc.Driver"        jdbc_connection_string => "jdbc:mysql://123.12.1.123:3306/forelk?autoReconnect=true&useSSL=false"        jdbc_user => "root"        jdbc_password => "123qwe4r"        schedule => "* * * * *"        jdbc_default_timezone => "Asia/Shanghai"        statement => "SELECT * FROM elktable;"    } } output {    elasticsearch {        index => "elkdb"        document_type => "elktable"        document_id => "%{elkid}"        hosts => ["123.12.1.123:9200"]    } }

    说明:
    IP123.12.1.123需要替换成你本地的IP;
    123qwe4r需要替换成你本地MySQL的密码;
    任务计划schedule => "* * * * *"的值根据自己的需求进行更改;

  • 驱动程序
    将下载好的驱动程序mysql-connector-java-5.1.44-bin.jar拷贝到该文件夹
  • 启动
    通过DockerKitematic左下角的DOCKER CLI启动PowerShell工具,然后进入到该文件夹,执行命令:docker-compose up即可看到Elasticsearch、Kibana、Logstash的容器依次启动。在PowerShell里可以看到导入数据的操作记录,如下图:

    导入数据的操作记录

    然后在本地服务器访问http://localhost:5601,在Dev Tools下执行查询命令,即可看到导入的结果,如下图:

    Kibana下的查询结果

如果遇到其他问题,请自行谷歌百度。
如需转载,请注明原文链接https://segmentfault.com/a/11...

总结

以上是脚本宝典为你收集整理的

用Docker镜像搭建ELK环境

全部内容,希望文章能够帮你解决

用Docker镜像搭建ELK环境

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过