Deployment Architecture

Splunk DB Connect: If two Splunk servers create a database input from TableA, will this cause duplicates to be indexed?

oraclebox
Explorer

If two Splunk server create a Database input from table A, will this cause any conflict? Will both Server1 and Server2 import to index if a new record is inserted into table A?

0 Karma
1 Solution

Richfez
SplunkTrust
SplunkTrust

Yes, both Splunk inputs will grab the same [full] set of data, though perhaps at different times. Inputs like these should be independent. See below for more explanation.

Assume you have a DB input on Splunk Server 1 that gets its input from, say, DBServerA, TableX. Then another DB input on Splunk Server 2 that gets its input from DBServerA, TableX as well.

Each Splunk server runs a SQL Query like select * from TableX {{ where $rising_column$ > ?}}

The first time through, the {{ ... }} is left off so the input can grab all the data. After that, each Splunk server will remember the last value for whatever has been declared as the $rising_column$ and use that for subsequent queries. Therefore, each server will get a copy of all rows that are newer than the last row that server had last requested, regardless of what other queries may have happened in the interim (applications, other Splunk servers, etc...)

View solution in original post

Richfez
SplunkTrust
SplunkTrust

Yes, both Splunk inputs will grab the same [full] set of data, though perhaps at different times. Inputs like these should be independent. See below for more explanation.

Assume you have a DB input on Splunk Server 1 that gets its input from, say, DBServerA, TableX. Then another DB input on Splunk Server 2 that gets its input from DBServerA, TableX as well.

Each Splunk server runs a SQL Query like select * from TableX {{ where $rising_column$ > ?}}

The first time through, the {{ ... }} is left off so the input can grab all the data. After that, each Splunk server will remember the last value for whatever has been declared as the $rising_column$ and use that for subsequent queries. Therefore, each server will get a copy of all rows that are newer than the last row that server had last requested, regardless of what other queries may have happened in the interim (applications, other Splunk servers, etc...)

jcoates_splunk
Splunk Employee
Splunk Employee

you'll get a duplicate copy of your table.
DB1.TableA -> SplunkX.Input1A -> Index1
DB1.TableA -> SplunkY.Input1A -> Index1

Index1 now contains:
DB1.TableA.Row1
DB1.TableA.Row1
DB1.TableA.Row2
DB1.TableA.Row2
et cetera et cetera

Get Updates on the Splunk Community!

New Case Study Shows the Value of Partnering with Splunk Academic Alliance

The University of Nevada, Las Vegas (UNLV) is another premier research institution helping to shape the next ...

How to Monitor Google Kubernetes Engine (GKE)

We’ve looked at how to integrate Kubernetes environments with Splunk Observability Cloud, but what about ...

Index This | How can you make 45 using only 4?

October 2024 Edition Hayyy Splunk Education Enthusiasts and the Eternally Curious!  We’re back with this ...