How "Discover now" works on a CI record in ServiceNow DiscoverySummary<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } The Discover now UI action on a CI triggers an on-demand Discovery run by selecting an IP address associated with the CI and then finding a Discovery Schedule that contains that IP. The action starts discovery from the selected IP and redirects to the created Discovery Status record. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Applies to • ServiceNow Discovery• CI forms where the UI Action Discover now is enabled (example: Computer [cmdb_ci_computer])• Users with the required role (example: discovery_admin) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ How it works 1) User clicks "Discover now" on a CI • The UI Action runs server-side and calls the Discovery API for the current CI.• If Discovery starts successfully, the UI redirects to the Discovery Status record created for that run.• If Discovery cannot be started, the UI displays an informational message and returns to the CI form. 2) The system collects candidate IP addresses for the CI Discovery gathers IP addresses from:• Primary CI field: cmdb_ci.ip_address (if populated)• CI IP Address table: cmdb_ci_ip_address linked to the CI through the NIC relationship (nic.cmdb_ci = <CI sys_id>) Filters applied when reading cmdb_ci_ip_address:• The NIC is not retired (nic.install_status != 100)• The IP address record is not retired (install_status != 100) Notes:• Duplicate IPs are removed before continuing.• If no valid IPs exist, Discovery may still proceed if a valid IP is available from Device History (next step). 3) The system selects a Discovery Schedule and an IP to run Discovery selects the schedule and IP in this order: A. Preferred path (Device History)• Discovery checks discovery_device_history for the CI.• It uses the most recent history record where the related schedule is active.• It attempts to re-use the schedule from the history record and selects:• the IP from device history (if it still belongs to the schedule), or• one of the CI IPs that belongs to that same schedule. B. Fallback path (schedule scan)If Device History does not return a match:• Discovery scans active Discovery Schedules (excluding schedule types such as Networks and Cloud Resources in this logic).• It selects the first schedule (active and most recently updated first) that contains any of the CI IP addresses.• The selected IP is the first CI IP address that matches that schedule. 4) Discovery is started and a Discovery Status record is created • Discovery starts from the selected IP against the selected schedule.• A discovery_status record is created to track the run.• The UI Action redirects to that Discovery Status record (list filtered to the sys_id). 5) Optional informational message about throttling If Discovery throttling is enabled via system property:• glide.discovery.throttling.enabled = truethe system displays an informational message indicating that sensor throttling is currently enabled. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Expected results After clicking Discover now:• A new Discovery Status record is created for the run, and the UI redirects to it.• Discovery proceeds using the schedule and IP selected by the logic described above. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ When Discover now does not start The "Discover now" action may not start discovery when:• The CI has no valid IP address (no cmdb_ci.ip_address and no active cmdb_ci_ip_address entries), and Device History does not provide a usable IP.• No Discovery Schedule contains any of the CI's IP addresses.• The selected schedule is inactive or otherwise not usable for on-demand discovery. In these cases, the UI action displays an informational message and returns to the CI form. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Verification and troubleshooting checks Use these checks to confirm why a specific CI did or did not run: • CI IPs• Confirm cmdb_ci.ip_address is populated (if applicable)• Confirm cmdb_ci_ip_address has active entries for the CI and NIC (install_status not 100) • Device history• Check discovery_device_history for the CI• Confirm the referenced schedule is active• Confirm the IP from history is still within the schedule ranges • Schedule coverage• Confirm at least one Discovery Schedule contains the CI IP range• If multiple schedules contain the IP, remember selection can prefer a recent/active schedule depending on ordering and device history • Discovery Status• Confirm a new discovery_status record is created when Discover now is clicked• Review ECC Queue entries correlated to the Discovery Status if deeper troubleshooting is required ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Notes • "Discover now" for a CI triggers discovery from one selected IP address, not from all IPs on the CI.• If a CI has multiple IPs, the selected IP can depend on Device History and schedule matching. Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Not Release Specific