zoukankan      html  css  js  c++  java
  • Logstash同步多数据库多表到ES的配置文件

    input {
        stdin{
        }
        jdbc {
          # 连接的数据库地址和哪一个数据库,指定编码格式,禁用SSL协议,设定自动重连
          jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/userdb?characterEncoding=UTF-8&useSSL=false&autoReconnect=true"
          # 用户名密码
          jdbc_user => "user"
          jdbc_password => "password"
          
          #以下配置是为了达到增量同步的目的,每次同步结束之后会记录最后一条数据的tracking_column列,这里设置的是id,就会将这个值记录在last_run_metadata_path中。下次在执行同步的时候会将这个值,赋给sql_last_value
          
          # 是否记录上次执行结果,true表示会将上次执行结果的tracking_column字段的值保存到last_run_metadata_path指定的文件中;
          record_last_run => "true"
          # 需要记录查询结果某字段的值时,此字段为true,否则默认tracking_column为timestamp的值;
          use_column_value => "true"
          # 需要记录的字段,用于增量同步,需是数据库字段
          tracking_column => "id"
          # record_last_run上次数据存放位置;
          last_run_metadata_path => "/u02/tomcat-8.5.9/logstash-7.6.2/bin/user_last_id"
          # 是否清除last_run_metadata_path的记录,需要增量同步时此字段必须为false;
          clean_run => "false"
          
          # jar包的位置
          jdbc_driver_library => "/u02/tomcat/mysql-connector-java-8.0.20/mysql-connector-java-8.0.20.jar"
          # mysql的Driver
          jdbc_driver_class => "com.mysql.jdbc.Driver"
          jdbc_default_timezone => "Asia/Shanghai"
          # 开启分页查询(默认false不开启)
          jdbc_paging_enabled => "true"
          # 单次分页查询条数(默认100000,若字段较多且更新频率较高,建议调低此值)
          jdbc_page_size => "500"
          #注意这个sql不能出现type,这是es的保留字段
          statement => "select * from user where id > :sql_last_value ORDER BY  id asc  limit  20000"
          # 同步频率(分 时 天 月 年),默认每分钟同步一次;当前配置每10分钟执行一下 
          schedule => "*/10 * * * *"
        }
        jdbc {
          # 连接的数据库地址和哪一个数据库,指定编码格式,禁用SSL协议,设定自动重连
          jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/userdb?characterEncoding=UTF-8&useSSL=false&autoReconnect=true"
          # 用户名密码
          jdbc_user => "user"
          jdbc_password => "password"
          
          
          #这些配置是为了达到增量同步的目的,每次同步结束之后会记录最后一条数据的tracking_column列,这里设置的是id,就会将这个值记录在last_run_metadata_path中。下次在执行同步的时候会将这个值,赋给sql_last_value
          
          # 是否记录上次执行结果,true表示会将上次执行结果的tracking_column字段的值保存到last_run_metadata_path指定的文件中;
          record_last_run => "true"
          # 需要记录查询结果某字段的值时,此字段为true,否则默认tracking_column为timestamp的值;
          use_column_value => "true"
          # 需要记录的字段,用于增量同步,需是数据库字段
          tracking_column => "id"
          # record_last_run上次数据存放位置;
          last_run_metadata_path => "/u02/tomcat-8.5.9/logstash-7.6.2/bin/dept_last_id"
          # 是否清除last_run_metadata_path的记录,需要增量同步时此字段必须为false;
          clean_run => "false"
          
          # jar包的位置
          jdbc_driver_library => "/u02/tomcat/mysql-connector-java-8.0.20/mysql-connector-java-8.0.20.jar"
          # mysql的Driver
          jdbc_driver_class => "com.mysql.jdbc.Driver"
          jdbc_default_timezone => "Asia/Shanghai"
          # 开启分页查询(默认false不开启)
          jdbc_paging_enabled => "true"
          # 单次分页查询条数(默认100000,若字段较多且更新频率较高,建议调低此值)
          jdbc_page_size => "500"
          #注意这个sql不能出现type,这是es的保留字段
          statement => "select * from dept where id > :sql_last_value   ORDER BY  id asc  limit  20000"
          schedule => "*/10 * * * *"
        }
    }
    
    output {
        if [type]=="user" {
            elasticsearch {
                hosts => "127.0.0.1:9200"
                # index名
                index => "monitor_user"
                # type名
                document_type => "_doc"
                # 数据唯一索引(建议使用数据库KeyID)
                document_id => "%{id}"
            }
            # JSON格式输出
            stdout {
                codec => json_lines
            }
        }
    
        if [type]=="dept" {
            elasticsearch {
                hosts => "127.0.0.1:9200"
                # index名
                index => "monitor_dept"
                # type名
                document_type => "_doc"
                # 数据唯一索引(建议使用数据库KeyID)
                document_id => "%{id}"
            }
            # JSON格式输出
            stdout {
                codec => json_lines
            }
        }
        
    }
  • 相关阅读:
    二分图 洛谷P2055 [ZJOI2009]假期的宿舍
    并查集 洛谷P1640 [SCOI2010]连续攻击游戏
    贪心 洛谷P2870 Best Cow Line, Gold
    贪心 NOIP2013 积木大赛
    快速幂 NOIP2013 转圈游戏
    倍增LCA NOIP2013 货车运输
    树形DP 洛谷P2014 选课
    KMP UVA1328 Period
    动态规划入门 BZOJ 1270 雷涛的小猫
    KMP POJ 2752Seek the Name, Seek the Fame
  • 原文地址:https://www.cnblogs.com/wueryuan/p/13230849.html
Copyright © 2011-2022 走看看