2016年03月27日

elasticsearchにidを指定せずにデータを投入する方法

1行ずつ登録する方法

データを1行ずつのJSONとして用意してファイル保存する。

{"date": "2016/01/01",  "os": "Windows 7", "ip": "192.168.1.100"}
{"date": "2016/01/02",  "os": "Windows 8.1", "ip": "192.168.1.102"}

次に下記のようなシェル書いて「putdata.sh」のような名前で保存する。

#!/bin/bash
lineNum=1

cat $1 | while read JSON_DATA
do
        curl -XPOST "http://localhost:9200/<index_name>/<type_name>/" -d "${JSON_DATA}"
        lineNum=$((lineNum + 1))
done

あとは、このシェルに引数で保存したjsonを渡すと、順次登録する。
すごく遅いけど。

./putdata.sh data.json

Bulk APIを使用して登録する方法

1行ずつ登録売る方法は遅いので沢山登録するときは、Bulk APIを用いて登録する。
Bulk APIは2行で1つの値を登録する。最初のindexは空にしておくと、自動でIDを付加してくれる。

{ "index": {}}
{"date": "2016/01/01",  "os": "Windows 7", "ip": "192.168.1.100"}
{ "index": {}}
{"date": "2016/01/02",  "os": "Windows 8.1", "ip": "192.168.1.102"}

上記jsonをcurlで登録する。

curl -XPOST "localhost:9200/<index_name>/<type_name>/_bulk" --data-binary @hogehoge.json
参考
タグ:Elasticsearch
posted by MINE at 22:18 | Comment(0) | TrackBack(0) | サーバー技術 | このブログの読者になる | 更新情報をチェックする | edit

2016年03月16日

Hyper-VでCisco AnyConnectが繋がらない場合の対応方法

会社で承認を受けたので、自宅PCにVPNを意気揚々とインストールしたが、全然繋がらなかったのでメモ。

仕事用(と言ってもメールかSSHで繋ぐだけだが)だから、自分の私用PCと環境別な方がいいよなと思い、Hyper-VでWindows 10を導入してそこにVPNソフトを導入した。

が、全然繋がらない。
会社のPCを家で繋いだら繋がるので、何でだろうとずっと悩んでいたのだが、そのHyper-Vの設定が原因だった。
ゲストOSがWindows8.1以降だと拡張セッションでつながるみたいで、これがRDP(リモートデスクトッププロトコル)をベースとした技術だということ。

しかし、Cisco AnyConnectはリモートデスクトップでの動作を保証していない!!

ってことで、Hyper-Vの下記赤枠のボタンを押すと、

Hyper-Vの拡張セッション

拡張セッションがOFFになり、以下のように+が付いたアイコンになる。

Hyper-V 拡張セッションOFF

この状態で、VPNに接続したら接続できました。

参考
タグ:Hyper-V CISCO
posted by MINE at 00:12 | Comment(0) | TrackBack(0) | ソフトウェア開発 | このブログの読者になる | 更新情報をチェックする | edit