Relay selection process

I have 4 relay servers, 470 STS and about 4000 endpoints, my intention is all 4000 endpoint will use the 470 STS as relay (which has relay installed). And these 470 STS will use 4 relay servers as Relays. Currently all of 470 STS using the main BigFix server as relay. in bigfix how can I distribute all 470 STS to point to those 4 relays instead of using the main BigFix server as relay. I know we can manually assign the relay but is there any way we can automate to use these 4 relays by 470 STS ?

1 Like

I am probably going to kick myself for asking this but what are you referring to as 470 STS?

There are two main options:

  • Automatic Relay Selection
  • Manual Relay Selection - use the FailoverRelayList option

On the following page you can see all of the Client Settings that govern the behavior of relay Selection -

Must of the times automatic Relay Selection with assignment of affiliation is the way to go - but keep in mind that ICMP is required.
If ICMP is not possible, you can use the FailoverRelayList

You can leverage a policy action targeted to the 470 STS Relays to configure them to spread themselves across the 4 top level Relays using logic similar to what is described here:

Essentially, the Relays would be configured for manual selection (since Relays generally don't participate in autoselection), and the policy action will set the RelayServer 1 and 2 to different values based on their computer ID (which is generally random).

Here's an example actionscript (you'd have to update the Relay URLs in the actionscript below):

setting "__RelaySelect_Automatic"="0" on "{parameter "action issue date" of action}" for client
setting "__RelayServer1"="{item 1 of item 1 of (computer id mod 4, (0,"http://relay1.domain:52311/bfmirror/downloads"; 1,"http://relay2.domain:52311/bfmirror/downloads"; 2,"http://relay3.domain:52311/bfmirror/downloads"; 3,"http://relay4.domain:52311/bfmirror/downloads")) whose (item 0 of it = item 0 of item 1 of it)}" on "{parameter "action issue date" of action}" for client
setting "__RelayServer2"="{item 1 of item 1 of (computer id mod 4, (0,"http://relay2.domain:52311/bfmirror/downloads"; 1,"http://relay3.domain:52311/bfmirror/downloads"; 2,"http://relay4.domain:52311/bfmirror/downloads"; 3,"http://relay1.domain:52311/bfmirror/downloads")) whose (item 0 of it = item 0 of item 1 of it)}" on "{parameter "action issue date" of action}" for client

And here's a similar Fixlet on bigfix.me: https://bigfix.me/fixlet/details/27374 that you might adapt for this purpose.

Of course, you should test any of the above prior to deploying it in production or more broadly :slightly_smiling_face:

1 Like