ELKLogstash连接MySQL [数据库教程]

database

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名

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

ELK - Logstash连接MySQL

以上是 ELKLogstash连接MySQL [数据库教程] 的全部内容, 来源链接: utcz.com/z/534598.html

回到顶部