input {
jdbc {
# Postgres jdbc connection string to our database, mydb
jdbc_connection_string => "jdbc:postgresql://localhost:5432/bhavya"
# The user we wish to execute our statement as
jdbc_user => "postgres"
# The path to our downloaded jdbc driver
jdbc_driver_library => "/root/postgresql-42.2.2.jar"
# The name of the driver class for Postgresql
jdbc_driver_class => "org.postgresql.Driver"
jdbc_password => "postgres"
jdbc_validate_connection => true
#You can schedule input from this plugin,the following uses cron syntax
schedule => "* * * * *"
# our query
statement => "SELECT uid,email,first_name,last_name FROM contacts"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "contacts"
document_type => "record"
document_id => "%{uid}"
}
stdout { codec => rubydebug }
}
Сначала вы должны добавить вышеупомянутые опции, которые я указал в плагине ввода в соответствии с вашей базой данных. Я использовал Postgresql в качестве базы данных. Соответственно, вам необходимо загрузить соответствующий jar библиотеки драйверов для этой базы данных и указать соответствующий путь.
Во-вторых, вы должны использовать опцию расписания в плагине "jdbc", чтобы он периодически считывал данные из базы данных.
В-третьих, вы должны удалить лишний «%» из части «document_id» в части плагина «output».
Вы должны обратиться на эту страницу для импорта данных в logstash из базы данных : ->
https://www.elastic.co/blog/logstash-jdbc-input-plugin