Splunk Search

sourceをいくつか設定していると最初のsourceの情報しかとってこない

Contributor

以下のqueryを実行すると、取ってきてほしい情報(UIDとwifi)がかけてしまいます。
原因はおそらくですが、sourceをいくつかORで繋いで指定しており、その中の一つのsource(source=device)からしか情報をとってきてないように見受けられます。
このsource=deviceは日次でデータを取得しており、その他は週次で取得しているためでしょうか。
かけている情報をだすだしかたを教えて下さい。

index=* sourcetype=dlog (source=*idevice OR source=device OR source=idevicen OR source=*idevicer)
| rex field=id "(?\d+)@"

| stats latest(cid) AS CID latest(id) as ID latest(serial) AS Serial latest(type) AS Type latest(model) AS Model latest(version) AS Version latest(Carrier) AS Carrier latest(pp) AS PP latest(uid) AS UID latest(wifi) AS wifi latest(enrolleddate) AS enrolleddate latest(lastmodified) as lastmodified by number

| eval Enrolled=strftime(enrolled_date,"%Y/%m/%d %H:%M")
| eval Lastupdated=strftime(lastmodified,"%Y/%m/%d %H:%M") | rename phone AS MSN
| table CID ID MSN Serial Type Model Version Carrier PP UID wifi Enrolled Lastupdated | transpose

0 Karma
1 Solution

Communicator

検索文について、「|」で分解し、どの部分に問題があるか、切り分けをされてはいかがでしょうか?

1) データの選択範囲が正しいか?

 sourcetype=d_log (source=i_device OR source=device OR source=i_device_n OR source=*i_device_r) 
| stats count by source

対象にしているsourceがカウントされているか、確認します。ここで対象から漏れている場合、inputs.confの設定を見直し、sourceとsourcetypeが期待通りに設定されるか、ご確認ください。

2) transpose

transposeでは引数を指定しないと、デフォルトは5となっています。transpose 10のように大きい数字を指定することで変化は見られませんか?

3) すべてのsourceにて、フィールド情報が含まれているでしょうか?fillnullの有無で件数に変化がないかを確認。

index= sourcetype=d_log (source=i_device OR source=device OR source=i_device_n OR source=*i_device_r) | rex field=id "(?<id>d+)@" | fillnull value="NULL" id c_id id serial type model version Carrier pp u_id wifi enrolled_date lastmodified number phone | stats latest(c_id) AS CID latest(id) as ID latest(serial) AS Serial latest(type) AS Type latest(model) AS Model latest(version) AS Version latest(Carrier) AS Carrier  latest(pp) AS PP latest(u_id) AS UID latest(wifi) AS wifi latest(enrolled_date) AS enrolled_date latest(lastmodified) as lastmodified by number | eval Enrolled=strftime(enrolled_date,"%Y/%m/%d %H:%M") | eval Lastupdated=strftime(lastmodified,"%Y/%m/%d %H:%M") | rename phone AS MSN | table CID ID MSN Serial Type Model Version Carrier PP UID wifi Enrolled Lastupdated | transpose

fillnullコマンドを追加する事で、期待結果が得られるなら、フィールドの値が正しく抽出できていないのかもしれません。

フィールド抽出設定をご確認ください。

フィールドが抽出できないケースが想定される場合には、fillnullコマンドによる対応が必要なのかもしれません。

参考にしていただければ幸いです。

View solution in original post

Communicator

検索文について、「|」で分解し、どの部分に問題があるか、切り分けをされてはいかがでしょうか?

1) データの選択範囲が正しいか?

 sourcetype=d_log (source=i_device OR source=device OR source=i_device_n OR source=*i_device_r) 
| stats count by source

対象にしているsourceがカウントされているか、確認します。ここで対象から漏れている場合、inputs.confの設定を見直し、sourceとsourcetypeが期待通りに設定されるか、ご確認ください。

2) transpose

transposeでは引数を指定しないと、デフォルトは5となっています。transpose 10のように大きい数字を指定することで変化は見られませんか?

3) すべてのsourceにて、フィールド情報が含まれているでしょうか?fillnullの有無で件数に変化がないかを確認。

index= sourcetype=d_log (source=i_device OR source=device OR source=i_device_n OR source=*i_device_r) | rex field=id "(?<id>d+)@" | fillnull value="NULL" id c_id id serial type model version Carrier pp u_id wifi enrolled_date lastmodified number phone | stats latest(c_id) AS CID latest(id) as ID latest(serial) AS Serial latest(type) AS Type latest(model) AS Model latest(version) AS Version latest(Carrier) AS Carrier  latest(pp) AS PP latest(u_id) AS UID latest(wifi) AS wifi latest(enrolled_date) AS enrolled_date latest(lastmodified) as lastmodified by number | eval Enrolled=strftime(enrolled_date,"%Y/%m/%d %H:%M") | eval Lastupdated=strftime(lastmodified,"%Y/%m/%d %H:%M") | rename phone AS MSN | table CID ID MSN Serial Type Model Version Carrier PP UID wifi Enrolled Lastupdated | transpose

fillnullコマンドを追加する事で、期待結果が得られるなら、フィールドの値が正しく抽出できていないのかもしれません。

フィールド抽出設定をご確認ください。

フィールドが抽出できないケースが想定される場合には、fillnullコマンドによる対応が必要なのかもしれません。

参考にしていただければ幸いです。

View solution in original post

Splunk Employee
Splunk Employee

おそらく各sourceにはnumberフィールドがあって、numberをキーとして複数のデータを連結するようなサーチだとおもいます。
statsの中のlatest()をvalues()に変更してみてはどうでしょうか。

0 Karma

Contributor

valuesでもいいのですが、最新の情報という意味でlatestを使用していました。でないと、結果が1つに特定できずに複数表示されてしまう可能性があるためです。

0 Karma