2018年07月28日

Node-Redからelasticsearchへのデータ投入

今回はNode-Redからelasticsearchにデータを投入する方を紹介します。

elasticsearchはhttpメソッドを使用してjson形式でデータを投入します。

今回はタイムスタンプボタンを押すとその時の時刻とサンプルデータを
elasticsearchに投入する例を紹介します。



使用するノードは主に
「http request」のノード
「function」のノード
です。




node.jpg






「function」のノード内で投入先のelasticsearch、
インデックス、データ等を定義してpayloadに投入します。


今回はelasticsearchとNode-Redが同一マシン上にあるため、
elasticsearch の宛先はlocalhostに設定しています。
また標準のポート番号は9200です。

今回の例ではインデックス
「test_data」
と設定して温度と湿度を投入します。

今回は例として定数ですが、
実際には定数でなくセンサから読んだデータを投入します。



func.jpg



「http request」ノードは
POSTメソッドを選択します。

URLはfunctionノードで設定しているため、
空欄にします。



post.jpg


上記の設定をしてデプロイ後、
タイムスタンプボタンをクリックすると
データがelasticsearchに投入されます。

ブラウザからkibanaにアクセスして、
discoverから投入されたデータを確認できます。
必要に応じて、右上の期間設定や更新タイミングを変更してください。



discover.jpg

今回のサンプルコードは下記のリンクです。
メモ帳等で開いてNode-Redの
「読み込み」→「クリップボード」からインポートしてください。

posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2018年07月14日

elasticsearch 起動エラー対処方法

センサ情報を収集して表示する際にelasticsearchkibabaを使うことが時々あります。

Cloudサービスでelasticsearchとkibanaに対応しているものがありますが、
オンプレミス環境の場合はWindowsで実行する場合が多いと思います。

Windows環境でelasticsearchを起動させた際に出たエラーの対処方法をメモとして記します。

elasticsearchはJava8が必須ですが、
Java8をインストールしたにも関わらず、
下記のようなエラーが出て起動できない場合があります。
@elasticsearch6.3.0

日本語版Windowsの場合
¥Common の使い方が間違っています。

英語版Windowsの場合
The syntax of the command is incorrect.


この場合の対処方法として、
batファイルの文法が間違っているとかではなく、
JAVA_HOMEが設定されていないために発生するエラーです。

システムの環境変数にJAVA_HOMEを下記のようなJavaディレクトリを設定するとエラーが出なくなります。

JAVA_HOME C:\Program Files\Java\jdk1.8.*_***
*はインストールされているJavaのバージョンによる
  エクスプローラでディレクトリからバージョンを確認する



最初、このエラーが出て、zipファイルの解凍をミスしたのか、
batファイルの文字化けたのかなど色々試行錯誤してしまいました。
なんとも分かりづらいエラーです。

posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする