Search

You can search in the Horizon web UI using either the search bar or the Search view.

The search bar uses keywords to return nodes that match the keywords, and a list of actions that you can perform related to the keywords. Press Shift twice or click in the search bar to activate it, then type your search terms.

Horizon UI showing two examples of search results. The first shows related nodes and actions, and the second shows only related actions.
Figure 1. Sample search results

Note that the search results for nodes also display any nodes with metadata that match the keywords, such as labels, locations, admin users, and so on. For example, if you search for "foo" and get a node match of "foobar", the result displays no metadata. However, if you search for "foo" and a match is found in a node’s metadata customkey='somefoo' (even if the node name does not contain "foo"), the results display the name of the node (for example, node1) and the "foo" metadata associated with it. See Customize search results for more information.

From the search results, you can click on a node to navigate to its page, or click on one of the actions to navigate to the page that lets you complete said action. For example, clicking Edit Requisition 'Test' takes you to the page where you can edit the requisition named Test.

Search view

The Search view provides a number of search options for nodes. To access the Search view, click Search in the top menu bar.

The Search view includes three quick-search links: All Nodes, All Nodes and Their Interfaces, and All Nodes with Asset Info. Click any of them to quickly search for associated information.

When you search for a node using its name, it is a case-sensitive, inclusive search (for example, searching serv finds any of serv, Service, Reserved, NTSERV, UserVortex, and so on). You can use an underscore (_) as a single-character wildcard, or a percent character (%) as a multiple-character wildcard.

When you search for a node by TCP or IP address, it uses a flexible format that lets you separate the four (or eight, in the case of IPv6) fields of an IP address into specific searches. Include an asterisk (*) in place of any octet to match any value for that octet. Separate two numbers with a dash (-) to indicate a range. Use a comma to demarcate a list.

For example, the following search fields are all valid and each creates the same result set (all IP addresses from 192.168.0.0 through 192.168.255.255):

  • 192.168.*.*

  • 192.168.0-255.0-255

  • 192.168.0,1,2,3-255.*

  • 2001:6a8:3c80:8000-8fff:*:*:*:*

  • fc00,fe80:*:*:*:*:*:*:*

A system or interface attribute search finds nodes with systems or interfaces that match a defined search string. The contains modifier provides a case-insensitive, inclusive search similar to the name search. The equals modifier requires the search to find an exact match.

Select a location or service to search for using the appropriate drop-down list.

A case-insensitive, partial string search for interfaces with hardware (MAC) addresses that match the search string (for example, to find all interfaces with a specific manufacturer code, enter the first six characters of the MAC address). Octet separators (- or :) are optional.

A case-insensitive, inclusive search for a foreign service name. You can use an underscore (_) as a single-character wildcard, or a percent character (%) as a multiple-character wildcard.

Find nodes with or without associated flows data.

Find nodes whose CDP or LLDP data match the defined search string.

Search for nodes with assets that are associated with a particular category or field.

The field search includes a list of fields, and a text box to provide a string value to match. The search is case-insensitive and inclusive. You can use an underscore (_) as a single-character wildcard, or a percent character (%) as a multiple-character wildcard.

Customize search results

You can customize search results to show additional metadata. To do so, create a new file in ${OPENNMS_HOME}/etc/opennms.properties.d/ and specify a value for org.opennms.netmgt.search.info. The following example displays nodes' sys-contact metadata and the associated department:

org.opennms.netmgt.search.info=${node:sys-contact} (Department: ${asset:department})