Hierarchizing your infrastructure
To manage the complexity of a big company or organization, you usually divide it into a set of hierarchical levels. You can build hierarchies according to different criteria. For instance, if a company is spread throughout several countries, it is possible to group parts of the organization according to their geographical location. You can then arrange the locations in a hierarchy of cities, regions, countries and even continents. Other possibility is to divide the company into functional departments, such as Research and Development, Human Resources, etc. and then divide each department into units, each unit into sub-units and so forth, until you are satisfied with the decomposition. Several hierarchies may be built for the same company and coexist within it at the same time.
Nexthink hierarchies let you arrange the devices in your IT infrastructure in a way that reflects the structure of your company, with the advantage of getting results from Nexthink that directly map into the existing structure. For instance, you can quickly detect if a problem impacted every device in your company or just the computers in the department of Human Resources. Break down results from investigations, dashboard widgets and IT services according to the defined hierarchies. In addition, use hierarchies to delimit scopes of visibility for users (view domains) and administration rights over parts of the company (administration domains).
Example of a hierarchy built with mixed functional and location criteria
To organize your set of devices into a hierarchy, group your devices by entities. Entities are logical groups of devices that make up the first level of all hierarchies. Each device belongs to at most one entity, whose name is displayed in the special device field Entity.
Starting from V6.19, there are two ways to assign entities to each device:
Manual assignment mode (legacy).
Rule-based Collector assignment mode, which assigns devices to Engines in addition to entities.
In both cases, you write a Comma Separated Value (CSV) file that specifies the names of entities and how to assign each entity to groups of devices. The format of the CSV file for manual assignment is described in the next section. See the section about rule-based Collector assignment for more information about the format of the CSV file in that mode of operation. Once rule-based assignment is activated, manual mode is overridden.
Assigning entities in manual mode
To assign entities to sets of devices:
Log in to the Portal as a central administrator.
In the ADMINISTRATION menu, select Hierarchies under SYSTEM CONFIGURATION.
Click the pencil icon in the top left corner of the Hierarchies panel, next to the total number of entities.
In the dialog that shows up, click the button Choose file to pick the CSV file to import. Once you have chosen the file, the dialog displays a Preview field below that shows how your CSV file will be imported. If columns are not correctly detected, modify the fields described in the next steps.
Specify the character that separates the columns in the CSV file in the Delimiter field. By default, the delimiter is the comma character.
Choose the text encoding of the CSV file in the field Encoding. If you choose a UTF encoding, do not use an editor that creates a BOM header at the beginning of the file (e.g. Notepad). You can select one of the following text encodings:
ISO-8859-1 (Latin 1).
In the field Text qualifier, specify the type of quotes that you used to delimit text in the CSV file, if necessary.
Click Ok to import the CSV file and modify the entities. A summary of the changes carried out appears in a new dialog.
Click Ok again in the summary dialog to finish the import.
Format of the CSV file for defining entities in manual mode
The CSV file that defines the entities must have five columns per line, or six columns if you add an optional comment as the last item. Either all of the lines or none must provide a comment, although the comment of a line may be an empty string in the former case. Each line in the CSV file defines an entity that is assigned to a set of devices in a particular Engine. The entities that you specify here are the basic building blocks of the hierarchies that you will build later; therefore, they are placed at the lowest level of the hierarchies, called the Entity level. The Entity field of devices gets a value according to the specified rules. Each line in the CSV file holds the following items, ordered below by their position:
Entity assignment rule
Type of rule
The rules for assigning entities to devices in the CSV file are simpler than the rules for categories that you can specify in the Finder. The CSV file supports four types of rules. Choose one of them in the column Type of rule. Each type of rule refers to the field of the device that must match the pattern specified in the column Entity assignment rule for the device to belong to the entity. See below the list of types of rules and their corresponding device field:
Last IP address of the device.
The name of the device.
The distinguished name of the device (an Active Directory value).
The custom tag that identifies the Collector installed in the device.
The format of the pattern in the column Entity assigment rule depends on the type of rule that you specified to select devices:
For an ip rule, specify either a single IP address in dot-decimal notation, for example 192.168.0.10, or a subnet in CIDR notation, for example 192.168.0.10/24.
For a name or dn rule, give the name or the distinguished name of the device. You can use the wildcards ? and * as substitutes for one or several characters.
For a collector_tag rule, indicate the exact number used to tag the installation. Note that several Collectors can be installed in different devices using the same tag.
In the fifth column (the Platform), specify the kind of devices to which the rule applies. You can set it to * for the rule to apply to every kind of device. Otherwise, you can use the values windows, mac_os and mobile for the rule to apply only to Windows, Mac or mobile devices, respectively. If you want to apply a rule to a couple of platforms only, repeat the same rule using different platform values.
In a fresh installation of Nexthink, the default rule for assigning entities is the following:
"Nexthink";"other";"*";"name";"*";"Automatically generated default entity"
That is, the default rule assigns the entity other to every device of the Engine called Nexthink, which is the default name of the Engine. From there, you can replace the content of the entity rules as explained above.
Devices that do not match any entity assignment rule are assigned the empty entity, which is represented by a dash sign (-) in both the Finder and the Portal.
Priority of the entity assignment rules
The order of the definitions of entities in the CSV file determines the priority of their assignment rules. Devices that match the rules of several entities are assigned to that entity whose rule appears first in the CSV file.
This is similar to the auto-tagging order of keywords when editing categories in the Finder.
One entity per Engine limitation
A single entity cannot spread among different Engines. In the CSV file, you cannot have the entity GE on two Engines, so the following is not valid:
Limit on the number of rules per entity
The maximum number of rules that you can specify in the CSV file for a single entity is 1000.
If more than 1000 rules are specified for one entity, the rules for that particular entity are invalid and thus ignored. All the devices that do not match any subsequent valid rule of another entity are assigned the empty entity, represented by the dash sign (-).
Creating a hierarchy
Once you have specified the entities that form the base of the hierarchies, you can start building your own hierarchies by adding new levels on top of the entities.
To create a new hierarchy:
Log in to the Portal as a central administrator.
In the ADMINISTRATION menu, select Hierarchies under SYSTEM CONFIGURATION.
Click the plus sign the icons displayed at the top right of the panel. The dialog to add a new hierarchy shows up.
Type in a name for the new hierarchy in the Name field.
Add levels to your hierarchy. See the next section for details.
In the choice group Base hierarchy on, choose between all Engines to create a global hierarchy or selected Engines to create a hierarchy that applies to a set of Engines. Note that if you create a hierarchy that applies to a set of selected Engines, you can later promote it to a global hierarchy. On the other hand, if you create a global hierarchy, it is impossible to downgrade it to a hierarchy based on a group of selected Engines.
If you decided to create the hierarchy for a group of selected Engines, select your Engines as follows:
Click the Add button below the table of Engines. A small dialog with a list of Engines shows up.
Pick an Engine from the list and click Ok. Repeat from the previous step until you have selected all the Engines that you wish. The selected Engines are displayed in the table.
Click Ok to finish the creation of the hierarchy.
Adding hierarchy levels
The levels of the hierarchy indicate the depth of the tree that graphically represents the hierarchy. In the example figure of the hierarchy above, there are three levels defined:
Entity level: The lowest level in the hierarchy. It is composed of the names of entities. Each name represents the set of the devices assigned to the entity, according to the rules in the CSV file.
Region level: Groups entities into different regions named after the four cardinal points (North, South, East and West).
Department level: Divides the company into several departments that are located in one or several regions.
The Entity level is mandatory for all hierarchies. When you create a new hierarchy, you add levels on top of the Entity level. The root node of the hierarchy is always at the central administration level, which is never defined explicitly.
To add levels to a hierarchy from the dialog to create a new hierarchy:
Click the Add button below the table of levels. A small dialog to edit the level shows up.
Enter the name of the level.
Click Ok to add the level to the table.
Repeat from the first step to create as many levels as you need.
Optional: Move the created levels up or down in the table by clicking the arrows that appear in the next column, to the right of the name of the level. Note that the Entity level is always the lowest level and that you cannot move it inside the table.
There is a special level that you can use directly above the Entity level called the Engine level. This level makes a first groupment of entities per Engine. To create the Engine level, click the icon with the small Nexthink logo and the plus sign that is placed to the right of the Entity level in the table of levels of the dialog to create hierarchies. The Engine level is automatically filled by the system, which detects the entities (keywords) that are present in each Engine. For that reason, keywords must not be repeated in different Engines. At the end of the process, a new node is created at the Engine level for each Engine found in your system. Similarly to the Entity level, this level cannot be moved upwards or downwards inside the hierarchy.
To manually create the nodes for the other non-special levels, read the following section.
Building the hierarchy tree by editing the entities
Once you have finished creating a hierarchy and its levels, you need to specify nodes for every level. Nodes in one level are used to group the elements of the level below to form the hierarchy. You add nodes to a level by editing the entities of the hierarchy.
To add nodes to the levels of a hierarchy:
In the Hierarchies panel, select the entities that you want to group from the Entity table. Click the row that represents an entity in the table while holding the Ctrl or Shift keys down to select multiple entities.
Click the button Edit selected entities below the Entity table. A dialog appears with a set of text fields, where each field holds the name of the node to which the set of selected entities belong. Since this is the first time that you edit the entities, the text fields are displayed empty.
Type in node names for every level displayed in the dialog.
Click Ok to group the selected entities below the specified nodes in the hierarchy.
Click the floppy disk icon in the top right part of the Hierarchies panel to save your work on hierarchies.
Editing a hierarchy
To edit a hierarchy, click the pencil icon that you see at the top right of the Hierarchies panel. The dialogs and options for editing the hierarchy are identical to those used when you created the hierarchy.
When you edit the entities of an existing hierarchy, they may already belong to some of the nodes in the hierarchy. You can see the names of the nodes in the columns of the different levels in the Entity table. After selecting a group of entities and clicking the button Edit selected entities, you find the names of the nodes in the dialog that displays the levels of the hierarchy for the selected entities:
If the selected entities belong to only one node at a particular level, the text field for that level displays the name of the node.
If the selected entities belong to different nodes at a particular level, the text field for that level displays the value [multiple].
With the edition of entities, you can add or remove branches from your hierarchy tree or modify it in any other way you choose. Find below a couple of examples:
Example of creating a branch
Example of moving a branch
Be careful when editing a hierarchy that has been already used for aggregating results or for defining user domains. After the edition of an existing hierarchy, a dialog called Impact of changes displays all the elements in the Portal that got their associated domains invalidated because of the changes in the hierarchy. Click Continue to carry on with the changes anyway. Alternatively, click Cancel to revert the changes or to re-edit the hierarchy for reducing the impact.
If you edit a hierarchy, do not forget to save your changes by clicking the floppy disk icon at the top right of the Hierarchies panel.
Cleaning up the hierarchy
Eventually, a hierarchy may be based on entities that are no longer used. A couple of cases may bring up this situation:
The CSV file that defines the entities got some rules removed.
All the devices assigned to a particular entity were removed from an Engine.
An Engine became temporarily or definitively unreachable.
The entities that are no longer in use are not automatically removed from the system. Instead, they are represented in the Entity table with an exclamation mark ! at the beginning of the row. This indicates that the entity was not present in any Engine. You can redefine the entities and add the corresponding keywords to enable these entities again, or you can remove them if you no longer need them. To erase the unused entities:
Click the broom icon in the top right part of the Hierarchies panel. A check list of the unused entities shows up.
Check the box of every entity that you want to delete.
Click the button Delete selected entities.
Note that if an entity is removed and then is detected in an Engine, it will appear again in the Entity table, though without any values for the nodes up in the hierarchy.
If you have created multiple hierarchies, the Hierarchies panel lets you select the hierarchy that you want to view. Pick the desired hierarchy from the list that is placed as the first element in the top heading of the widget, labeled by the word Hierarchy, before the other icons.
To see a graphical representation of your hierarchy, click the View current hierarchy button. The Portal opens a new window that displays the nodes of the hierarchy as rounded boxes with their names inside organized in a tree-like structure that shows the defined levels. Depending on your browser and your security settings, you may need to enable the pop-ups for the Portal to open the new window.
Otherwise, once you select a hierarchy, you see the levels of the hierarchy with the list of nodes for each level in the upper part of the panel. In the lower part, you see the Entity table, with the names of the entities and the nodes that they belong to. The entities shown in the entity table are filtered by the nodes that you select in the list of nodes of the hierarchy levels. To view all the entities, select the special keyword All from the list of nodes of every level. The keyword All means that you want to see the entities of all the nodes at that level.
Additionally, you can select the Overview mode. In this mode, you just see a big Entity table where the columns include the levels of all the hierarchies at the same time. This mode lets you quickly view all the nodes to which an entity belongs in any of the defined hierarchies.
Renaming levels and nodes
When viewing a particular hierarchy in the Hierarchies panel, note that there is a clickable text to the right of every level labeled (rename). This text also appears to the right of the Entity level in the Entity table. Renaming a level as described below has no impact on the computed metrics, it only changes the displayed names when navigating the hierarchy levels in the dashboards.
To rename a level in your hierarchy:
Click the (rename) word to the right of the level. A small dialog to edit the name of the level shows up.
Type the new name for the level. The new name must not conflict with the name of any other level in the hierarchy.
Click Ok to actually rename the level.
Below the list of nodes of every level, you also find a piece of clickable text labeled rename node (except for the nodes of an Engine level, because these have the names of the Engines and you are not allowed to change them). Beware that renaming a node is equivalent to replacing the existing node by a new one, so all the results of the metrics grouped by the renamed node and its descendants are cleared.
To change the name of a node:
Select the name of the node inside the list of the level.
Click rename node. A small dialog to edit the name of the node shows up.
Type the new name for the node. The new name must not conflict with the name of any other node in the same level.
Click Ok to actually rename the node. Only the nodes that are part of the filter to view the hierarchy are renamed (see previous section).
Renaming nodes clears the results of metrics grouped by hierarchies.
Renaming levels does not modify any result.
Exporting and importing hierarchies
To backup and restore a hierarchy, you can export it to a CSV file or import it from a CSV file from the Hierarchies panel.
To export a hierarchy to a CSV file:
Select the hierarchy that you want to export in the list of hierarchies of the widget (the list at the top part labeled Hierarchy).
Click the icon with the arrow down and the initials CSV at the top right part of the widget to download the hierarchy as a CSV file.
Follow the instructions of your web browser to save the CSV file in the local filesystem.
To import a hierarchy from a CSV file:
Click the icon with the plus sign and the initials CSV at the top right part of the widget. The dialog to import the hierarchy shows up.
Click on the button Browse to select the CSV file to import from your local filesystem. A preview of the CSV to import is displayed according to your import options.
For the other options in the dialog, select the semicolon as separator character, UTF-8 as text encoding and the double quotes as text identifier if your file was generated by the Portal. Otherwise, use your own custom settings.
Click Ok to import the hierarchy.
Deleting a hierarchy
Deleting a hierarchy has a direct impact on all objects that depend on that hierarchy. Be sure to know what you are doing before deleting a established hierarchy. The following may happen when you remove a hierarchy from the system (not an exhaustive list):
Administrators whose administration domain is based on the hierarchy are not be able to log in to the Portal.
Objects in a view domain based on the hierarchy are visible to central administrators only.
User accounts with a view domain based on the hierarchy see nothing because they no longer have access rights.