有些既存的项目把一部分日志信息写入到数据库中了,或者是由于其它的原因我们希望把关系型数据库中的信息读取到 elasticsearch 中。这种情况可以使用 logstash 的 jdbc input 插件从关系型数据库中读取日志数据,然后输出到 elasticsearch 中。本文介绍如何在 windows 系统中配置 logstash 从 SQL Server 数据库中读取数据。
说明:演示的环境为 windows server 2016,logstash 的版本为 6.2.4。
本文将按照下面的顺序介绍使用 logstash 从 SQL Server 数据库导出数据的关键步骤:
安装 Java Development Kit(JDK)
安装 Logstash
安装 SQL Server 的 JDBC 驱动
配置 Logstash
集成域认证
持续读取数据
把时间戳设置为记录产生的时间
安装 Java Development Kit(JDK)运行 logstash 6.2.4 需要先在环境中安装 JDK,请不要安装最新版本的 JDK,最好是安装 JDK8,演示中笔者安装的版本为 jdk-8u111-windows-x64,直接安装到默认的目录中。
在 logstash 的运行脚本中用到了 JAVA_HOME 环境变量,因此我们需要先添加这个环境变量(注意,环境变量的值为 JDK 的实际安装目录):
环境变量添加完成后,新启动一个 PowerShell 窗口,执行下面的命令:
> echo $env:JAVA_HOME