<?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>article Troubleshooting log Ingestion via API - POST ingest logs in Troubleshooting</title>
    <link>https://community.dynatrace.com/t5/Troubleshooting/Troubleshooting-log-Ingestion-via-API-POST-ingest-logs/ta-p/286608</link>
    <description>&lt;P&gt;&lt;LI-TOC indent="15" liststyle="disc" maxheadinglevel="2"&gt;&lt;/LI-TOC&gt;&lt;/P&gt;
&lt;DIV class="lia-message-template-content-zone"&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;Summary&lt;/H1&gt;
&lt;P&gt;&lt;SPAN&gt;This guide covers how to push custom logs to Dynatrace using the&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Log Monitoring API&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;(&lt;/SPAN&gt;&lt;CODE&gt;POST /logs/ingest&lt;/CODE&gt;&lt;SPAN&gt;). It applies to both&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;SaaS environments&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;and&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;ActiveGate deployments&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;with the Log Analytics Collector module enabled.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;Troubleshooting steps&lt;/H1&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;1.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Verify API Endpoint&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;Confirm you're using the correct endpoint:&lt;/LI&gt;
&lt;LI&gt;SaaS:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;https://{environmentid}.live.dynatrace.com/api/v2/logs/ingest&lt;/CODE&gt;&lt;/LI&gt;
&lt;LI&gt;ActiveGate:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;https://{your-activegate-domain}:9999/e/{your-environment-id}/api/v2/logs/ingest&lt;/CODE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;2.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Check Authentication&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;Ensure your access token includes the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;logs.ingest&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;scope.&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;Validate token format and expiration.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;BR /&gt;3.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Validate Headers&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;Authorization: Api-Token {your-token}&lt;/CODE&gt;&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;Content-Type&lt;/CODE&gt;: Must be one of:
&lt;UL&gt;
&lt;LI&gt;&lt;CODE&gt;text/plain&lt;/CODE&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;CODE&gt;application/json&lt;/CODE&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;CODE&gt;application/jsonl&lt;/CODE&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;CODE&gt;application/x-ndjson&lt;/CODE&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;BR /&gt;4.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Inspect Payload Format&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;Confirm UTF-8 encoding.&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;For JSON payloads:
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;Use an array of log objects.&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;Include required fields like&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;content&lt;/CODE&gt;,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;timestamp&lt;/CODE&gt;, and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;severity&lt;/CODE&gt;.&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;Flatten nested attributes using dot notation.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;BR /&gt;5.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Check Timestamp Validity&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;Ensure timestamps are:
&lt;UL&gt;
&lt;LI&gt;In UTC&lt;/LI&gt;
&lt;LI&gt;RFC3339 or RFC3164 format&lt;/LI&gt;
&lt;LI&gt;Not older than 24 hours&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;BR /&gt;6.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Review Attribute Depth&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;Limit nesting to 5 levels.&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;Avoid conflicting keys (Dynatrace will prefix with&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;overwritten1&lt;/CODE&gt;, etc.).&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;BR /&gt;7.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Monitor Response Codes&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;200 OK&lt;/CODE&gt;: Success (some logs may be dropped)&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;204 No Content&lt;/CODE&gt;: Success&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;400 Bad Request&lt;/CODE&gt;: Check payload structure&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;401 Unauthorized&lt;/CODE&gt;: The token is invalid&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;402 Payment Required&lt;/CODE&gt;:&amp;nbsp;&lt;SPAN&gt;Failed. This is due either to the status of your licensing agreement or because you've exhausted your&amp;nbsp;&lt;/SPAN&gt;&lt;A class="_z2r50s3-1-8-0 _1v1skpy0-1-8-0 sc-3cdd2013-0 eccFTo" href="https://www.dynatrace.com/support/help/shortlink/dynatrace-platform-subscription" target="_blank" rel="noopener"&gt;DPS license&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;SPAN&gt;&lt;CODE&gt;403 Forbidden&lt;/CODE&gt;: The token lacks the proper permissions&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;404 Not Found&lt;/CODE&gt;:&amp;nbsp;&lt;SPAN&gt;Failed. The requested resource doesn't exist. This may happen when no ActiveGate is available with the Log Analytics Collector module enabled.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;413 Payload Too Large&lt;/CODE&gt;: Reduce payload size&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;429 Too Many Requests&lt;/CODE&gt;: Apply exponential backoff&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;503 Service Unavailable&lt;/CODE&gt;: Retry later&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;BR /&gt;8.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Enable Semantic Attributes (Optional)&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;Use attributes like&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;host.name&lt;/CODE&gt;,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;http.status_code&lt;/CODE&gt;,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;dt.entity.service&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;for enhanced querying.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;&lt;STRONG class="_wxp4dd0-1-8-0"&gt;Limitations&lt;/STRONG&gt;&lt;/H1&gt;
&lt;P class="_487p2n0-1-8-0 _da9a8v0-1-8-0 _da9a8v2-1-8-0 _da9a8v3-1-8-0 _da9a8vb-1-8-0 sc-d1bf1c63-0 iVriGI"&gt;Please refer to the following documentation pages:&lt;/P&gt;
&lt;DIV class="sc-afe78283-0 gGdaYh"&gt;
&lt;UL class="_rup8ap0-1-8-0 _16276mt0-1-8-0"&gt;
&lt;LI class="_16276mt1-1-8-0"&gt;&lt;A class="_z2r50s3-1-8-0 _1v1skpy0-1-8-0 sc-3cdd2013-0 eccFTo" href="https://docs.dynatrace.com/docs/analyze-explore-automate/logs/lma-limits" target="_blank" rel="noopener"&gt;Grail tenant limits&lt;/A&gt;&lt;/LI&gt;
&lt;LI class="_16276mt1-1-8-0"&gt;&lt;A class="_z2r50s3-1-8-0 _1v1skpy0-1-8-0 sc-3cdd2013-0 eccFTo" href="https://docs.dynatrace.com/docs/analyze-explore-automate/log-monitoring/log-monitoring-limits" target="_blank" rel="noopener"&gt;LM v2 SaaS tenant limits&lt;/A&gt;&lt;/LI&gt;
&lt;LI class="_16276mt1-1-8-0"&gt;&lt;A class="_z2r50s3-1-8-0 _1v1skpy0-1-8-0 sc-3cdd2013-0 eccFTo" href="https://docs.dynatrace.com/managed/analyze-explore-automate/log-monitoring/log-monitoring-limits" target="_blank" rel="noopener"&gt;LM v2 Managed tenant limits&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;EM&gt;&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;
&lt;H1&gt;What's next&lt;/H1&gt;
&lt;P&gt;If this article did not help, please open a support ticket, mention that this article was used and provide the following information:&lt;/P&gt;
&lt;DIV class="p-client_container"&gt;
&lt;DIV class="p-ia4_client_container"&gt;
&lt;DIV class="p-ia4_client p-ia4_client--with-search-in-top-nav p-ia4_client--workspace-switcher-rail-visibletest p-ia4_client--sidebar-wide p-ia4_client--narrow-feature-on"&gt;
&lt;DIV class="p-client_workspace_wrapper" role="tabpanel" aria-label="Dynatrace"&gt;
&lt;DIV class="p-client_workspace" role="tabpanel" aria-label="DMs"&gt;
&lt;DIV class="p-client_workspace__layout"&gt;
&lt;DIV class="active-managed-focus-container" role="none"&gt;
&lt;DIV class="p-view_contents p-view_contents--primary" tabindex="-1" role="dialog" aria-label="Conversation with Anton Konikov"&gt;
&lt;DIV class="tabbed_channel__Abx5r"&gt;
&lt;DIV class="tabbed_channel__Abx5r"&gt;
&lt;DIV class="channel_tab_panel__zJ5Bt c-tabs__tab_panel c-tabs__tab_panel--active c-tabs__tab_panel--full_height" role="none" data-qa="tabs_content_container"&gt;
&lt;DIV class="p-file_drag_drop__container"&gt;
&lt;DIV class="p-workspace__primary_view_body"&gt;
&lt;DIV class="p-message_pane p-message_pane--classic-nav p-message_pane--scrollbar-float-adjustment p-message_pane--with-bookmarks-bar" data-qa="message_pane"&gt;
&lt;DIV role="presentation"&gt;
&lt;DIV class="c-virtual_list c-virtual_list--scrollbar c-message_list c-message_list--floating c-message_list--dark c-scrollbar c-scrollbar--fade" role="presentation"&gt;
&lt;DIV class="c-scrollbar__hider" role="presentation" data-qa="slack_kit_scrollbar"&gt;
&lt;DIV class="c-scrollbar__child" role="presentation"&gt;
&lt;DIV class="c-virtual_list__scroll_container" tabindex="-1" role="list" data-qa="slack_kit_list" aria-label="Anton Konikov (direct message, active)"&gt;
&lt;DIV id="1734101723.604509" class="c-virtual_list__item" tabindex="0" role="listitem" aria-setsize="-1" data-qa="virtual-list-item" data-item-key="1734101723.604509"&gt;
&lt;DIV class="c-message_kit__background p-message_pane_message__message c-message_kit__message p-message_pane_message__message--last" role="presentation" data-qa="message_container" data-qa-unprocessed="false" data-qa-placeholder="false"&gt;
&lt;DIV class="c-message_kit__hover" role="document" aria-roledescription="message" data-qa-hover="true"&gt;
&lt;DIV class="c-message_kit__actions c-message_kit__actions--above"&gt;
&lt;DIV class="c-message_kit__gutter"&gt;
&lt;DIV class="c-message_kit__gutter__right" role="presentation" data-qa="message_content"&gt;
&lt;DIV class="c-message_kit__blocks c-message_kit__blocks--rich_text"&gt;
&lt;DIV class="c-message__message_blocks c-message__message_blocks--rich_text" data-qa="message-text"&gt;
&lt;DIV class="p-block_kit_renderer" data-qa="block-kit-renderer"&gt;
&lt;DIV class="p-block_kit_renderer__block_wrapper p-block_kit_renderer__block_wrapper--first"&gt;
&lt;DIV class="p-rich_text_block" dir="auto"&gt;
&lt;UL class="p-rich_text_list p-rich_text_list__bullet p-rich_text_list--nested" data-stringify-type="unordered-list" data-list-tree="true" data-indent="0" data-border="1" data-border-radius-top-cap="0"&gt;
&lt;LI data-stringify-indent="0" data-stringify-border="1"&gt;Link to tenant&lt;/LI&gt;
&lt;LI data-stringify-indent="0" data-stringify-border="1"&gt;&lt;SPAN&gt;API endpoint used&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-stringify-indent="0" data-stringify-border="1"&gt;&lt;SPAN&gt;Responses to ingest requests including response codes and messages&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;</description>
    <pubDate>Mon, 29 Sep 2025 09:26:05 GMT</pubDate>
    <dc:creator>noel_david</dc:creator>
    <dc:date>2025-09-29T09:26:05Z</dc:date>
    <item>
      <title>Troubleshooting log Ingestion via API - POST ingest logs</title>
      <link>https://community.dynatrace.com/t5/Troubleshooting/Troubleshooting-log-Ingestion-via-API-POST-ingest-logs/ta-p/286608</link>
      <description>&lt;P&gt;&lt;LI-TOC indent="15" liststyle="disc" maxheadinglevel="2"&gt;&lt;/LI-TOC&gt;&lt;/P&gt;
&lt;DIV class="lia-message-template-content-zone"&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;Summary&lt;/H1&gt;
&lt;P&gt;&lt;SPAN&gt;This guide covers how to push custom logs to Dynatrace using the&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Log Monitoring API&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;(&lt;/SPAN&gt;&lt;CODE&gt;POST /logs/ingest&lt;/CODE&gt;&lt;SPAN&gt;). It applies to both&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;SaaS environments&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;and&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;ActiveGate deployments&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;with the Log Analytics Collector module enabled.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;Troubleshooting steps&lt;/H1&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;1.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Verify API Endpoint&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;Confirm you're using the correct endpoint:&lt;/LI&gt;
&lt;LI&gt;SaaS:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;https://{environmentid}.live.dynatrace.com/api/v2/logs/ingest&lt;/CODE&gt;&lt;/LI&gt;
&lt;LI&gt;ActiveGate:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;https://{your-activegate-domain}:9999/e/{your-environment-id}/api/v2/logs/ingest&lt;/CODE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;2.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Check Authentication&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;Ensure your access token includes the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;logs.ingest&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;scope.&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;Validate token format and expiration.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;BR /&gt;3.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Validate Headers&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;Authorization: Api-Token {your-token}&lt;/CODE&gt;&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;Content-Type&lt;/CODE&gt;: Must be one of:
&lt;UL&gt;
&lt;LI&gt;&lt;CODE&gt;text/plain&lt;/CODE&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;CODE&gt;application/json&lt;/CODE&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;CODE&gt;application/jsonl&lt;/CODE&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;CODE&gt;application/x-ndjson&lt;/CODE&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;BR /&gt;4.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Inspect Payload Format&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;Confirm UTF-8 encoding.&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;For JSON payloads:
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;Use an array of log objects.&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;Include required fields like&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;content&lt;/CODE&gt;,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;timestamp&lt;/CODE&gt;, and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;severity&lt;/CODE&gt;.&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;Flatten nested attributes using dot notation.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;BR /&gt;5.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Check Timestamp Validity&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;Ensure timestamps are:
&lt;UL&gt;
&lt;LI&gt;In UTC&lt;/LI&gt;
&lt;LI&gt;RFC3339 or RFC3164 format&lt;/LI&gt;
&lt;LI&gt;Not older than 24 hours&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;BR /&gt;6.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Review Attribute Depth&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;Limit nesting to 5 levels.&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;Avoid conflicting keys (Dynatrace will prefix with&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;overwritten1&lt;/CODE&gt;, etc.).&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;BR /&gt;7.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Monitor Response Codes&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;200 OK&lt;/CODE&gt;: Success (some logs may be dropped)&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;204 No Content&lt;/CODE&gt;: Success&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;400 Bad Request&lt;/CODE&gt;: Check payload structure&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;401 Unauthorized&lt;/CODE&gt;: The token is invalid&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;402 Payment Required&lt;/CODE&gt;:&amp;nbsp;&lt;SPAN&gt;Failed. This is due either to the status of your licensing agreement or because you've exhausted your&amp;nbsp;&lt;/SPAN&gt;&lt;A class="_z2r50s3-1-8-0 _1v1skpy0-1-8-0 sc-3cdd2013-0 eccFTo" href="https://www.dynatrace.com/support/help/shortlink/dynatrace-platform-subscription" target="_blank" rel="noopener"&gt;DPS license&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;SPAN&gt;&lt;CODE&gt;403 Forbidden&lt;/CODE&gt;: The token lacks the proper permissions&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;404 Not Found&lt;/CODE&gt;:&amp;nbsp;&lt;SPAN&gt;Failed. The requested resource doesn't exist. This may happen when no ActiveGate is available with the Log Analytics Collector module enabled.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;413 Payload Too Large&lt;/CODE&gt;: Reduce payload size&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;429 Too Many Requests&lt;/CODE&gt;: Apply exponential backoff&lt;/LI&gt;
&lt;LI class="task-list-item"&gt;&lt;CODE&gt;503 Service Unavailable&lt;/CODE&gt;: Retry later&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;BR /&gt;8.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Enable Semantic Attributes (Optional)&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI class="task-list-item"&gt;Use attributes like&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;host.name&lt;/CODE&gt;,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;http.status_code&lt;/CODE&gt;,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;dt.entity.service&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;for enhanced querying.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;&lt;STRONG class="_wxp4dd0-1-8-0"&gt;Limitations&lt;/STRONG&gt;&lt;/H1&gt;
&lt;P class="_487p2n0-1-8-0 _da9a8v0-1-8-0 _da9a8v2-1-8-0 _da9a8v3-1-8-0 _da9a8vb-1-8-0 sc-d1bf1c63-0 iVriGI"&gt;Please refer to the following documentation pages:&lt;/P&gt;
&lt;DIV class="sc-afe78283-0 gGdaYh"&gt;
&lt;UL class="_rup8ap0-1-8-0 _16276mt0-1-8-0"&gt;
&lt;LI class="_16276mt1-1-8-0"&gt;&lt;A class="_z2r50s3-1-8-0 _1v1skpy0-1-8-0 sc-3cdd2013-0 eccFTo" href="https://docs.dynatrace.com/docs/analyze-explore-automate/logs/lma-limits" target="_blank" rel="noopener"&gt;Grail tenant limits&lt;/A&gt;&lt;/LI&gt;
&lt;LI class="_16276mt1-1-8-0"&gt;&lt;A class="_z2r50s3-1-8-0 _1v1skpy0-1-8-0 sc-3cdd2013-0 eccFTo" href="https://docs.dynatrace.com/docs/analyze-explore-automate/log-monitoring/log-monitoring-limits" target="_blank" rel="noopener"&gt;LM v2 SaaS tenant limits&lt;/A&gt;&lt;/LI&gt;
&lt;LI class="_16276mt1-1-8-0"&gt;&lt;A class="_z2r50s3-1-8-0 _1v1skpy0-1-8-0 sc-3cdd2013-0 eccFTo" href="https://docs.dynatrace.com/managed/analyze-explore-automate/log-monitoring/log-monitoring-limits" target="_blank" rel="noopener"&gt;LM v2 Managed tenant limits&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;EM&gt;&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;
&lt;H1&gt;What's next&lt;/H1&gt;
&lt;P&gt;If this article did not help, please open a support ticket, mention that this article was used and provide the following information:&lt;/P&gt;
&lt;DIV class="p-client_container"&gt;
&lt;DIV class="p-ia4_client_container"&gt;
&lt;DIV class="p-ia4_client p-ia4_client--with-search-in-top-nav p-ia4_client--workspace-switcher-rail-visibletest p-ia4_client--sidebar-wide p-ia4_client--narrow-feature-on"&gt;
&lt;DIV class="p-client_workspace_wrapper" role="tabpanel" aria-label="Dynatrace"&gt;
&lt;DIV class="p-client_workspace" role="tabpanel" aria-label="DMs"&gt;
&lt;DIV class="p-client_workspace__layout"&gt;
&lt;DIV class="active-managed-focus-container" role="none"&gt;
&lt;DIV class="p-view_contents p-view_contents--primary" tabindex="-1" role="dialog" aria-label="Conversation with Anton Konikov"&gt;
&lt;DIV class="tabbed_channel__Abx5r"&gt;
&lt;DIV class="tabbed_channel__Abx5r"&gt;
&lt;DIV class="channel_tab_panel__zJ5Bt c-tabs__tab_panel c-tabs__tab_panel--active c-tabs__tab_panel--full_height" role="none" data-qa="tabs_content_container"&gt;
&lt;DIV class="p-file_drag_drop__container"&gt;
&lt;DIV class="p-workspace__primary_view_body"&gt;
&lt;DIV class="p-message_pane p-message_pane--classic-nav p-message_pane--scrollbar-float-adjustment p-message_pane--with-bookmarks-bar" data-qa="message_pane"&gt;
&lt;DIV role="presentation"&gt;
&lt;DIV class="c-virtual_list c-virtual_list--scrollbar c-message_list c-message_list--floating c-message_list--dark c-scrollbar c-scrollbar--fade" role="presentation"&gt;
&lt;DIV class="c-scrollbar__hider" role="presentation" data-qa="slack_kit_scrollbar"&gt;
&lt;DIV class="c-scrollbar__child" role="presentation"&gt;
&lt;DIV class="c-virtual_list__scroll_container" tabindex="-1" role="list" data-qa="slack_kit_list" aria-label="Anton Konikov (direct message, active)"&gt;
&lt;DIV id="1734101723.604509" class="c-virtual_list__item" tabindex="0" role="listitem" aria-setsize="-1" data-qa="virtual-list-item" data-item-key="1734101723.604509"&gt;
&lt;DIV class="c-message_kit__background p-message_pane_message__message c-message_kit__message p-message_pane_message__message--last" role="presentation" data-qa="message_container" data-qa-unprocessed="false" data-qa-placeholder="false"&gt;
&lt;DIV class="c-message_kit__hover" role="document" aria-roledescription="message" data-qa-hover="true"&gt;
&lt;DIV class="c-message_kit__actions c-message_kit__actions--above"&gt;
&lt;DIV class="c-message_kit__gutter"&gt;
&lt;DIV class="c-message_kit__gutter__right" role="presentation" data-qa="message_content"&gt;
&lt;DIV class="c-message_kit__blocks c-message_kit__blocks--rich_text"&gt;
&lt;DIV class="c-message__message_blocks c-message__message_blocks--rich_text" data-qa="message-text"&gt;
&lt;DIV class="p-block_kit_renderer" data-qa="block-kit-renderer"&gt;
&lt;DIV class="p-block_kit_renderer__block_wrapper p-block_kit_renderer__block_wrapper--first"&gt;
&lt;DIV class="p-rich_text_block" dir="auto"&gt;
&lt;UL class="p-rich_text_list p-rich_text_list__bullet p-rich_text_list--nested" data-stringify-type="unordered-list" data-list-tree="true" data-indent="0" data-border="1" data-border-radius-top-cap="0"&gt;
&lt;LI data-stringify-indent="0" data-stringify-border="1"&gt;Link to tenant&lt;/LI&gt;
&lt;LI data-stringify-indent="0" data-stringify-border="1"&gt;&lt;SPAN&gt;API endpoint used&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-stringify-indent="0" data-stringify-border="1"&gt;&lt;SPAN&gt;Responses to ingest requests including response codes and messages&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;</description>
      <pubDate>Mon, 29 Sep 2025 09:26:05 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Troubleshooting/Troubleshooting-log-Ingestion-via-API-POST-ingest-logs/ta-p/286608</guid>
      <dc:creator>noel_david</dc:creator>
      <dc:date>2025-09-29T09:26:05Z</dc:date>
    </item>
  </channel>
</rss>

