在生产环境中部署Logstash

时间:2020-01-10 07:19:04

标签: logstash logstash-configuration logstash-jdbc

大家好,我已经创建了一个每5分钟安排一次的logstash配置文件,该文件将数据从MSSql服务器传输到Elasticsearch,并且我使用Windows Powershell和以下命令运行我的logstash应用程序。\ logstash-7.2.0 \ bin \ logstash -f logstash.conf.txt

Logstash配置

input {
jdbc {
jdbc_driver_library => ""
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
jdbc_connection_string => "jdbc:sqlserver://xxxxxx\SQLEXPRESS:1433;databaseName=xxxx;"
jdbc_user => "xxxxx"
jdbc_password => "xxxx"
jdbc_paging_enabled => true
tracking_column => modified_date
use_column_value => true
clean_run => true
tracking_column_type => "timestamp"
schedule => "*/5 * * * * *"
statement => "SELECT * from [xxxxxxxx] where modified_date >:sql_last_value"
}
}

filter {
 mutate {
   remove_field => ["@version","@timestamp"]
 }
}

output {
elasticsearch {
hosts => "http://localhost:9200"
index => "employee"
document_type => "_doc"
document_id => "%{id}"

}
stdout { codec => rubydebug }
}

如何在生产环境中部署相同的东西?因为在本地计算机中,我正在使用Windows Powershell执行命令,如何在生产环境中实现此目标?

任何人都可以指导如何在生产环境中将其作为服务进行部署吗?

1 个答案:

答案 0 :(得分:1)

不确定我是否理解问题...您是否正在尝试在生产中的Linux服务器中部署相同的配置?

如果是这样,则应更改jdbc_driver_class,并可能还要更改jdbc_connection_string和hosts参数,以匹配生产服务器。

还请检查以下问题: Set vm.max_map_count on cluster nodes 可能对您有所帮助,尽管正如我所说,我不确定。

祝你好运! :-)