• Logstash同步MySQL数据到ES


    简介

    1.1 什么是Logstash?
    Logstash作为一个具备实时流水线功能的开源数据收集引擎,拥有强大的能力。它能够从不同来源收集数据,并将其动态地汇聚,进而根据我们定义的规范进行转换或者输出到我们定义的目标地址。

    1.2 Logstash的主要特点
    Logstash通过清洗和使数据多样化,Logstash使数据变得适用于各种高级下游分析和可视化用例。此外,Logstash提供广泛的输入、过滤器和输出插件,而且许多本地编解码器进一步简化了数据摄取的过程。无论是数据整理还是提供给下游应用,Logstash都是一个强大且灵活的解决方案。

    安装

    • 注意所需要的java版本,因为我电脑装的是jdk1.8,因此选择了7.17版本,如果电脑上jdk版本较高可以用最新版本,后续8.0默认jdk11起

    下载

    https://www.elastic.co/cn/downloads/logstash

    环境配置

    Logstash 推荐在环境变量配置 LS_JAVA_HOME 变量指向jdk目录来使用jdk。配置jdk目录时,我们可以直接使用Logstash 中的jdk目录,省去了另外下载和有可能引起版本不能用的问题。(7.17.12支持的jdk版本只有 jdk8,jdk11和jdk15)

    驱动包准备

    创建存放目录mkdir mylib
    下载驱动包到该目录

    创建同步配置

    vim mysql-log-to-es.conf

    input {
      jdbc {
        jdbc_driver_library => "./mylib/mysql-connector-java-8.0.13.jar"
        jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
        jdbc_connection_string => "jdbc:mysql://localhost:3306/zliov_test_log_center"
        jdbc_user => "root"
        jdbc_password => "123456"
        parameters => { "flag" => 1 }
        schedule => "* * * * *"
        statement => "SELECT id,username,params,flag,createTime FROM log WHERE flag = :flag AND id > :sql_last_value ORDER BY id ASC LIMIT 
    2"
        last_run_metadata_path => "mysql-by-id-to-es.index"
        tracking_column => "id"
        use_column_value => true
        tracking_column_type => "numeric"
      }
    }
    filter {
            mutate { add_field => { "from" => "logstash" } }
    }
    output {
      elasticsearch {
            hosts => ["http://localhost:9200"]
            index => "test-by-id-%{+YYYY.MM}"
      }
      stdout {
    
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    启动

    ./bin/logstash -f mylib/mysql-by-id-to-es.conf

    后台运行

    /usr/share/logstash/bin/logstash -f mylib/mysql-by-id-to-es.conf --config.reload.automatic &

    观察es

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    一份重要数据,科技公司和ai的相关度,MongoDB和GitLab在列
    Docker Compose之容器编排开发初探
    C++:多态 详解
    2023年中国酒类新零售行业发展概况分析:线上线下渠道趋向深度融合[图]
    Windows10安装Docker(基于WSL2,包含WSL2安装教程)
    IO-Link通信RFID读卡器|传感器在汽车差速器组装线上的应用方案
    【luckfox】3、计算重量差
    Redis 哈希( Hash )
    2022.09 青少年Python等级考试(六级) 选择题部分
    将图片的大小(分辨率)调整为指定的宽度和高度
  • 原文地址:https://blog.csdn.net/weixin_43871079/article/details/134530361