Hierarchizing your infrastructure
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 that you can get results from Nexthink that directly map to 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. You can 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).
Specifying the Entity category
To organize your set of computers into a hierarchy, you need first to populate a special kind of category for devices. This special category is called the Entity category and it is unique and mandatory. Contrary to normal categories, you do not create the Entity category with the help of the Finder. Instead, you need a Comma Separated Value (CSV) file to specify the keywords for the category and the rules to tag the devices.
The Entity category may have a different name if you upgraded your Portal from a V4 version. In Nexthink V4, the name of the CSV file could be changed. To avoid side effects, it is now impossible to change the name of your CSV category in the Portal. If you started from a fresh V5 installation of the Portal, the name of the CSV category is set to Entity. On the other hand, if you upgraded the Portal from V4 and you already had a CSV category defined, the old name of the existing category is kept. In any case, regardless of the actual name of the category, the present documentation refers to this category as the Entity category.
To populate the Entity category:
- Log in to the Portal as administrator.
- Go to the Administration module
- In the Central management section, select the Categories dashboard.
- Look for the Entity category in the list and click the pencil icon to edit the category. If the category has a different name, you can distinguish it because it is the only category whose type is CSV category. Additionally, the category has a down arrow icon to the right of the pencil that you can click to download its CSV file. After clicking the pencil icon, the dialog to edit the Entity category shows up. Note that you cannot change the name of the Entity category.
- Click the button Choose file to pick the CSV file to import that you have previously created in your local file system. Once you have chosen the file, the dialog displays a Preview field below to show how your CSV file will be imported. If columns are not correctly detected, maybe you have to modify the fields described in the next steps.
- The field Delimiter lets you specify the character that separates the columns in the CSV file. By default, it 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 beggining 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 Entity category. A summary of the changes carried out appears in a new dialog.
- Click Ok again in the summary dialog to finish the import.
See the limits on the complexity of your hierarchy and on the maximum number of entities that you can create according to your available hardware in the hardware requirements of the Appliance.
Format of the CSV file for the Entity category
The CSV file that populates the Entity category must have 4 columns per line, or 5 columns if you add an optional comment as the last item. Each line of the CSV file defines a keyword to tag a set of devices in a particular Engine. The keywords that you specify here are the basic building blocks of the hierarchies that you will build later. These keywords are placed at the lowest level of the hierarchies, called the Entity level (hence the name of the Entity category). The devices are tagged according to the specified tagging rule. The items found in each line of the CSV file are listed below, ordered by their position in the line:
- Engine name
- Keyword (entity name)
- Tagging rule
- Type of rule
- Optional comment
The tagging rules that you can specify in a CSV file for the Entity category are simpler than the rules that you can specify in the Finder. The CSV file supports three types of tagging rules: ip, name or dn. You must choose one of them in the column Type of rule. These three types of rules refer to the attribute of the device that must match the pattern specified in the column Tagging rule. They correspond to the IP address of the device, its name or its distinguished name (value from Active Directory). The format of the pattern depends on the type of rule that you specified to select the devices to tag:
- 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.
In a fresh installation of Nexthink, the Entity category is created with the following CSV file as default content:
- Nexthink, -, *, name
That is, the default Entity tags every device of the Engine called Nexthink, which is the default name of the Engine, with an empty keyword represented by the dash sign. From there, you can replace the content of the Entity category as explained above.
Priority of the tagging rules of the Entity category
The order of the definitions of keywords (entities) in the CSV file determines the priority of their tagging rules. Devices that match the tagging rules of several keywords get tagged only by the keyword whose definition appears first in the CSV file.
This is similar to the auto-tagging order of keywords when editing categories in the Finder.
One keyword per Engine limitation
A single keyword (entity name) cannot be spread between two different Engines. In the CSV file, you cannot have (e.g.) the keyword "GE" on two Engines:
Creating a hierarchy
Once you have defined the base entities (keywords) of the Entity category, you can start building your own hierarchies on top of them.
To create a new hierarchy:
- Log in to the Portal as administrator.
- Go to the Administration module.
- In the Central management section, select the Hierarchies dashboard.
- Click the plus sign among the icons displayed at the top right of the widget. The dialog to add a new hierarchy shows up.
- Type in a name for the new hierarchy in the Name field. The Category field shows the name of the special category on which the hierarchy is based. Note that you cannot change the name of the special category because it is unique. Therefore, the value of the Category field should always be *Entity, unless you upgraded Nexthink from a previous version where you had an existing CSV category with a different name; in which case, the name of the old category is kept unchanged.
- Add levels to your hierarchy. See below for details.
- In the section 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.
- If you decided to create the hierarchy for a group of selected Engines, select your Engines as follows:
- 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 hierarchy above, there are three levels defined:
- Entity level: The lowest level in the hierarchy. It is composed of the keywords of the Entity category. Each keyword represents the set of the devices tagged with that keyword, according to the CSV file that you used to populate the Entity category.
- 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 (keyords) 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 management widget, 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 management widget 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 Management widget. 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:
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 category, a dialog callled 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 reedit the hierarchy for reducing the impact.
If you edit a hierarchy, do not forget to save your changes by clicking the floppy disk at the top right of the Hierarchies management widget.
Cleaning up the hierarchy
Eventually, a hierarchy may be based on entities that are no longer used because the keywords of the Entity category no longer exist. A couple of cases may bring up this situation:
- The CSV file that defines the Entity category got some keywords removed.
- All the devices tagged with 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 respresented 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 Entity category 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 management widget. 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 widget Hierarchies management lets you select the hierarchy that you want to view. Just 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.
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 widget. 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 that an entity belongs to in no matter what hierarchy.
Renaming levels and nodes
When viewing a particular hierarchy in the Hierarchies management widget, 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. 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). 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).
Note that renaming levels and nodes is not the same as editing a hierarchy. Although you can edit a hierarchy to change the names of its levels and nodes, the effect of editing a hierarchy is much stronger to that of just renaming a level or a node. For example, if you change the name of a node by editing the entities of the hierarchy, you are actually creating a new node. The hierarchy itself and its associated results are modified. On the other hand, renaming a node just changes its text. The node is still the same, but with a different representation in text, so the structure of the hierarchy does not change.
Renaming nodes may affect nevertheless to the results of widgets or investigations 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 management widget.
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.