
[[structured-node-list]]
= Structured Node List
:description: Learn about the structured node list in OpenNMS Horizon/Meridian, which lets users perform enhanced data display, search, filter, and export node information.

The Structured Node List page displays node information and lets the user configure enhanced data display, perform searching and filtering, and to download/export data.

To access this page, click menu:Inventory[Structured Node List] in the side menu.

The main display shows a paginated table of nodes corresponding to the current search and filtering parameters.
You can sort most of the columns in ascending or descending order.

You can choose among 10, 20, or 50 entries per page, navigate among pages, or go to the start or end of the currently filtered set.

.Structured Node List
image::structured-node-list/node-structure-overview.png["{page-component-title} web UI showing structured node list."]

The first column of each node has an Action menu where the user can do the following:

* Click the 3 vertical dots to choose various actions, including **Info...** to open a dialog that displays details about the node.
* Navigate to various relevant pages (Alarms, Events, and so on).
* Perform other actions (rescan, schedule an outage, and so on).

.Node Actions
image::structured-node-list/node-action-menu.png[width=360]["{page-component-title} Node action menu."]

* Click the Edit symbol image:structured-node-list/node-edit-button.png[width=32] to navigate to the node details page for that node.

The **Download** symbol image:structured-node-list/node-export-button.png[width=32] lets you download the current data in either CSV or JSON format.

The **Customize Columns** button opens the Customize Columns window that allows you to configure the columns displayed and their order.
Saving this configuration also saves the current search and filtering options.

The **Clear Filters** button will clear all search filters.

.Download, Customize Columns and Clear Filters buttons
image::structured-node-list/node-customize-columns-button.png[width=360]["{page-component-title} Download, Customize Columns and Clear Filters buttons."]

An input field above the table lets you search by node label or IP address.

The Filter button opens a window that lets you filter by various parameters.

.Search input and Filter button
image::structured-node-list/node-list-search-filter.png[width=360]["{page-component-title} Search input and filter button."]

== Node table

The table displays columns of information about the nodes that match the current search and filter parameters.

The Node Label and ID fields contain links to navigate to the Node Details page.

The IP Address field contains a link to go to the IP Interface page for that interface.
A tooltip will also display more information about the interface; for example, if it is managed, primary, not eligible, and so on.

The Flows field contains arrows denoting whether Ingress and/or Egress flow information is available, with a tooltip to provide more detail.

There is an arrow to the right or left of the column headers to allow you to view the next or previous set of columns, if there are more columns that can be displayed on a single screen.

.Node header with Next Columns button
image::structured-node-list/node-header-with-next.png["{page-component-title} Node header with Next Columns button."]

.Node header with Previous Columns button
image::structured-node-list/node-header-with-prev.png["{page-component-title} Node header with Previous Columns button."]


== Action menu

The Action menu next to each node provides options to display the Node Details dialog (*Info...*) and navigate to the following pages:

* Events
* Alarms
* Outages
* Assets
* Metadata
* Hardware Inventory
* Availability
* Resource Graphs
* Node Rescan
* Admin/Node Management
* Update SNMP Information
* Schedule an Outage
* View Topology Map

.Node Action Menu
image::structured-node-list/node-action-menu.png["{page-component-title} node Action menu." width=300]

== Node details

Click **Info...** in the Action Menu to view additional information about the node including its ID, IP address, location, latitude/longitude, and so on.

.Node Details
image::structured-node-list/node-details.png["{page-component-title} Node Details dialog." width=400]

== Download current node data

Click the **Download** symbol to export the current node data (depending on search and filter configuration) in either CSV or JSON format.

.Download/Export
image::structured-node-list/node-download-menu.png["{page-component-title} Node download/export menu."]

== Customize Columns

Customize Columns let you specify which columns and the order in which the columns of data appear in the UI.
These preferences are stored in your browser's local storage, and so apply to anyone using the machine on which that browser runs, which may not be the OpenNMS user you are logged in as.
The preferences will be retained unless cleared by your browser's policy.
You can also click the *Clear Filters* button to clear them.
Your preferences are not available on different machines or the same machine using a different web browser.

Click the **Customize Columns** button to open the Customize Columns panel.

.Customize Columns panel
image::structured-node-list/node-preferences.png["{page-component-title} Customize Columns panel." width=400]

Click **Reset Columns** to reset all displayed columns to the default list visibility and order.

Click the *X* next to any column to remove that column from the display.

Click **Add Column** to add a column.

Click in the dropdown to choose which column to display.

Click and drag the dotted box next to a column to reorder it.

Click **Customize Table** to save your settings.

Click the *X* in the upper right corner to close without saving to local storage.

== Filter and search

You can filter and search via the Filtering panel using the **Filter** button image:structured-node-list/node-filter-button.png[width=32], and by the **Search node label or full IP address** search box above the node table.
Note that searches combine the results of all configured filters and search parameters.
For example, you can search by `Category + Location + Extended Search Term + Node Label search term` in any combination.

=== Node label search

The input box above the Node Table lets you search by node label.
This is a case-sensitive wildcard search.
Entering `cal` will match nodes have the label `localhost` as well as `california`, but not `California`.

=== IP Address search

The input box above the Node Table lets you search by a full or partial IP address.


=== Filtering

You can filter by category (for example, surveillance category), flows, and monitoring locations.

Click on the image:structured-node-list/node-filter-button.png[width=32] Filter button to open the **Advanced Filters** panel.
Click on a dropdown for *Categories*, *Flows* or *Locations* to filter by that item.
You can select more than one item per section.

As you choose items, a "chip" will appear showing your selection.
To remove a filter, click the *X* inside the chip.

.Advanced Filters panel
image::structured-node-list/node-advanced-filters-panel.png[width=640]["{page-component-title} Advanced Filters panel."]

Use **Clear Filters** on the main Node List page to clear all filters and search parameters.

=== Extended search

This lets you to search by additional fields.
Note that some fields perform wildcard searches and some are exact searches.
Also note that some fields, for example SNMP fields, are not displayed in the table, but will display in the Node Details dialog.

[options="autowidth"]
|===
| Item                   | Description

| Foreign Source
| Search by Foreign Source only.

| Foreign ID
| Search by Foreign ID only.

| Foreign Source:Foreign ID
| Search by Foreign Source and Foreign ID in `fs:fid` format.

| IP Address
| Search by IP address.
Will search only on valid IPv4 and IPv6 addresses.
It will not search on wildcard or partial addresses.

| Sys Contact
| Performs a case-sensitive wildcard search by system contact.

| Sys Description
| Performs a case-sensitive wildcard search by system description.

| Sys Location
| Performs a case-sensitive wildcard search by system location.

| Sys Name
| Performs a case-sensitive wildcard search by system name.

| Sys Object ID
| Performs a case-sensitive wildcard search by system object ID.

| SNMP Alias
| Performs an exact search by SNMP alias.

| SNMP Description
| Performs an exact search by SNMP description.

| SNMP Index
| Performs an exact search by SNMP index.

| SNMP Name
| Performs an exact search by SNMP name.

| SNMP Type
| Performs an exact search by SNMP type.
|===
