• ELK


    Logstash连接MySQL

    下载MySQL驱动

    打开驱动jar包下载地址:https://dev.mysql.com/downloads/connector/j/

    选择平台无关的版本

    下载zip版本,在本地打开,解压出jar文件

    因为logstash在ubuntu下的默认配置文件路径是 /etc/logstash,所以我在/etc/logstash目录下新建了一个drivers文件夹,用来放置各种驱动。

    # 切换目录
    cd /etc/logstash
    # 创建文件夹
    mkdir drivers

    然后将解压好的驱动放到drivers文件夹中。

    配置Logstash

    在logstash存放配置文件的文件夹中,新建一个连接MySQL的配置文件。

    # 切换目录
    cd /etc/logstash/conf.d
    # 创建文件
    touch logstash-mysql.conf

    logstash-mysql.conf文件内容如下(注意,这里的jar包用的是8.0.20):

    input {
        stdin {
        }
        jdbc {
          # 数据库连接
          jdbc_connection_string => "jdbc:mysql://你的数据库IP:3306/你的数据库"
          # 用户名密码
          jdbc_user => "用户名"
          jdbc_password => "密码"
          # 驱动jar包的位置
          jdbc_driver_library => "/etc/logstash/drivers/mysql-connector-java-8.0.20.jar"
          # mysql的Driver
          jdbc_driver_class => "com.mysql.jdbc.Driver"
          jdbc_paging_enabled => "true"
          jdbc_page_size => "50000"
          statement => "select * from 表名"
          schedule => "* * * * *"
          # elastic search的索引名,相当于mysql的表名
          #type => "information_summary"
        }
    }
     
    filter {
        json {
            source => "message"
            remove_field => ["message"]
        }
    }
     
    output {
        elasticsearch {
            hosts => "localhost:9200"
            # index名
            index => "index名"
        # 需要关联的数据库中有有一个id字段,对应索引的id号
            document_id => "%{id}"
        }
        stdout {
            codec => json_lines
        }
    }

    启动Logstash

    切换到ubuntu下logstash执行文件目录:

    cd /usr/share/logstash/bin/

    运行命令,使新的配置文件生效:

    ./logstash -f /etc/logstash/conf.d/logstash-mysql.conf 

    如果你的机器上已经启动过logstash实例的话,可能会报如下错误:

    Logstash could not be started because there is already another instance using the configured data directory. 

    If you wish to run multiple instances, you must change the "path.data" setting

    这时候需要把命令改为:

    ./logstash -f /etc/logstash/conf.d/logstash-mysql.conf --path.data=/usr/logstash_data/你的index名

    这样就会把通过这个配置拿到的数据落在新的文件夹中,也不会报错了。

  • 相关阅读:
    金蝶k3wise 核算项目、辅助资料
    金蝶——“免、抵、退”税操作说明及帐务处理
    阿里云各Linux发行版netcore兼容性评估报告---来自大石头的测试
    金蝶KIS&K3助记码SQL数据库批量刷新
    华为交换机批量加入 Vlan 方法
    华为设备默认console密码
    SQL查询数据并插入新表
    ORACLE删除当前用户下所有的表的方法
    【转】使用Navicat for Oracle新建表空间、用户及权限赋予
    [转]spring mvc注解方式实现向导式跳转页面
  • 原文地址:https://www.cnblogs.com/helios-fz/p/13307416.html
Copyright © 2020-2023  润新知