<?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 Splunk Indexer / Forwarder Acknowledgement explained in Knowledge Management</title>
    <link>https://community.splunk.com/t5/Knowledge-Management/Splunk-Indexer-Forwarder-Acknowledgement-explained/m-p/695624#M10209</link>
    <description>&lt;P&gt;&lt;SPAN&gt;If you use Splunk Enterprise or SplunkCloud, you can guard against loss of data when &lt;/SPAN&gt;&lt;A href="https://docs.splunk.com/Splexicon:Forwarding" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;forwarding&lt;/STRONG&gt;&lt;/A&gt;&lt;SPAN&gt; by enabling the &lt;/SPAN&gt;&lt;A href="https://docs.splunk.com/Splexicon:Indexeracknowledgment" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;indexer acknowledgment&lt;/STRONG&gt;&lt;/A&gt;&lt;SPAN&gt; capability. With indexer acknowledgment, the &lt;/SPAN&gt;&lt;A href="https://docs.splunk.com/Splexicon:Forwarder" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;forwarder&lt;/STRONG&gt;&lt;/A&gt;&lt;SPAN&gt; will resend any data that the receiver does not acknowledge as "received".&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;You &lt;/SPAN&gt;&lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/Forwarding/Protectagainstlossofin-flightdata#Enable_indexer_acknowledgment" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;enable indexer acknowledgment&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; on the forwarder, in the &lt;/SPAN&gt;&lt;SPAN&gt;outputs.conf&lt;/SPAN&gt;&lt;SPAN&gt; file.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;See how &lt;/SPAN&gt;&lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/Forwarding/Protectagainstlossofin-flightdata#How_indexer_acknowledgment_works_when_everything_goes_well" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;acknowledgement works&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;See how &lt;/SPAN&gt;&lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/Forwarding/Protectagainstlossofin-flightdata#How_indexer_acknowledgment_works_when_there.27s_a_failure" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;acknowledgement failure&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; is handled.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;However if the forwarder is restarted/stopped while waiting for indexer acknowledgment, in most of the cases unacknowledged data is not resend upon forwarder restart/start. That is because indexer acknowledgment is just an agreement&amp;nbsp; between the output processor and the target server.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;There are 4 major input types:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt;File inputs(monitor/batch mode)&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Modular inputs&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Network inputs(TCP/UDP)&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;HTTP inputs(http receiver endpoints/http event collector)&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;Only the file input in the monitor mode can resend data if the forwarder is restarted/stopped while waiting for indexer acknowledgment.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hrawat_splunk_0-1723069901155.png" style="width: 999px;"&gt;&lt;img src="https://community.splunk.com/t5/image/serverpage/image-id/32100iF00BEAB361D5EE27/image-size/large?v=v2&amp;amp;px=999" role="button" title="hrawat_splunk_0-1723069901155.png" alt="hrawat_splunk_0-1723069901155.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Acknowledgement is sent back to the forwarder after replication factor is met. That means for rep factor 3, source indexer waits on acknowledgement from 2 replication target indexers.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Inputs on forwarders are not aware of the indexer acknowledgement process.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Latency increases &lt;/SPAN&gt;&lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/Forwarding/Protectagainstlossofin-flightdata#When_the_receiver_is_a_forwarder.2C_not_an_indexer" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;when the target server is not an indexer&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; as the intermediate tier will wait for acknowledgement before acknowledging back to edge forwarder.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;For more information, see the &lt;/SPAN&gt;&lt;A href="http://docs.splunk.com/Documentation/Splunk/9.2.1/Admin/Outputsconf" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;outputs.conf spec file.&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 07 Aug 2024 22:39:57 GMT</pubDate>
    <dc:creator>hrawat</dc:creator>
    <dc:date>2024-08-07T22:39:57Z</dc:date>
    <item>
      <title>Splunk Indexer / Forwarder Acknowledgement explained</title>
      <link>https://community.splunk.com/t5/Knowledge-Management/Splunk-Indexer-Forwarder-Acknowledgement-explained/m-p/695624#M10209</link>
      <description>&lt;P&gt;&lt;SPAN&gt;If you use Splunk Enterprise or SplunkCloud, you can guard against loss of data when &lt;/SPAN&gt;&lt;A href="https://docs.splunk.com/Splexicon:Forwarding" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;forwarding&lt;/STRONG&gt;&lt;/A&gt;&lt;SPAN&gt; by enabling the &lt;/SPAN&gt;&lt;A href="https://docs.splunk.com/Splexicon:Indexeracknowledgment" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;indexer acknowledgment&lt;/STRONG&gt;&lt;/A&gt;&lt;SPAN&gt; capability. With indexer acknowledgment, the &lt;/SPAN&gt;&lt;A href="https://docs.splunk.com/Splexicon:Forwarder" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;forwarder&lt;/STRONG&gt;&lt;/A&gt;&lt;SPAN&gt; will resend any data that the receiver does not acknowledge as "received".&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;You &lt;/SPAN&gt;&lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/Forwarding/Protectagainstlossofin-flightdata#Enable_indexer_acknowledgment" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;enable indexer acknowledgment&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; on the forwarder, in the &lt;/SPAN&gt;&lt;SPAN&gt;outputs.conf&lt;/SPAN&gt;&lt;SPAN&gt; file.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;See how &lt;/SPAN&gt;&lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/Forwarding/Protectagainstlossofin-flightdata#How_indexer_acknowledgment_works_when_everything_goes_well" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;acknowledgement works&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;See how &lt;/SPAN&gt;&lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/Forwarding/Protectagainstlossofin-flightdata#How_indexer_acknowledgment_works_when_there.27s_a_failure" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;acknowledgement failure&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; is handled.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;However if the forwarder is restarted/stopped while waiting for indexer acknowledgment, in most of the cases unacknowledged data is not resend upon forwarder restart/start. That is because indexer acknowledgment is just an agreement&amp;nbsp; between the output processor and the target server.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;There are 4 major input types:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt;File inputs(monitor/batch mode)&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Modular inputs&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Network inputs(TCP/UDP)&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;HTTP inputs(http receiver endpoints/http event collector)&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;Only the file input in the monitor mode can resend data if the forwarder is restarted/stopped while waiting for indexer acknowledgment.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hrawat_splunk_0-1723069901155.png" style="width: 999px;"&gt;&lt;img src="https://community.splunk.com/t5/image/serverpage/image-id/32100iF00BEAB361D5EE27/image-size/large?v=v2&amp;amp;px=999" role="button" title="hrawat_splunk_0-1723069901155.png" alt="hrawat_splunk_0-1723069901155.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Acknowledgement is sent back to the forwarder after replication factor is met. That means for rep factor 3, source indexer waits on acknowledgement from 2 replication target indexers.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Inputs on forwarders are not aware of the indexer acknowledgement process.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Latency increases &lt;/SPAN&gt;&lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/Forwarding/Protectagainstlossofin-flightdata#When_the_receiver_is_a_forwarder.2C_not_an_indexer" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;when the target server is not an indexer&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; as the intermediate tier will wait for acknowledgement before acknowledging back to edge forwarder.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;For more information, see the &lt;/SPAN&gt;&lt;A href="http://docs.splunk.com/Documentation/Splunk/9.2.1/Admin/Outputsconf" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;outputs.conf spec file.&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Aug 2024 22:39:57 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Knowledge-Management/Splunk-Indexer-Forwarder-Acknowledgement-explained/m-p/695624#M10209</guid>
      <dc:creator>hrawat</dc:creator>
      <dc:date>2024-08-07T22:39:57Z</dc:date>
    </item>
    <item>
      <title>Re: Splunk Indexer / Forwarder Acknowledgement explained</title>
      <link>https://community.splunk.com/t5/Knowledge-Management/Splunk-Indexer-Forwarder-Acknowledgement-explained/m-p/702911#M10322</link>
      <description>&lt;P&gt;It may be worth adding that the acknowledgement option cannot protect against data loss a scenario where a forwarder is restarted while the remote endpoint is not available&lt;/P&gt;&lt;P&gt;To expand on this point, let's assume we have universal forwarder A, sending data to heavy forwarder B (and only HF B). (And then assume B connects to indexers)&lt;/P&gt;&lt;P&gt;If A is reading from a file and sending to B, if we shutdown B, and while B is unable to process data we restart A during this downtime of B, any "in memory" data is lost at this point as the memory buffer if flushed on shutdown.&lt;/P&gt;&lt;P&gt;The file monitor will re-read the portion of the file *after* the lost portion of the data.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This experiment is quite easy to setup in a development environment, the only point I'm adding is that (as advertised) the acknowledgement protects against intermediate data loss. It does not protect against data loss when the remote endpoint is down and the source is restarted.&lt;/P&gt;</description>
      <pubDate>Sun, 27 Oct 2024 22:42:37 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Knowledge-Management/Splunk-Indexer-Forwarder-Acknowledgement-explained/m-p/702911#M10322</guid>
      <dc:creator>gjanders</dc:creator>
      <dc:date>2024-10-27T22:42:37Z</dc:date>
    </item>
    <item>
      <title>Re: Splunk Indexer / Forwarder Acknowledgement explained</title>
      <link>https://community.splunk.com/t5/Knowledge-Management/Splunk-Indexer-Forwarder-Acknowledgement-explained/m-p/702913#M10323</link>
      <description>&lt;P&gt;You nailed it. You may want to check&amp;nbsp;&lt;A href="https://community.splunk.com/t5/Knowledge-Management/Splunk-Persistent-Queue/m-p/688223/highlight/true#M10063" target="_blank"&gt;https://community.splunk.com/t5/Knowledge-Management/Splunk-Persistent-Queue/m-p/688223/highlight/true#M10063&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 27 Oct 2024 23:12:47 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Knowledge-Management/Splunk-Indexer-Forwarder-Acknowledgement-explained/m-p/702913#M10323</guid>
      <dc:creator>hrawat</dc:creator>
      <dc:date>2024-10-27T23:12:47Z</dc:date>
    </item>
    <item>
      <title>Re: Splunk Indexer / Forwarder Acknowledgement explained</title>
      <link>https://community.splunk.com/t5/Knowledge-Management/Splunk-Indexer-Forwarder-Acknowledgement-explained/m-p/702919#M10324</link>
      <description>&lt;P&gt;Persistent queue support for monitor inputs will be very useful once it's available.&lt;/P&gt;</description>
      <pubDate>Mon, 28 Oct 2024 01:46:55 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Knowledge-Management/Splunk-Indexer-Forwarder-Acknowledgement-explained/m-p/702919#M10324</guid>
      <dc:creator>gjanders</dc:creator>
      <dc:date>2024-10-28T01:46:55Z</dc:date>
    </item>
  </channel>
</rss>

