<?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 New Splunk TcpOutput persistent queue in Knowledge Management</title>
    <link>https://community.splunk.com/t5/Knowledge-Management/New-Splunk-TcpOutput-persistent-queue/m-p/707340#M10355</link>
    <description>&lt;P&gt;&lt;A href="https://docs.splunk.com/Documentation/Splunk/9.4.0/ReleaseNotes/MeetSplunk#What.27s_New_in_9.4" target="_blank" rel="noopener"&gt;https://docs.splunk.com/Documentation/Splunk/9.4.0/ReleaseNotes/MeetSplunk#What.27s_New_in_9.4&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Why &lt;A href="https://community.splunk.com/t5/Knowledge-Management/Splunk-Persistent-Queue/m-p/688223" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;New Splunk TcpOutput Persistent Queue&lt;/SPAN&gt;&lt;/A&gt;?&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;Scheduled no connectivity for extended period but need to resume data transmission once connection is back up.&amp;nbsp;&lt;FONT color="#339966"&gt;Assuming there is enough storage, tcpout output queue can persist all events to disk&lt;/FONT&gt; &lt;FONT color="#FF0000"&gt;instead of buying expensive third party subscription(unsupported) to persist&amp;nbsp; data to &lt;EM&gt;SQS/&lt;/EM&gt;S3.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;If there are two tcpout output destinations and one is down for&amp;nbsp;extended period.&amp;nbsp;&lt;SPAN&gt;Down destination has large enough PQ to persist data, then second destination is&amp;nbsp; not blocked. Second destination will block only once PQ of down destination is full.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/STRONG&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;/LI&gt;
&lt;LI&gt;&amp;nbsp;Don't have to&amp;nbsp; pay for&amp;nbsp; third party &lt;SPAN&gt;&lt;EM&gt;SQS&lt;/EM&gt;&lt;/SPAN&gt; &amp;amp; S3 puts.&lt;/LI&gt;
&lt;LI&gt;Third party/ external S3 persistent queue introduces permanent additional latency( &lt;STRONG&gt;&lt;EM&gt;due to&amp;nbsp;detour to external &lt;SPAN&gt;SQS/&lt;/SPAN&gt;S3 queue&lt;/EM&gt;&lt;/STRONG&gt;). There are chances of loss of events( events getting in to &lt;A href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html" target="_self"&gt;SQS/S3 DLQ&lt;/A&gt;).&lt;/LI&gt;
&lt;LI&gt;Third party/ external &lt;SPAN&gt;&lt;EM&gt;SQS/&lt;/EM&gt;&lt;/SPAN&gt;S3 persistent queuing requires batching events, which adds additional latency in order to reduce &lt;SPAN&gt;&lt;EM&gt;SQS/&lt;/EM&gt;&lt;/SPAN&gt;S3 puts cost.&lt;/LI&gt;
&lt;LI&gt;Unwanted additional network bandwidth usage incurred due to uploading all data to &lt;SPAN&gt;&lt;EM&gt;SQS/&lt;/EM&gt;&lt;/SPAN&gt;S3 and then downloading .&lt;/LI&gt;
&lt;LI&gt;Third party imposes upload payload size limits.&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;Monitored corporate laptops are off network, not connected&amp;nbsp; to internet or not connected to VPN for extended period of time. Later laptops might get switched off but events should be persisted and forwarded as and when laptop connects to network.&lt;BR /&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;Sensitive data should stay/persisted within network.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;On demand persistent queuing on forwarding tier when Indexer Clustering is down.&lt;/LI&gt;
&lt;LI&gt;On demand persistent queuing on forwarding tier when Indexer Clustering indexing is slow due to high system load.&lt;/LI&gt;
&lt;LI&gt;On demand persistent queuing on forwarding tier when Indexer Clustering is in rolling restart.&lt;/LI&gt;
&lt;LI&gt;On demand persistent queuing on forwarding tier during Indexer Clustering upgrade.&lt;/LI&gt;
&lt;LI&gt;Don't have to use decade old S2S protocol version as suggested by some third party vendors ( you all know enableOldS2SProtocol=true in outputs.conf)&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hrawat_splunk_0-1736700631045.png" style="width: 400px;"&gt;&lt;img src="https://community.splunk.com/t5/image/serverpage/image-id/34114i41B56C995C9EEEBE/image-size/medium?v=v2&amp;amp;px=400" role="button" title="hrawat_splunk_0-1736700631045.png" alt="hrawat_splunk_0-1736700631045.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;U&gt;How to enable?&lt;BR /&gt;&lt;BR /&gt;&lt;/U&gt;&lt;/STRONG&gt;Just set&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;persistentQueueSize as per &lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/Admin/Outputsconf" target="_self"&gt;outputs.conf&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;[tcpout:splunk-group1]
persistentQueueSize=1TB
[tcpout:splunk-group2]
persistentQueueSize=2TB&lt;/LI-CODE&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; Sizing guide. Run following SPL&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;index=_internal source=*metrics.log* group=tcpin_connections  hostname=&amp;lt;all IHF&amp;gt; host=&amp;lt;all idx&amp;gt;| stats sum(kb) as required_pq_in_kb by hostname&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;SPAN&gt;Run above search for number of days/hours/minutes depending on how much of PQ is &lt;FONT color="#008000"&gt;&lt;FONT color="#000000"&gt;needed.&lt;/FONT&gt;&amp;nbsp;required_pq_in_kb&amp;nbsp;&lt;FONT color="#000000"&gt;is the size of approximate overall PQ on a given IHF.&amp;nbsp;&amp;nbsp;&lt;FONT color="#008000"&gt;needed.&amp;nbsp;required_pq_in_kb/parallelIngestionPipelines&lt;/FONT&gt;&amp;nbsp;is the approximate value for PQ for each pipeline.&lt;BR /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;persistentQueueSize = required_pq_in_kb/parallelIngestionPipelines&lt;/LI-CODE&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;FONT face="impact,chicago" color="#008000"&gt;Follow &lt;/FONT&gt;&lt;A href="https://community.splunk.com/t5/Share-a-Tip/How-to-best-configure-Splunk-tcpout-persistent-queue/m-p/757441#M137" target="_self"&gt;best practice to configure tcpout PQ&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 20 Jan 2026 13:52:45 GMT</pubDate>
    <dc:creator>hrawat</dc:creator>
    <dc:date>2026-01-20T13:52:45Z</dc:date>
    <item>
      <title>New Splunk TcpOutput persistent queue</title>
      <link>https://community.splunk.com/t5/Knowledge-Management/New-Splunk-TcpOutput-persistent-queue/m-p/707340#M10355</link>
      <description>&lt;P&gt;&lt;A href="https://docs.splunk.com/Documentation/Splunk/9.4.0/ReleaseNotes/MeetSplunk#What.27s_New_in_9.4" target="_blank" rel="noopener"&gt;https://docs.splunk.com/Documentation/Splunk/9.4.0/ReleaseNotes/MeetSplunk#What.27s_New_in_9.4&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Why &lt;A href="https://community.splunk.com/t5/Knowledge-Management/Splunk-Persistent-Queue/m-p/688223" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;New Splunk TcpOutput Persistent Queue&lt;/SPAN&gt;&lt;/A&gt;?&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;Scheduled no connectivity for extended period but need to resume data transmission once connection is back up.&amp;nbsp;&lt;FONT color="#339966"&gt;Assuming there is enough storage, tcpout output queue can persist all events to disk&lt;/FONT&gt; &lt;FONT color="#FF0000"&gt;instead of buying expensive third party subscription(unsupported) to persist&amp;nbsp; data to &lt;EM&gt;SQS/&lt;/EM&gt;S3.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;If there are two tcpout output destinations and one is down for&amp;nbsp;extended period.&amp;nbsp;&lt;SPAN&gt;Down destination has large enough PQ to persist data, then second destination is&amp;nbsp; not blocked. Second destination will block only once PQ of down destination is full.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/STRONG&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;/LI&gt;
&lt;LI&gt;&amp;nbsp;Don't have to&amp;nbsp; pay for&amp;nbsp; third party &lt;SPAN&gt;&lt;EM&gt;SQS&lt;/EM&gt;&lt;/SPAN&gt; &amp;amp; S3 puts.&lt;/LI&gt;
&lt;LI&gt;Third party/ external S3 persistent queue introduces permanent additional latency( &lt;STRONG&gt;&lt;EM&gt;due to&amp;nbsp;detour to external &lt;SPAN&gt;SQS/&lt;/SPAN&gt;S3 queue&lt;/EM&gt;&lt;/STRONG&gt;). There are chances of loss of events( events getting in to &lt;A href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html" target="_self"&gt;SQS/S3 DLQ&lt;/A&gt;).&lt;/LI&gt;
&lt;LI&gt;Third party/ external &lt;SPAN&gt;&lt;EM&gt;SQS/&lt;/EM&gt;&lt;/SPAN&gt;S3 persistent queuing requires batching events, which adds additional latency in order to reduce &lt;SPAN&gt;&lt;EM&gt;SQS/&lt;/EM&gt;&lt;/SPAN&gt;S3 puts cost.&lt;/LI&gt;
&lt;LI&gt;Unwanted additional network bandwidth usage incurred due to uploading all data to &lt;SPAN&gt;&lt;EM&gt;SQS/&lt;/EM&gt;&lt;/SPAN&gt;S3 and then downloading .&lt;/LI&gt;
&lt;LI&gt;Third party imposes upload payload size limits.&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;Monitored corporate laptops are off network, not connected&amp;nbsp; to internet or not connected to VPN for extended period of time. Later laptops might get switched off but events should be persisted and forwarded as and when laptop connects to network.&lt;BR /&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;Sensitive data should stay/persisted within network.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;On demand persistent queuing on forwarding tier when Indexer Clustering is down.&lt;/LI&gt;
&lt;LI&gt;On demand persistent queuing on forwarding tier when Indexer Clustering indexing is slow due to high system load.&lt;/LI&gt;
&lt;LI&gt;On demand persistent queuing on forwarding tier when Indexer Clustering is in rolling restart.&lt;/LI&gt;
&lt;LI&gt;On demand persistent queuing on forwarding tier during Indexer Clustering upgrade.&lt;/LI&gt;
&lt;LI&gt;Don't have to use decade old S2S protocol version as suggested by some third party vendors ( you all know enableOldS2SProtocol=true in outputs.conf)&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hrawat_splunk_0-1736700631045.png" style="width: 400px;"&gt;&lt;img src="https://community.splunk.com/t5/image/serverpage/image-id/34114i41B56C995C9EEEBE/image-size/medium?v=v2&amp;amp;px=400" role="button" title="hrawat_splunk_0-1736700631045.png" alt="hrawat_splunk_0-1736700631045.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;U&gt;How to enable?&lt;BR /&gt;&lt;BR /&gt;&lt;/U&gt;&lt;/STRONG&gt;Just set&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;persistentQueueSize as per &lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/Admin/Outputsconf" target="_self"&gt;outputs.conf&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;[tcpout:splunk-group1]
persistentQueueSize=1TB
[tcpout:splunk-group2]
persistentQueueSize=2TB&lt;/LI-CODE&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; Sizing guide. Run following SPL&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;index=_internal source=*metrics.log* group=tcpin_connections  hostname=&amp;lt;all IHF&amp;gt; host=&amp;lt;all idx&amp;gt;| stats sum(kb) as required_pq_in_kb by hostname&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;SPAN&gt;Run above search for number of days/hours/minutes depending on how much of PQ is &lt;FONT color="#008000"&gt;&lt;FONT color="#000000"&gt;needed.&lt;/FONT&gt;&amp;nbsp;required_pq_in_kb&amp;nbsp;&lt;FONT color="#000000"&gt;is the size of approximate overall PQ on a given IHF.&amp;nbsp;&amp;nbsp;&lt;FONT color="#008000"&gt;needed.&amp;nbsp;required_pq_in_kb/parallelIngestionPipelines&lt;/FONT&gt;&amp;nbsp;is the approximate value for PQ for each pipeline.&lt;BR /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;persistentQueueSize = required_pq_in_kb/parallelIngestionPipelines&lt;/LI-CODE&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;FONT face="impact,chicago" color="#008000"&gt;Follow &lt;/FONT&gt;&lt;A href="https://community.splunk.com/t5/Share-a-Tip/How-to-best-configure-Splunk-tcpout-persistent-queue/m-p/757441#M137" target="_self"&gt;best practice to configure tcpout PQ&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jan 2026 13:52:45 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Knowledge-Management/New-Splunk-TcpOutput-persistent-queue/m-p/707340#M10355</guid>
      <dc:creator>hrawat</dc:creator>
      <dc:date>2026-01-20T13:52:45Z</dc:date>
    </item>
  </channel>
</rss>

