zoukankan      html  css  js  c++  java
  • 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名

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

  • 相关阅读:
    排列组合
    从$a_n=f(n)$的角度理解数列中的表达式$a_{n+1}=frac{k}{a_n}$
    洛必达法则的应用
    三角函数专题
    和差角公式的证明
    利用导数证明不等式
    常用数学模型整理
    教给学生知识的本源
    争鸣|两个易混概率题
    es6数组的复制
  • 原文地址:https://www.cnblogs.com/helios-fz/p/13307416.html
Copyright © 2011-2022 走看看