1. ホーム
  2. splunk

[解決済み] Splunk : ユニークフィールドを使用したレコードの重複排除

2022-02-24 07:49:45

質問

ログ分析ソリューションをElasticSearch/KibanaからSplunkに移行することを検討しています。

現在、ElasticSearch では、インデックス作成時に "document id" を使用してレコードの重複を排除しています。

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html

各ログレコードの内容のハッシュ値を用いてidを生成する。

Splunkでは、Splunkインデックスで各レコードにユニークな内部フィールド "_cd"が見つかりました。 https://docs.splunk.com/Documentation/Splunk/8.1.0/Knowledge/Usedefaultfields

しかし、HTTP Event Collector を使用してレコードを取り込む場合、この "_cd" フィールドをリクエストに埋め込む方法は見つかりませんでした。 https://docs.splunk.com/Documentation/Splunk/8.1.0/Data/HECExamples

Splunk でこれを実現するためのヒントがあれば教えてください。

どのように解決するのですか?

何を実現しようとしているのか?

もしあなたがHECに"unique"イベントを送っていたり、"unique"ログでUFを実行しているなら、インデックス作成時に重複した"レコードは決して取得されないでしょう。

それは は、同じデータをアグリゲーション・プラットフォームに再送しているようですが、これは アグリゲーター でなく、あなたの 送信 の処理を行います。

をやっているのとほぼ同じ。 MySQL / PostgreSQL 存在しない場合は挿入する。もしそれがあなたの状況の正しい理解であれば、あなたのステートメントに基づいて

<ブロッククオート

現在、ElasticSearchで"document id"を使用して、インデックス作成時にレコードの重複を排除しています。
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html
各ログレコードの内容のハッシュを利用してidを生成しています。

で何が問題になっているのかを評価する必要があります。 送信 のプロセスで、データを取り込む前に事前にクリーニングする必要があると感じています。

確かに、Splunk はインデックス作成時にレコードの重複を排除しません。 前提 を送信してきたデータが「正しい」ものであることを確認します。

そもそも、どうやって重複したデータを取得しているのですか?

Splunk のフィールドで、アンダースコアで始まるもの (たとえば _time , _cd など)は ではない 編集可能/送信可能 - データを受信したときに Splunk が生成するものです。つまり、これらはすべて 内部 のフィールドがあります。検索可能。使える。しかし、上書きはできない。

もし、あなたが 本当に 重複したデータが多くて困っている。 送信プロセスを修正する方法はありません。 その場合、重複排除に頼る必要があります。 オペレーション SPL いつ 検索 のために、あるいは摂取したものについてのレポート ( 主に を使用することで stats と、どうしても必要な場合・やむを得ない場合。 dedup ).