Load balancer pool members to server relationship
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-19-2025 09:39 AM - edited 05-19-2025 09:40 AM
I'm trying to identify impact assessment on changes to load balancers. We have load balancer discovery which identifies pools and pool members with the name and IP address, but I can not relate the pool members to the server CIs themselves so that I can identify their associated service and support group/managed by group. What's the best way to create the relationship between pool member to the server?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-19-2025 09:52 AM
Hi @Dan Aragon ,
To properly assess the impact of changes to load balancers in ServiceNow, it's critical to relate pool members to the corresponding server CIs (Configuration Items), especially to understand downstream services, support groups, and ownership.
Since you already have Discovery populating the load balancer, pools, and pool members, but can't directly relate pool members to server CIs, here’s a structured approach to bridge that gap:
Yes, you can discover and relate pool members to servers directly through Discovery — but by default, this relationship often isn't established automatically unless specific conditions are met.
You can follow below steps
Steps to Modify the Discovery Pattern
1. Find the Discovery Pattern
- Navigate to:
Pattern Designer → Discovery Patterns
Or go to: Discovery Definition > Patterns - Search for your Load Balancer type (e.g., "F5 LTM" or "Load Balancer").
- Open the pattern used for discovering Load Balancer Pools and Pool Members.
2. Locate the Step That Creates Pool Members
Inside the pattern:
- You’ll find a section (step) that:
- Uses a table operation to insert or update cmdb_ci_lb_pool_member.
- Sets attributes like:
- ip_address
- port
- pool (reference to the pool)
3. Add a Lookup Step for IP Address
Now, let’s link the pool member’s IP to a Server CI:
Add a New Step: Lookup CI by IP
- Right after the step that sets the ip_address, click “Add Step”
- Choose “Lookup Table”
- Configure the lookup:
- Table: cmdb_ci_ip_address
- Condition: ip_address equals ${PoolMember.ip_address} (or the variable holding the pool member IP)
- Output Variable: ip_record (or name it as you like)
4. Get the Associated Server
Add another step to extract the related CI:
- Type: Script Step
- Script:
if (ip_record && ip_record.cmdb_ci) {
var server = ip_record.cmdb_ci.getRefRecord();
if (server && server.sys_class_name == 'cmdb_ci_server') {
var serverSysId = server.sys_id;
// Store it for use in next step
output.serverSysId = serverSysId;
}
}
You can also store server directly in a variable for relationship use.
- Relate Pool Member to Server
There are 2 common approaches:
Option A: Set Reference Field
- If you added a reference field associated_server on cmdb_ci_lb_pool_member:
- Add a Set Attributes step to populate:
- associated_server = ${output.serverSysId}
Option B: Create Relationship
- Add a Create Relationship step:
- Parent CI: ${pool_member_sys_id}
- Child CI: ${output.serverSysId}
- Relationship Type: Depends on::Used by or custom type
🔹 6. Test the Pattern
After updating the pattern:
- Save and Publish the pattern
- Run a Discovery against a known load balancer
- Go to the discovered Pool Member CI
- Check if associated_server is populated OR
- Check Related Items tab for relationship to the Server CI
Validation
- Navigate to cmdb_ci_lb_pool_member record
- Confirm:
- ip_address is populated
- associated_server is populated or relationship exists
- View the Server CI:
- Check if it has Business Service, Support Group, etc.
Result
You now have a live link from pool members → servers, created automatically by Discovery.
This enables:
- Accurate impact analysis on changes to load balancers
- Traceability to Business Services and Support Groups
- Clean Dependency Views
Thanks and Regards,
Chiranjeevi R
Please mark as Correct Answer/Helpful, if applicable.
Chiranjeevi
ServiceNow Developer | | ITSM | | ServiceNow Discovery | | Event Management | | Service Mapping | | CMDB
Please mark as Correct Answer/Helpful, if applicable.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-28-2025 12:15 AM - edited 05-28-2025 12:15 AM
Hi @ ChiranjeeviR
Thank you for reply,
3. Add a Lookup Step for IP Address
I can't find Lookup table operation in pattern designer, can you please point to me.