在logstash启动时,可以指定启动的配置文件,如下是基本配置文件的编写实例 以后编写时,可作为参考:
input {
stdin{}
jdbc {
jdbc_connection_string => "jdbc:sqlserver://xxx:1433;DatabaseName=xxxx"
jdbc_user => "xxxx"
jdbc_password => "xxxx"
jdbc_driver_library => "./mssql-jdbc-6.2.1.jre8"
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
jdbc_paging_enabled => "true"
jdbc_page_size => "500"
jdbc_default_timezone =>"Asia/Shanghai"
statement_filepath => "./sqlserver.sql"
schedule => "* * * * *"
codec => plain { charset => "UTF-8"}
use_column_value => false
type => "ebso01"
}
jdbc {
jdbc_connection_string => "jdbc:mysql://xxxx:3306/xxxx"
jdbc_user => "xxxx"
jdbc_password => "xxxx"
jdbc_driver_library => "./mysql-connector-java-5.1.39.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
jdbc_default_timezone =>"Asia/Shanghai"
statement_filepath => "./test.sql"
schedule => "* * * * *"
codec => plain { charset => "UTF-8"}
use_column_value => false
type => "alitest"
}
}
filter {
mutate {
convert => [ "publish_time", "string" ]
}
date {
timezone => "Europe/Berlin"
match => ["publish_time" , "ISO8601", "yyyy-MM-dd HH??ss"]
}
json {
source => "message"
remove_field => ["message"]
}
}
output {
if[type]== "ebso01" {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "groupby"
document_id => "%{id}"
template_overwrite => true
template_name => "logstash"
template => "./logstash.json"
}
}
if[type]== "alitest" {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "cmscontent"
document_id => "%{id}"
template_overwrite => true
template_name => "logstash"
template => "./logstash.json"
}
}
stdout {
codec => json_lines
}
}
以上只是基本的写法,后续有补充还会继续修改
提供mysql和sqlserver驱动的下载地址驱动下载地址