1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Elasticdumpを使ってElasticsearchで収集しているログをjsonファイルにする

Last updated at Posted at 2024-11-07

Elasticsearchで収集しているログをElasticdumpを使ってjsonファイルにする際の基本的な使い方を書きます.

公式↓
https://github.com/elasticsearch-dump/elasticsearch-dump/blob/master/README.md

事前作業

①Elasticdumpに必要なnpmコマンドとnode環境のインストール
↓のコマンドでどちらもインストールできます

sudo apt install npm

インストールできたか確認

node -v
npm -v

②dumpコマンドのインストール

sudo apt install dump

③Elasticdumpのインストール
インストールコマンドが2種類あるので好きな方でインストールしてください

ダウンロードしたディレクトリ内でしかelasticdumpが使えない(ローカル)

sudo npm install elasticdump

そのサーバー内だったらどこでもelasticdumpが使える(グローバル)

sudo npm install -g elasticdump

使ってみよう

送信元(elasticsearchがあるサーバー)
送信先(dumpをインストールしたサーバー) とします

ログをjsonファイルにするコマンド

elasticdump --input=http://送信元のIP:送信元のElasticsearchのport番号/送信元のElasticsearchのindex --output=$HOME/dump/logstash_data.json --type=data --limit=10000

・送信元のIPの見方(送信元のサーバーで実行)

hostname -I
XXX.XXX.XXX.XXX YY.YY.Y.Y YY.YY.Y.Y #結果例 Xのところを使う 

・送信元のElasticsearchのport番の見方(送信元のサーバーで実行)

kubectl get svc -n ネームスペース名
#結果例↓のelasticsearch-masterのところを使う(31338)
NAME                                    TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                         AGE
service/elasticsearch-master            NodePort    10.43.230.156   <none>        9200:31338/TCP,9300:30876/TCP   16m
service/elasticsearch-master-headless   ClusterIP   None            <none>        9200/TCP,9300/TCP               16m
service/kb-kibana                       NodePort    10.43.227.225   <none>        5601:30110/TCP                  65s
service/ls-logstash                     NodePort    10.43.185.167   <none>        5044:30714/TCP                  13m
service/ls-logstash-headless            ClusterIP   None            <none>        9600/TCP                        13m 

・indexの見方

curl -X GET "http://cdsl@ls-master:31338/_cat/indices?v"
#結果例↓testとlogstashがindex名
health status index    uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   test     W_frXrGaRpSDU580TMtDEg   1   1    9595981            0      2.2gb          1.1gb
green  open   logstash EYO-xaECQaKUOk2p3zDYwg   1   1  123693625       698836    159.1gb         79.6gb

・--output=$HOME/dump/logstash_data.jsonはこの場所にlogstash_data.jsonという名前で保存する
・--limit=10000は一回に送られてくるログの件数→数字を大きくするほど速く終わるが,処理が追い付かなくなってElasticsearchが落ちる可能性があるので気を付けてください

これで,ログが取得できます.

収集したログをElasticsearchに入れたい場合

elasticdump --input=logstash_data.json --output=http://送信元のIP:送信元のElasticsearchのport番号/送信元のElasticsearchのindex --limit=10000

実行結果例

Wed, 20 Nov 2024 07:20:02 GMT | starting dump
Wed, 20 Nov 2024 07:20:02 GMT | got 10000 objects from source elasticsearch (offset: 0)
Wed, 20 Nov 2024 07:20:02 GMT | sent 10000 objects to destination file, wrote 10000
Wed, 20 Nov 2024 07:20:02 GMT | got 10000 objects from source elasticsearch (offset: 10000)
Wed, 20 Nov 2024 07:20:03 GMT | sent 10000 objects to destination file, wrote 10000
Wed, 20 Nov 2024 07:20:03 GMT | got 10000 objects from source elasticsearch (offset: 20000)
Wed, 20 Nov 2024 07:20:03 GMT | sent 10000 objects to destination file, wrote 10000
Wed, 20 Nov 2024 07:20:03 GMT | got 10000 objects from source elasticsearch (offset: 30000)
Wed, 20 Nov 2024 07:20:03 GMT | sent 10000 objects to destination file, wrote 10000
Wed, 20 Nov 2024 07:20:03 GMT | got 10000 objects from source elasticsearch (offset: 40000)
Wed, 20 Nov 2024 07:20:03 GMT | sent 10000 objects to destination file, wrote 10000
                              ・
                              ・省略
                              ・
Wed, 20 Nov 2024 07:35:59 GMT | got 5981 objects from source elasticsearch (offset: 9590000)
Wed, 20 Nov 2024 07:35:59 GMT | sent 5981 objects to destination file, wrote 5981
Wed, 20 Nov 2024 07:35:59 GMT | got 0 objects from source elasticsearch (offset: 9595981)
Wed, 20 Nov 2024 07:35:59 GMT | Total Writes: 9595981
Wed, 20 Nov 2024 07:35:59 GMT | dump complete
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?