Getting Data In

curlでのデータ入力について。

t_nakayama
Engager

現在Splunk6.0.2に対して、curlコマンドで直接JSONデータを入力できないかと試しています。
TCP:10000をtcp-rawポートに設定しています。

curl -X POST -d 'json={"tag":"value"}' http://[splunkserver]:10000

のコマンドを外部サーバで実行すると、応答がなくCtrl + Cで終了させる必要がありました。
一方でSplunk側では

POST / HTTP/1.1
User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.12.9.0 zlib/1.2.3 libidn/1.18 libssh2/1.2.2
Host: [SplunkサーバIP]:10000
Accept: /
Content-Length: 20
Content-Type: application/x-www-form-urlencoded
json={"tag":"value"}

のイベントがhost=[外部サーバホスト名]、source=tcp:10000、sourcetype=tcp-rawで認識されています。
目的としてはjson部分のみSplunkで認識されればいいのですが、そもそもcurlコマンドを使う方法で上6行のヘッダを除去することはできますか?

以上です。
アドバイスよろしくお願いいたします。

1 Solution

melonman
Motivator

HTTPで投げられてるので、HeaderもそのままIndexしてしまいますね。
HeaderをIndexしないようにprops.confとtransforms.confで制御するなどの必要があります。
もし、単純にテストでJSON形式のデータをSplunkに投げつけたいということであれば、
以下が単純でいいかと思いますが、いかがでしょうか。

$ echo "{\"tag1\":\"value1\", \"tag2\":\"value2\"}" | nc Splunk 10000

View solution in original post

melonman
Motivator

HTTPで投げられてるので、HeaderもそのままIndexしてしまいますね。
HeaderをIndexしないようにprops.confとtransforms.confで制御するなどの必要があります。
もし、単純にテストでJSON形式のデータをSplunkに投げつけたいということであれば、
以下が単純でいいかと思いますが、いかがでしょうか。

$ echo "{\"tag1\":\"value1\", \"tag2\":\"value2\"}" | nc Splunk 10000

t_nakayama
Engager

返答が遅れてしまい申し訳ありません。

HTTPで投げられてるので、HeaderもそのままIndexしてしまいますね。
HeaderをIndexしないようにprops.confとtransforms.confで制御するなどの必要があります。

Splunkのポートが単なるTCP用であること、curlコマンドがHTTP用であることを意識していませんでした。
設定ファイルの記述を検討したいと思います。

もし、単純にテストでJSON形式のデータをSplunkに投げつけたいということであれば、
以下が単純でいいかと思いますが、いかがでしょうか。

$ echo "{"tag1":"value1", "tag2":"value2"}" | nc Splunk 10000

今回の目的はこちらのイメージでした。
ただ、環境上netcatが許可されるかということもあり、標準で入っているcurlで出来れば、ということでした。

ご回答、ありがとうございました。

0 Karma
Get Updates on the Splunk Community!

Earn a $35 Gift Card for Answering our Splunk Admins & App Developer Survey

Survey for Splunk Admins and App Developers is open now! | Earn a $35 gift card!      Hello there,  Splunk ...

Continuing Innovation & New Integrations Unlock Full Stack Observability For Your ...

You’ve probably heard the latest about AppDynamics joining the Splunk Observability portfolio, deepening our ...

Monitoring Amazon Elastic Kubernetes Service (EKS)

As we’ve seen, integrating Kubernetes environments with Splunk Observability Cloud is a quick and easy way to ...