<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Extract distinct values from an response array that has partial text using RegEx in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/Extract-distinct-values-from-an-response-array-that-has-partial/m-p/538962#M152417</link>
    <description>&lt;P&gt;I have an array that would be presented in an API response which is being logged in Splunk and the array format is like this:&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;"Indicators"&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;[&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"HAS_ACOUNT"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"NON_ZERO_BALANCE_ACCOUNT"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"JOINT_ACCOUNT"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"NOT_EXPIRED"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"REGISTERED"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;The number of values within the array will not always have same pattern. i.e. There may be responses where there may be 10 values within 'Indicators' array.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Now, I want to extract distinct values within "Indicators" array (with the value that has the text "ACCOUNT") logged in Splunk for last 30 days from that specific API response. Could someone help me how to get that?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;I wrote like this, but is didn't quite capture all possible values..&lt;BR /&gt;&lt;BR /&gt;index="index_name" Env=test "........./API" | rex field=_raw "\"Indicators\"\:\[(?&amp;lt;planInd&amp;gt;[^\,]*)\]" max_match=0 | where like (planInd,"%PCP%") | dedup planInd | table planInd&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Mon, 08 Feb 2021 10:34:54 GMT</pubDate>
    <dc:creator>balamurugandha7</dc:creator>
    <dc:date>2021-02-08T10:34:54Z</dc:date>
    <item>
      <title>Extract distinct values from an response array that has partial text using RegEx</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Extract-distinct-values-from-an-response-array-that-has-partial/m-p/538962#M152417</link>
      <description>&lt;P&gt;I have an array that would be presented in an API response which is being logged in Splunk and the array format is like this:&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;"Indicators"&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;[&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"HAS_ACOUNT"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"NON_ZERO_BALANCE_ACCOUNT"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"JOINT_ACCOUNT"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"NOT_EXPIRED"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"REGISTERED"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;The number of values within the array will not always have same pattern. i.e. There may be responses where there may be 10 values within 'Indicators' array.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Now, I want to extract distinct values within "Indicators" array (with the value that has the text "ACCOUNT") logged in Splunk for last 30 days from that specific API response. Could someone help me how to get that?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;I wrote like this, but is didn't quite capture all possible values..&lt;BR /&gt;&lt;BR /&gt;index="index_name" Env=test "........./API" | rex field=_raw "\"Indicators\"\:\[(?&amp;lt;planInd&amp;gt;[^\,]*)\]" max_match=0 | where like (planInd,"%PCP%") | dedup planInd | table planInd&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 08 Feb 2021 10:34:54 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Extract-distinct-values-from-an-response-array-that-has-partial/m-p/538962#M152417</guid>
      <dc:creator>balamurugandha7</dc:creator>
      <dc:date>2021-02-08T10:34:54Z</dc:date>
    </item>
    <item>
      <title>Re: Extract distinct values from an response array that has partial text using RegEx</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Extract-distinct-values-from-an-response-array-that-has-partial/m-p/538965#M152419</link>
      <description>&lt;LI-CODE lang="markup"&gt;index=_internal | head 1 | fields _raw
| eval _raw="\"Indicators\": [
                \"HAS_ACOUNT\",
                \"NON_ZERO_BALANCE_ACCOUNT\",
                \"JOINT_ACCOUNT\",
                \"NOT_EXPIRED\",
                \"REGISTERED\"
            ]"
| rex mode=sed "s/(?ms)(.*)/{\1}/"
| spath&lt;/LI-CODE&gt;&lt;P&gt;I think you will make it JSON better.&lt;/P&gt;</description>
      <pubDate>Mon, 08 Feb 2021 10:44:33 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Extract-distinct-values-from-an-response-array-that-has-partial/m-p/538965#M152419</guid>
      <dc:creator>to4kawa</dc:creator>
      <dc:date>2021-02-08T10:44:33Z</dc:date>
    </item>
    <item>
      <title>Re: Extract distinct values from an response array that has partial text using RegEx</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Extract-distinct-values-from-an-response-array-that-has-partial/m-p/538968#M152422</link>
      <description>&lt;P&gt;Please advise how am I suppose to dynamically pass values to "elav _raw...." as I am trying to apply this rex to all events logged for last 30 days.&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;</description>
      <pubDate>Mon, 08 Feb 2021 11:04:10 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Extract-distinct-values-from-an-response-array-that-has-partial/m-p/538968#M152422</guid>
      <dc:creator>balamurugandha7</dc:creator>
      <dc:date>2021-02-08T11:04:10Z</dc:date>
    </item>
    <item>
      <title>Re: Extract distinct values from an response array that has partial text using RegEx</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Extract-distinct-values-from-an-response-array-that-has-partial/m-p/538971#M152425</link>
      <description>&lt;P&gt;The rex is performed for each event, so I am not sure what the problem is.&lt;/P&gt;&lt;P&gt;And it doesn't say how the logs for the past 30 days will appear.&lt;/P&gt;</description>
      <pubDate>Mon, 08 Feb 2021 11:11:11 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Extract-distinct-values-from-an-response-array-that-has-partial/m-p/538971#M152425</guid>
      <dc:creator>to4kawa</dc:creator>
      <dc:date>2021-02-08T11:11:11Z</dc:date>
    </item>
    <item>
      <title>Re: Extract distinct values from an response array that has partial text using RegEx</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Extract-distinct-values-from-an-response-array-that-has-partial/m-p/538973#M152426</link>
      <description>&lt;P&gt;When I ran this I got the same array that is assigned to "_raw".&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;What I was expecting as an output is,&lt;BR /&gt;"HAS_ACOUNT",&lt;BR /&gt;"NON_ZERO_BALANCE_ACCOUNT",&lt;BR /&gt;"JOINT_ACCOUNT"&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;as only these three values within the Indicators array has the partial text "ACCOUNT". Also I couldn't figure out in your query where exactly you are trying to extract the events that has the partial text "ACCOUNT".&lt;/P&gt;&lt;P&gt;For example, if there is another event that has the "Indicators" array value as follows, then I should only get the value "HAS_ACCOUNT" for this event as this is the only value within that array that has the partial text "ACCOUNT"..&lt;/P&gt;&lt;P&gt;"Indicators": [&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "HAS_ACOUNT",&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "NOT_EXPIRED",&lt;BR /&gt;]&lt;/P&gt;</description>
      <pubDate>Mon, 08 Feb 2021 11:22:34 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Extract-distinct-values-from-an-response-array-that-has-partial/m-p/538973#M152426</guid>
      <dc:creator>balamurugandha7</dc:creator>
      <dc:date>2021-02-08T11:22:34Z</dc:date>
    </item>
    <item>
      <title>Re: Extract distinct values from an response array that has partial text using RegEx</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Extract-distinct-values-from-an-response-array-that-has-partial/m-p/539154#M152507</link>
      <description>&lt;LI-CODE lang="markup"&gt;index=_internal | head 1 | fields _raw
| eval _raw="\"Indicators\": [
                \"HAS_ACCOUNT\",
                \"NON_ZERO_BALANCE_ACCOUNT\",
                \"JOINT_ACCOUNT\",
                \"NOT_EXPIRED\",
                \"REGISTERED\"
            ]"
| rex mode=sed "s/(?ms)(.*)/{\1}/"
| spath
| rename *{} as *
| rex field=Indicators max_match=0 "(?&amp;lt;indicators&amp;gt;.*ACCOUNT)"
| table indicators&lt;/LI-CODE&gt;</description>
      <pubDate>Tue, 09 Feb 2021 12:18:01 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Extract-distinct-values-from-an-response-array-that-has-partial/m-p/539154#M152507</guid>
      <dc:creator>to4kawa</dc:creator>
      <dc:date>2021-02-09T12:18:01Z</dc:date>
    </item>
  </channel>
</rss>

