タイトルが残念です。私の場合は本当に1つの文で説明できませんでした。私は弾性スタック(Logstash、Elasticsearch、Kibana)で使用するLogstashで解析したい(4ギガバイト程度)のログ・ファイルの大規模なセットを持っているMongoDBからLogstashで処理中のログファイルにデータを追加し、Elasticsearchに解析しました
- :
は、ここに私の状況です。
- ログには、Logstashで正常に解析されたシリアル番号があります。この数値は、MongoDBコレクションのインデックスに対応します。それぞれのログが解析されているので、私は解析された番号でコレクションを照会して、Elasticsearchに渡される最終出力に含めるデータを取得できるようにしたい。
ここでは、わかりやすい例を示します。私は生ログがあるとします。解析されたログはElasticsearchに送信されます前に
2017-11-20 14:24:14.011 123 log_number_one
を、私は、123
と私のMongoDBのコレクションを照会し、データdata1
とdata2
がElasticsearchに送信される文書に追加する取得したいですので、私の最終的な結果は、フィールドのようなものに似てあります。
{
timestamp: 2017-11-20 14:24:14.011,
serial: 123,
data1: "foo",
data2: "bar",
log: log_number_one
}
これを実現する簡単な方法は、私は仮定し、単にログを前処理とLogstashを介してそれらを解析する前にMongoDBの数字を実行することです。しかし、私は4GBのログファイルを持っているかのように見て、これを1回の掃討で達成する方法を期待していました。私は、私のエッジケースがルビーフィルタープラグインで解決できるかどうか、私はおそらく上記を行うために任意のルビーコードを実行することができますか?
ご迷惑をおかけして申し訳ございません。 Christian_Dahlqvistから