目標
Windows環境でSQLServerのデータをkibanaで見えるようにするための環境を構築すること
※kibanaの使い方等は含みません。単純にデータが登録された所までの記事になります。
環境+使用ツール
- Windows 10 Pro 1803 x64 jp
- 新規インストール環境を用意
- elastic (各ツールの概要はここを参照)
- SQL Server 2017 Express
- SQL Server Management Studio
- Java Runtime Environment Version 8 Update 181
- Microsoft SQL Server 用 JDBC Driver 6.0
手順
- SQL Server Express のインストール
全てデフォルト設定のままインストールする
- 「SQL Server 2017 構成マネージャー」を起動
- 下図の「TCP/IP」を有効にする
- 「IPアドレス」タブにて、「IPALL」の「TCPポート」を1433とする
- 「SQL Server」のプロセスを再起動
右クリックメニューに「再起動」がある
- 「SQL Server Browser」を起動する
下図のように自動起動に設定後、「SQL Server Browser」を右クリックすると「起動」することが出来る
-
SSMS(SQL Server Management Studio) のインストール
SQLServerへのテスト用データ登録などを行うために必要 -
SSMSにてサンプルデータを登録
-
Microsoft SQL Server 用 JDBC Driver 6.0 を解凍し配置
今回は「C:\Program Files」に配置した
C:\Program Files\Microsoft JDBC Driver 6.0 for SQL Server... -
Microsoft SQL Server 用 JDBC Driver 6.0 のファイルをコピーし配置
コピー対象:C:\Program Files\Microsoft JDBC Driver 6.0 for SQL Server\sqljdbc_6.0\jpn\auth\x64\sqljdbc_auth.dll
コピー先:C:\Program Files\Java\jre1.8.0_181\bin -
elastic(kibana, elasticsearch, logstash)を解凍し配置
今回は下図のような配置とした
-
elasticsearchを起動
下記ファイルを実行
C:\elastic\elasticsearch-6.3.2\bin\elasticsearch.bat -
kibanaを起動
下記ファイルを実行
C:\elastic\kibana-6.3.2-windows-x86_64\bin\kibana.bat -
SQL Server のデータ読み込みの設定ファイルを作成
適当な名称(今回は、sampleconfig.txt)で設定ファイルを作成し、下記場所に保存
C:\elastic\logstash-6.3.2\bin
ファイルの中身input { jdbc { jdbc_driver_library => "C:\Program Files\Microsoft JDBC Driver 6.0 for SQL Server\sqljdbc_6.0\jpn\jre8\sqljdbc42.jar" jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver" jdbc_connection_string => "jdbc:sqlserver://localhost\SQLEXPRESS;databaseName=Test;integratedSecurity=true;" jdbc_user => "test" statement => "select * from dbo.Table_1" } } output { elasticsearch {} }
-
logstashを起動(データの登録)
C:\elastic\logstash-6.3.2\bin に移動し下記コマンドを実行
logstash.bat -f sampleconfig.txt
-
ブラウザ(kibana)を起動する
下記アドレスがkibanaのアドレス
http://localhost:5601
「logstash-2018.07.25」という名称でデータが登録されているのが確認できる
最後に
kibana等の使い方は分からないので今後分かり次第、ポイントがあれば記事にしたいと思っています。
また、他のPCのDBからデータを取得したり「MySQL」の場合の対応などを行っていきたいと思っています。