<?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 Re: Dashboard- need to split a content into multiple columns(or attributes) in Dashboarding</title>
    <link>https://community.dynatrace.com/t5/Dashboarding/Dashboard-need-to-split-a-content-into-multiple-columns-or/m-p/295112#M5693</link>
    <description>&lt;P&gt;replied to above ,pls check&lt;/P&gt;</description>
    <pubDate>Mon, 23 Feb 2026 12:23:49 GMT</pubDate>
    <dc:creator>jasper23</dc:creator>
    <dc:date>2026-02-23T12:23:49Z</dc:date>
    <item>
      <title>Dashboard- need to split a content into multiple columns(or attributes)</title>
      <link>https://community.dynatrace.com/t5/Dashboarding/Dashboard-need-to-split-a-content-into-multiple-columns-or/m-p/295087#M5689</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There is a dashboard we are having in which there is a column named "content". Content column has information in each row like this in json format -&amp;gt; {"level":"INFO","message":"hello world","ts":"2026-01-13T08:50:37","mac_id":"server1"}&lt;/P&gt;
&lt;P&gt;That is one row like above in each row of this dashboard tile. This dashboard is created from log ingestion so we cannot go inside the dashboard tile in data explorer mode. Now the requirement is that we need to split the above json line /row into multiple columns. That is we need to split above row and make "level" a new column with first row having a value of INFO. Then we need to have "message" as a new column and have "hello world" as its value in first row , then so on until "mac_id" attribute and then repeat for all rows. Now i have already tried going into settings &amp;gt;&amp;nbsp; "Log monitoring" &amp;gt; "Custom attributes" section and defining above attributes there but its not working as the above are not attributes for dynatrace but rather a content. All i found out is that i need a log processing rule here where i need to create a matcher rule and processing rule(processor definition). Please check and help here. I need these rules.&lt;/P&gt;</description>
      <pubDate>Tue, 24 Feb 2026 07:33:14 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Dashboarding/Dashboard-need-to-split-a-content-into-multiple-columns-or/m-p/295087#M5689</guid>
      <dc:creator>jasper23</dc:creator>
      <dc:date>2026-02-24T07:33:14Z</dc:date>
    </item>
    <item>
      <title>Re: Dashboard- need to split a content into multiple columns(or attributes)</title>
      <link>https://community.dynatrace.com/t5/Dashboarding/Dashboard-need-to-split-a-content-into-multiple-columns-or/m-p/295088#M5690</link>
      <description>&lt;P&gt;&lt;a href="https://community.dynatrace.com/t5/user/viewprofilepage/user-id/101469"&gt;@jasper23&lt;/a&gt;&amp;nbsp;I suppose you use Dynatrace Managed with Log monitoring classic and not Dynatrace SaaS where this is accomplished differently. In this case, you need a Log processing rule, and you've already figured that out.&amp;nbsp;&lt;BR /&gt;Here is an example for parsing JSON-&amp;nbsp;&lt;A href="https://docs.dynatrace.com/managed/shortlink/log-monitoring-log-processing-examples#lpexample4" target="_blank"&gt;https://docs.dynatrace.com/managed/shortlink/log-monitoring-log-processing-examples#lpexample4&lt;/A&gt;&amp;nbsp;&lt;BR /&gt;As for the matcher, it depends on your log source and for which logs you want that rule to apply. You don't necessarily need to define log attributes if you just want to see the fields in the table.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 23 Feb 2026 10:24:55 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Dashboarding/Dashboard-need-to-split-a-content-into-multiple-columns-or/m-p/295088#M5690</guid>
      <dc:creator>Julius_Loman</dc:creator>
      <dc:date>2026-02-23T10:24:55Z</dc:date>
    </item>
    <item>
      <title>Re: Dashboard- need to split a content into multiple columns(or attributes)</title>
      <link>https://community.dynatrace.com/t5/Dashboarding/Dashboard-need-to-split-a-content-into-multiple-columns-or/m-p/295106#M5691</link>
      <description>&lt;P&gt;Thanks Julius for replying.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think i forgot to mention many things here.&amp;nbsp;&lt;/P&gt;&lt;P&gt;So this is a SAAS not managed. This dt version is&amp;nbsp;1.332.56.20260219-200703 but we are not on new dynatrace.&lt;/P&gt;&lt;P&gt;Things i forgot to inform is -&amp;gt; I already went on this link which you pasted -&amp;gt;&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://docs.dynatrace.com/managed/shortlink/log-monitoring-log-processing-examples#lpexample4" target="_blank" rel="noopener noreferrer"&gt;https://docs.dynatrace.com/managed/shortlink/log-monitoring-log-processing-examples#lpexample4&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;H3 id="lpexample4"&gt;Example 4: Parse out specific fields from JSON content&lt;/H3&gt;&lt;P&gt;Above one i already checked. Something is not right and i am seeing errors. Need help in that.&lt;/P&gt;&lt;P&gt;This example says -&amp;gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;The sample log would look like this:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"content"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"{"&lt;/SPAN&gt;&lt;SPAN class=""&gt;intField&lt;/SPAN&gt;&lt;SPAN class=""&gt;": 13, "&lt;/SPAN&gt;&lt;SPAN class=""&gt;stringField&lt;/SPAN&gt;&lt;SPAN class=""&gt;": "&lt;/SPAN&gt;&lt;SPAN class=""&gt;someValue&lt;/SPAN&gt;&lt;SPAN class=""&gt;", "&lt;/SPAN&gt;&lt;SPAN class=""&gt;nested&lt;/SPAN&gt;&lt;SPAN class=""&gt;": {"&lt;/SPAN&gt;&lt;SPAN class=""&gt;nestedStringField1&lt;/SPAN&gt;&lt;SPAN class=""&gt;": "&lt;/SPAN&gt;&lt;SPAN class=""&gt;someNestedValue1&lt;/SPAN&gt;&lt;SPAN class=""&gt;", "&lt;/SPAN&gt;&lt;SPAN class=""&gt;nestedStringField2&lt;/SPAN&gt;&lt;SPAN class=""&gt;": "&lt;/SPAN&gt;&lt;SPAN class=""&gt;someNestedValue2&lt;/SPAN&gt;&lt;SPAN class=""&gt;"} }"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;But in reality , when i click on create processing rule after selecting the json log line , the json line changes by itself to below in the "create processing rule window or page" under "log sample" field -&amp;gt; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;{&lt;BR /&gt;"event.type": "LOG",&lt;BR /&gt;"content": "{\"level\":\"INFO\",\"message\":\"hello world...\",\"ts\":\"&lt;SPAN&gt;2026-01-13T08:50:37&lt;/SPAN&gt;\",\"mac_id\":\"server1\"}",&lt;BR /&gt;"status": "INFO",&lt;BR /&gt;"timestamp": "1771846247556",&lt;BR /&gt;"loglevel": "INFO",&lt;BR /&gt;"log.source": "/opt/dynatrace/logs/*.log",&lt;BR /&gt;"dt.entity.host": "HOST-xxxxxxxxx",&lt;BR /&gt;"dt.smartscape.host": "HOST-xxxxxxxxx"&lt;BR /&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;And the matcher field automatically has value of -&amp;gt;&amp;nbsp;dt.entity.host = "HOST-xxxxxxx" ( some host id here) - this is the host id where we have fetched the logs from.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;So firstly , why it changed the json log line in above and put \(backslashes) all over the place for "content"?? Is it right ?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;Then from your link i tried already some days back to use example 4 which says to create processing rule like below -&amp;gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;example 4's Content -&amp;gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;{&lt;BR /&gt;"content": "{"intField": 13, "stringField": "someValue", "nested": {"nestedStringField1": "someNestedValue1", "nestedStringField2": "someNestedValue2"} }"&lt;BR /&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;Example 4's Processing rule -&amp;gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PARSE(content, "&lt;BR /&gt;JSON{&lt;BR /&gt;STRING:stringField,&lt;BR /&gt;JSON {STRING:nestedStringField1}:nested&lt;BR /&gt;}:parsedJson")&lt;BR /&gt;| FIELDS_ADD(top_level.attribute1: parsedJson["stringField"], top_level.attribute2: parsedJson["nested"]["nestedStringField1"])&lt;BR /&gt;| FIELDS_REMOVE(parsedJson)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So the use case shown in the example 4 is not actually my use case but still&amp;nbsp; taking inspiration from above processing rule i enter something like this in the processor definition field -&amp;gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PARSE(content, "&lt;BR /&gt;JSON{&lt;BR /&gt;STRING:level,&lt;BR /&gt;}:parsedJson")&lt;BR /&gt;| FIELDS_ADD(level_code: parsedJson["level"])&lt;BR /&gt;| FIELDS_REMOVE(parsedJson)&lt;/P&gt;&lt;P&gt;And when i put above in the processor definition i get below error and the test the rule button gets greyed out -&amp;gt;&amp;nbsp;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Invalid processing rule definition: [1,15] Parse command pattern compile error: mismatched input '}' expecting {'&amp;lt;', VARIABLE_ID, CHARGROUP, STRUCTURE, ENUM, JSON, JSON_OBJECT, JSON_ARRAY, JSON_VALUE, ARRAY, DATA, LDATA, LD, KVP, GENERIC_ID, STRING_OPEN, NEWDOC_OPEN, '(', '{'}&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Attached screenshot also.&amp;nbsp;&lt;/P&gt;&lt;P&gt;So two things here -&amp;gt; 1.) the matcher expression needs some update i am sure - &amp;gt; dt.entity.host = "HOST-xxxxxxxxx" ( there should be something more here)&lt;/P&gt;&lt;P&gt;2.) The error needs to go away which is shown above. Obviously the processor definition expression is not correct even if i took inspiration from the example 4 on the link. See attachment.&lt;/P&gt;&lt;P&gt;I have already spent 7-8 hours on this in entirety.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 23 Feb 2026 12:07:58 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Dashboarding/Dashboard-need-to-split-a-content-into-multiple-columns-or/m-p/295106#M5691</guid>
      <dc:creator>jasper23</dc:creator>
      <dc:date>2026-02-23T12:07:58Z</dc:date>
    </item>
    <item>
      <title>Re: Dashboard- need to split a content into multiple columns(or attributes)</title>
      <link>https://community.dynatrace.com/t5/Dashboarding/Dashboard-need-to-split-a-content-into-multiple-columns-or/m-p/295111#M5692</link>
      <description>&lt;P&gt;Thanks Julius for replying. This is SAAS but we not on new dynatrace.&lt;/P&gt;&lt;P&gt;Yes there is no option but to parse this thing.&lt;/P&gt;&lt;P&gt;I already looked at the link you gave above last week and tried to use example 4 from it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Though the use case is not entirely the same as mine.&lt;/P&gt;&lt;P&gt;Especially i used below use case from example 4 -&amp;gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;"content": "{"intField": 13, "stringField": "someValue", "nested": {"nestedStringField1": "someNestedValue1", "nestedStringField2": "someNestedValue2"} }"&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;Processing rule -&amp;gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PARSE(content, "&lt;BR /&gt;JSON{&lt;BR /&gt;STRING:stringField,&lt;BR /&gt;JSON {STRING:nestedStringField1}:nested&lt;BR /&gt;}:parsedJson")&lt;BR /&gt;| FIELDS_ADD(top_level.attribute1: parsedJson["stringField"], top_level.attribute2: parsedJson["nested"]["nestedStringField1"])&lt;BR /&gt;| FIELDS_REMOVE(parsedJson)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now i replicate above in my gui without using the nested stuff from above example(no nesting needed in my case)&lt;/P&gt;&lt;P&gt;My log&amp;nbsp; content as shown on the processing rule page under "log sample" field is&amp;nbsp; -&amp;gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;"event.type": "LOG",&lt;BR /&gt;"content": "{\"level\":\"INFO\",\"message\":\"hello world...\",\"ts\":\"2025-12-14T07:50:37.084703142Z\",\"mac_id\":\"server1\"}",&lt;BR /&gt;"status": "INFO",&lt;BR /&gt;"timestamp": "1771846247556",&lt;BR /&gt;"loglevel": "INFO",&lt;BR /&gt;"log.source": "/opt/dynatrace/logs/*.log",&lt;BR /&gt;"dt.entity.host": "HOST-xxxxxxxx",&lt;BR /&gt;"dt.smartscape.host": "HOST-xxxxxxxxx"&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;First question is -&amp;gt; why it has put backslashes in the above content shown ?? under log sample field ?&lt;/P&gt;&lt;P&gt;i.e this -&amp;gt;&amp;nbsp;"content": "{\"level\":\"INFO\",\"message\":\"hello world...\",\"ts\":\"2025-12-14T07:50:37.084703142Z\",\"mac_id\":\"server1\"}",&lt;/P&gt;&lt;P&gt;The original json log file content column doesnot have these backslashes.Does it make a difference ?&lt;/P&gt;&lt;P&gt;Then -&amp;gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Matcher expression(automatically created by dynatrace) -&amp;gt;&amp;nbsp;dt.entity.host = "HOST-xxxxxxxx"( yes this is correct as this is the host from where we have fetched the logs and i have come to this page by selecting the log line and clicking on "create processing rule " button.&lt;/P&gt;&lt;P&gt;I feel the matcher expression is not complete yet, something more needs to come here.&lt;/P&gt;&lt;P&gt;Now taking inspiration from the example 4 i pasted below in the "processor definition" field -&amp;gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PARSE(content, "&lt;BR /&gt;JSON{&lt;BR /&gt;STRING:level,&lt;BR /&gt;}:parsedJson")&lt;BR /&gt;| FIELDS_ADD(level_code: parsedJson["level"])&lt;BR /&gt;| FIELDS_REMOVE(parsedJson)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And i get below error -&amp;gt;&amp;nbsp;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Invalid processing rule definition: [1,15] Parse command pattern compile error: mismatched input '}' expecting {'&amp;lt;', VARIABLE_ID, CHARGROUP, STRUCTURE, ENUM, JSON, JSON_OBJECT, JSON_ARRAY, JSON_VALUE, ARRAY, DATA, LDATA, LD, KVP, GENERIC_ID, STRING_OPEN, NEWDOC_OPEN, '(', '{'}&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Attached screenshot as well.&amp;nbsp; Kindly help. I feel the expression is not correct.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 23 Feb 2026 12:22:55 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Dashboarding/Dashboard-need-to-split-a-content-into-multiple-columns-or/m-p/295111#M5692</guid>
      <dc:creator>jasper23</dc:creator>
      <dc:date>2026-02-23T12:22:55Z</dc:date>
    </item>
    <item>
      <title>Re: Dashboard- need to split a content into multiple columns(or attributes)</title>
      <link>https://community.dynatrace.com/t5/Dashboarding/Dashboard-need-to-split-a-content-into-multiple-columns-or/m-p/295112#M5693</link>
      <description>&lt;P&gt;replied to above ,pls check&lt;/P&gt;</description>
      <pubDate>Mon, 23 Feb 2026 12:23:49 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Dashboarding/Dashboard-need-to-split-a-content-into-multiple-columns-or/m-p/295112#M5693</guid>
      <dc:creator>jasper23</dc:creator>
      <dc:date>2026-02-23T12:23:49Z</dc:date>
    </item>
    <item>
      <title>Re: Dashboard- need to split a content into multiple columns(or attributes)</title>
      <link>https://community.dynatrace.com/t5/Dashboarding/Dashboard-need-to-split-a-content-into-multiple-columns-or/m-p/295198#M5697</link>
      <description>&lt;P&gt;This looks like a trailing comma in your JSON pattern (STRING:level,). In DPL, the last JSON member must not end with a comma, which matches the “mismatched input '}'” error.&lt;BR /&gt;Try this:&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;PARSE(content, "JSON{ STRING:level }:parsedJson")
| FIELDS_ADD(level_code: parsedJson["level"])
| FIELDS_REMOVE(parsedJson)&lt;/LI-CODE&gt;&lt;P&gt;The backslashes you see in the sample are expected (the UI renders the full log record as JSON, and content is a string containing JSON).&lt;BR /&gt;I couldn’t verify it directly in your environment, but IMO the trailing comma is the root cause and removing it should make the rule testable&lt;/P&gt;</description>
      <pubDate>Tue, 24 Feb 2026 12:36:03 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Dashboarding/Dashboard-need-to-split-a-content-into-multiple-columns-or/m-p/295198#M5697</guid>
      <dc:creator>t_pawlak</dc:creator>
      <dc:date>2026-02-24T12:36:03Z</dc:date>
    </item>
  </channel>
</rss>

