ElasticSearchは、TXTテキストまたはテキストJSONを導入しました

、何かを文書化が引退した何かをして座って前にいくつかの時間。


 ビジネス: ESにローカルからデータを復元、ローカルファイルには、約10 Gの後に解凍されたデータのデータ量が大きいです。


 ロジック:ビジネスのニーズに合わせて、合計3回の練習しようとしました。

  まず、バルクの使用: ESは、バッチインポートローカルな方法をサポートし、推奨文字サイズは10-15M程度で、ファイルの上限は(不確か)200Mを超えないようにしてください。

  第二に、使用logstash:他の製品のESの公式、ESデータソースにテキストデータを変換します。

  第三に、Javaを使用:ジャワのspringData-ESの方法。第三エスのロジックをパックスレッドプール+ + springDataキューバッファを使用する方法であり、さらに後半


まず、バルクの使用(win7の+ es6.6.1 + JSONテキスト)

1.正しいJSONデータ・フォーマットを準備

次のようにESの要件JSONテキスト形式は非常に厳格で、合理的なJSONデータの形式は次のとおりです。

{ "インデックス": "デモ"、 "ID":0}
{ "ID":ヌル、 "なdev_id": "1"、 "rcv_time":1557303257、 "日付":ヌル、 "DNAME":ヌル、 "LOGTYPE": "1"、 "PRI":ヌル、 "MOD" : "PF"、 "SA":ヌル、 "スポーツ":ヌル、 "TTYPE":ヌル、 "ダ":ヌル、 "DPORT":ヌル、 "コード":ヌル、 "プロト":ヌル、 "ポリシー" : "0"、 "RCVD":ヌル、 "送られた":、 "時間は" ヌルヌル、 "fwlog":ヌル、 "dsp_msg": "包过滤日志"、 "failmsg":ヌル、 "カスタム":ヌル、 "SMAC":ヌル、 "DMAC":ヌル、 "タイプ":ヌル、 "in_traffic": "52"、 "out_traffic": "52"、 "gen_time": "1557303257"、 "src_IP:送信": "710191296" 、 "dest_ip": "896426877"、"src_port": "51411"、 "dest_portは": "443"、 "PROTOCOL_ID": "1"、 "action_id": "2"、 "filter_policy_id": "0"、 "sat_ip": "0"、 "sat_port ":" 0" 、 "i_ip": "0"、 "i_port": "0"、 "insert_timeとして": "0"、 "p_ip": "0"、 "p_port": "0"、 "rulename_id": "3"、 "min_id": "25955054"、 "SVM":ヌル、 "DVM":ヌル、 "repeat_num":ヌル、 "event_type_id":216001001、 "event_level_id":1、 "org_log": "DEVID = 2日付= \ "2019年5月8日16:14:17 \" MOD = PFのSA = 192.168.84.42スポーツ= 51411タイプ= NULLダ线= 0.3.0 RULE_NAME =网关产品版DNAME =金星のLOGTYPE = 1 PRI = 5 = 125.99.110。53 DPORT = 443コード= NULLプロト= IPPROTO_TCPポリシー=許可期間= 0 RCVD = 52送信= 52 fwlog = 0 dsp_msg = \ "パケットフィルタリングログ\" "" stauts ":" 成功 "" failMsg「NULL}
{ "インデックス": "デモ"、 "ID":1}
{ "ID":ヌル、 "なdev_id": "1"、 "rcv_time":1557303257、 "日付":ヌル、 "DNAME":ヌル、 "LOGTYPE": "1"、 "PRI":ヌル、 "MOD" : "PF"、 "SA":ヌル、 "スポーツ":ヌル、 "TTYPE":ヌル、 "ダ":ヌル、 "DPORT":ヌル、 "コード":ヌル、 "プロト":ヌル、 "ポリシー" : "0"、 "RCVD":ヌル、 "送られた":、 "時間は" ヌルヌル、 "fwlog":ヌル、 "dsp_msg": "包过滤日志"、 "failmsg":ヌル、 "カスタム":ヌル、 "SMAC":ヌル、 "DMAC":ヌル、 "タイプ":ヌル、 "in_traffic": "52"、 "out_traffic": "52"、 "gen_time": "1557303257"、 "src_IP:送信": "710191296" 、 "dest_ip": "896426877"、"src_port": "51411"、 "dest_portは": "443"、 "PROTOCOL_ID": "1"、 "action_id": "2"、 "filter_policy_id": "0"、 "sat_ip": "0"、 "sat_port ":" 0" 、 "i_ip": "0"、 "i_port": "0"、 "insert_timeとして": "0"、 "p_ip": "0"、 "p_port": "0"、 "rulename_id": "3"、 "min_id": "25955054"、 "SVM":ヌル、 "DVM":ヌル、 "repeat_num":ヌル、 "event_type_id":216001001、 "event_level_id":1、 "org_log": "DEVID = 2日付= \ "2019年5月8日16:14:17 \" MOD = PFのSA = 192.168.84.42スポーツ= 51411タイプ= NULLダ线= 0.3.0 RULE_NAME =网关产品版DNAME =金星のLOGTYPE = 1 PRI = 5 = 125.99.110。53 DPORT = 443コード= NULLプロト= IPPROTO_TCPポリシー=許可期間= 0 RCVD = 52送信= 52 fwlog = 0 dsp_msg = \ "パケットフィルタリングログ\" "" stauts ":" 成功 "" failMsg「NULL}
{ "インデックス": "デモ"、 "ID":2}
{ "ID":ヌル、 "なdev_id": "1"、 "rcv_time":1557303257、 "日付":ヌル、 "DNAME":ヌル、 "LOGTYPE": "1"、 "PRI":ヌル、 "MOD" : "PF"、 "SA":ヌル、 "スポーツ":ヌル、 "TTYPE":ヌル、 "ダ":ヌル、 "DPORT":ヌル、 "コード":ヌル、 "プロト":ヌル、 "ポリシー" : "0"、 "RCVD":ヌル、 "送られた":、 "時間は" ヌルヌル、 "fwlog":ヌル、 "dsp_msg": "包过滤日志"、 "failmsg":ヌル、 "カスタム":ヌル、 "SMAC":ヌル、 "DMAC":ヌル、 "タイプ":ヌル、 "in_traffic": "52"、 "out_traffic": "52"、 "gen_time": "1557303257"、 "src_IP:送信": "710191296" 、 "dest_ip": "896426877"、"src_port": "51411"、 "dest_portは": "443"、 "PROTOCOL_ID": "1"、 "action_id": "2"、 "filter_policy_id": "0"、 "sat_ip": "0"、 "sat_port ":" 0" 、 "i_ip": "0"、 "i_port": "0"、 "insert_timeとして": "0"、 "p_ip": "0"、 "p_port": "0"、 "rulename_id": "3"、 "min_id": "25955054"、 "SVM":ヌル、 "DVM":ヌル、 "repeat_num":ヌル、 "event_type_id":216001001、 "event_level_id":1、 "org_log": "DEVID = 2日付= \ "2019年5月8日16:14:17 \" MOD = PFのSA = 192.168.84.42スポーツ= 51411タイプ= NULLダ线= 0.3.0 RULE_NAME =网关产品版DNAME =金星のLOGTYPE = 1 PRI = 5 = 125.99.110。53 DPORT = 443コード= NULLプロト= IPPROTO_TCPポリシー=許可期間= 0 RCVD = 52送信= 52 fwlog = 0 dsp_msg = \ "パケットフィルタリングログ\" "" stauts ":" 成功 "" failMsg「NULL}

標準のJSON形式の正式な要件があるとして、

2.cmd実行(Baiduのをダウンロードすることができカールカールプラグインの異常を使用している場合)

9200 /インデックス/マッピング/ _bulk --data-バイナリ@のxxx.json:-XPOSTのはlocalhost:-H "appliaction / jsonのContent-Typeの" カール

なお:ドードーは突然成功ですまくりcmdを!


 第二に、使用logstash 

1. logstashをインストールします(公式サイトには、それをダウンロードします)

2. binディレクトリにある囲碁logstash、(スタートアップlogstashのスタートアップコンフィギュレーションファイルで提供負荷)logstash_def.confファイルを作成します

3.次のドキュメント:

入力{ 
	ファイル{ 
		パス=> "D:/log/packet.json" 
		タイプ=> "ログ" 
		
		START_POSITION => "最初" 
		コーデック=> {JSON   
		のcharset => "UTF-8"      
		} 
	} 
} 

出力{ 
	elasticsearch { 
		ホスト=> "http://127.0.0.1:9200"     
		インデックス=> "ビーナス"				 
		DOCUMENT_TYPE => "log_packet"		 
	} 
}

次logstash binディレクトリに4.cmd(ESの前提がすでに開始)

命令:logstash -f logstash_def.conf

あなたはケースを高めるためにヘッドを使用してデータを表示するプラグインのステータスを表示することができ、間違った失敗フリップ、またはロードされていますのでご注意ください

 

おすすめ

転載: www.cnblogs.com/ttzsqwq/p/11077574.html