Skip to main content
Question

Way to recreate 30 pipelines for different business unit

  • March 11, 2025
  • 29 replies
  • 33 views

So, I need to recreate 30 pipelines for a different business unit that goes to a different Splunk index... what's the fastest way to do that? Or is it just a tedious export/rename/import sequence I have to follow? :see_no_evil:

29 replies

Forum|alt.badge.img
  • Participating Frequently
  • March 11, 2025

Can you say a few more words about your requirement? Maybe there's a better solution?


  • Author
  • Employee
  • March 11, 2025

I have 30 pipelines that process about 30 different event types from a Corelight network sensor. This is for a specific business unit, so inside these pipelines, I add the index and sourcetype fields for Splunk using an eval.Now another business unit wants to do the same, but their data is going to another index (on the same production cluster). The events are the same, so the way I process them is the same... except for the index name. So I feel like I'm stuck recreating the pipelines, just so that I can rename the value for index in the eval.Is there a better way of doing this?


David Maislin

Would Route Cloning work for that use case?


  • Author
  • Employee
  • March 11, 2025

Then I don't have to define these fields in the pipelines?


David Maislin

Correct


  • Author
  • Employee
  • March 11, 2025

And I can just add the new source under the filter for each route as an "OR"


David Maislin

We also have a Clone function if you wanted to do the same in a pipeline


David Maislin

Yes


  • Author
  • Employee
  • March 11, 2025

I think I got it


David Maislin

Or a clone in a pipeline


  • Author
  • Employee
  • March 11, 2025

I'll try this and report back to you guys


David Maislin

David Maislin

There are a number of ways to do this, those are just the first two that came to mind, but you could use lookup tables.


  • Author
  • Employee
  • March 11, 2025

I think I like the first approach. Keep the pipeline as generic as possible for "manipulating data" but leave the destination handling (kind of) with the route


  • Author
  • Employee
  • March 11, 2025

However, I can't seem to get that clone functionality in the route, like you have on your screenshots. Am I missing something?


David Maislin

Unselect Final flag


  • Author
  • Employee
  • March 11, 2025

Yes, just saw that now


David Maislin

From the Knowledge Pack (Regex_Lookup_Unroll_Router) also can set field values and then in an output router you can direct traffic or do whatever you like based on the values that are set using a lookup table.


  • Author
  • Employee
  • March 11, 2025

Oh wait, I'm not just cloning the index fields. The index field for each event will be dependent on the inputId


  • Author
  • Employee
  • March 11, 2025

Even though it's being processed by the same pipeline


  • Author
  • Employee
  • March 11, 2025

Does that mean I need the Knowledge pack?


David Maislin

No, that is just an example. Don't want to confuse you with too many options. You can setup a unique Route per InputID or use the `||` in the same Route Filter.


  • Author
  • Employee
  • March 11, 2025

Okay, it's amazing how many options I have (go Cribl!) but I ended up using a Lookup function, matching the `__inputId` in a CSV file to retrieve the index value. I did end up doing this directly in the pipeline, but it works there.


  • Author
  • Employee
  • March 11, 2025

Thanks for the help!


Forum|alt.badge.img
  • Participating Frequently
  • March 11, 2025

BTW, alternative way... Add a postprocessing pipeline to the destination, put a lookup in that pipeline that translate index names