Nexthink Integration
IntegrationIntroduction
You can integrate third-party systems with Service Manager in many ways. The method you select will depend on business requirements, architectural and security constraints as well as the characteristics specific to each third-party application or service.
This document describes an integration process that has already been implemented in a customer context.
To find out more about this integration (e.g. scripts to be used), please do not hesitate to contact your EasyVista contact, or your service provider and integrator.
Integration summary
This integration enables you to integrate 48 health metrics related to equipment in Service Manager at regular intervals. Examples of these metrics are CPU usage or antivirus status.
- Metrics are calculated and collected via Nexthink, an automatic discovery tool, and then retrieved by Service Manager in a CSV file.
- Nexthink groups metrics into four families (PC health, software and OS health, security and compliance, network health,
see the list) and displays the OK/Warning/Error status for the current day and/or for the previous week.
- Information is displayed in Service Manager Equipment forms via a HTML form that presents each status using customizable icons, e.g. Warning status
.
See the example.
Operating principle
The process is made up of different phases:
- Initial preparation of the Service Manager environment for receiving Nexthink metrics using different scripts.
- Run a preimport task using the smoBackOfficeClient tool to:
- Retrieve and store Nexthink metrics in an Service Manager work table.
- Generate HTML forms for each item of equipment monitored in Nexthink and store them in an Service Manager work table.
- Integrate compiled data from metrics in the final Service Manager AM_ASSET table for equipment whose status has changed since the last integration.
Example
- Nexthink CSV file
- The health metrics HTML form is displayed in the Equipment form
Notes
- The health metrics HTML form can be added to any equipment-related form, e.g. Equipment form, equipment-related Incident form, using a Memo field that you previously configured.
See the procedure, step 5.
- Metric names cannot be modified. They were defined by Nexthink.
See the list.
- The number of Nexthink equipment not found in Service Manager is specified in a log table at the end of the integration processing. You should run a query to view the list of equipment and if required, correct errors on references or create the equipment required in Service Manager.
See How to choose the best tool for automating integration.
Best Practice
- As a general rule, Nexthink integration is run every 30 minutes. To ensure the run frequency of the task, you should integrate the preimport command line in a Batch or PowerShell script and use an external scheduler.
- At the end of the integration processing, the Nexthink CSV file will be moved to the <Easyvista>\tools\smobackoffice\TEMP\NEXTHINK_ASSET_STATUS\Save folder. You should remember to move it to the initial folder if you want to run another integration manually. (Note: <Easyvista> Identifies the EasyVista folder on your application server).
- You can modify the icons that represent the metric status.
- You must keep the path and name of the files.
- The recommended file size is 16x16 pixels.
Nexthink integration rules
- Mapping between Nexthink and Service Manager is performed using a unique ID, the Network Identifier of the equipment.
- The icon displayed for each metric family is automatically determined by Nexthink and corresponds to the metric with the most critical status within the family.
Description of the installation package
Note:
- Scripts are shipped for accounts 40000 (test case), 50004 (production database) and 50005 (sandbox). To run Nexthink integration using another account, you should duplicate and adapt them.
See the procedure.
- <EasyVista account> identifies the account used to run scripts.
example Nexthink-create EVO_DATA50004.sql indicates that the script is enabled for account 50004.
- PREIMPORT_SQL.sql: File containing the list of processes to be run during Nexthink integration based on the parameters defined in the NEXTHINK_ASSET_STATUS.ini configuration file.
- NEXTHINK_ASSET_STATUS.ini: Configuration file containing:
- Information on the Nexthink CSV file to be integrated.
- Details on how the PREIMPORT_SQL.sql script will run. Note: If you use an external scheduler, the run frequency specified in the file will not be taken into account.
- Nexthink-create EVO_BACKOFFICE tables.sql: Scripts for creating work tables in the EasyVista EVO_BACKOFFICE database for storing Nexthink metrics and HTML forms.
- TRUNCATE_NEXTHINK_ASSET_STATUS.sql : Scripts for purging work tables in the EasyVista EVO_BACKOFFICE database in which Nexthink metrics and HTML forms are stored.
- Nexthink-create EVO_DATA/<EasyVista account>/.sql: For the <EasyVista> account, script for adding the E_NXT_COMPLETE_STATUS column in the AM_ASSET table in the EasyVista EVO_DATA database. Used for storing the HTML form for each item of equipment (Memo field).
- Update Nexthink status in AM_ASSET (<EasyVista>).sql: For the <EasyVista> account, file containing the following scripts:
- Script for storing the HTML forms generated for each item of Nexthink equipment in a work table in the EasyVista EVO_BACKOFFICE database.
- Script for storing new or modified data in the AM_ASSET table in the EasyVista EVO_DATA database.
- Script for updating the log table in the EasyVista EVO_BACKOFFICE database. The log table lists the number of modified equipment statuses and the number of Nexthink equipment not found in Service Manager.
Procedure
Note:
- <Easyvista> Identifies the EasyVista folder on your application server.
- <EasyVista account> identifies the account used to run scripts.
How to implement Nexthink integration
Note: Copy the scripts for the accounts used for performing Nexthink integration.
1. Install the EasyVista environment for receiving Nexthink metrics.
Install the scripts:
- Go to the <Easyvista>\tools\smobackoffice\QUERIES\SQL\PREIMPORT folder.
- Copy the two files below to the folder:
- PREIMPORT_SQL.sql
- NEXTHINK_ASSET_STATUS.ini, which can be found in the \Nexthink\INI installation package folder
- Create the \Nexthink subfolder and copy and paste the four scripts below in it:
- TRUNCATE_NEXTHINK_ASSET_STATUS.sql
- Update Nexthink status in AM_ASSET (<EasyVista account>).sql
- Nexthink-create EVO_BACKOFFICE tables.sql
- Nexthink-create EVO_DATA<EasyVista account>.sql
- Copy the two files below to the folder:
Install icons that represent the metric status:
- You can customize the icons but you cannot modify the names below.
- OK status: nxt_ok_icon.png ==> by default
- Warning status: nxt_warning_icon.png ==> by default
- Error status: nxt_error_icon.png ==> by default
- OK status: nxt_ok_icon.png ==> by default
- Go to the <Easyvista>\www\Styles\Easyvista\Images folder and copy and paste the three files in it.
2. Indicate the path of the Nexthink CSV file in the .ini configuration file.
- Go to the folder <Easyvista>\tools\smobackoffice\QUERIES\SQL\PREIMPORT.
- Edit the NEXTHINK_ASSET_STATUS.ini file.
- In the [NEXTHINK_ASSET_STATUS] section, enter the value for the DIRECTORY_1 parameter = full path of the CSV file.
3. If required, prepare the scripts for the other EasyVista accounts used to integrate Nexthink metrics.
- Go to the folder <Easyvista>\tools\smobackoffice\QUERIES\SQL\PREIMPORT\Nexthink.
- Duplicate the Nexthink-create EVO_DATA<EasyVista account>.sql and Update Nexthink status in AM_ASSET ((<EasyVista account>).sql scripts and rename them using the new account.
example Nexthink-create EVO_DATA50006.sql
- Edit these new files and modify the <EasyVista account> account using the new account.
4. Run the scripts for creating tables:
- Start SQL Server Management Studio.
- Run the scripts below found in the folder <Easyvista>\tools\smobackoffice\QUERIES\SQL\PREIMPORT\Nexthink :
- Nexthink-create EVO_BACKOFFICE tables.sql
- Nexthink-create EVO_DATA<EasyVista account>.sql - Note: Run this script for each account required.
5. In Service Manager, add the Nexthink metrics HTML form to an equipment-related form.
- Open the form you want and switch to edit mode by clicking
. Next, click
Edit.
- Click [ ADD FIELD ]. In the AM_ASSET table, select the E_NXT_COMPLETE_STATUS field.
- In the form presentation, click
next to the new field.
- In the Size field of the Properties Inspector, indicate the height of the HTML form in pixels.
How to run Nexthink integration
1. Run the preimport processing using the smoBackOfficeClient tool:
- Open a command prompt window.
- Enter the following command line:
2. Consult the log table that indicates the number of Nexthink equipment not found in Service Manager:
- Start SQL Server Management Studio and log in to the EVO_BACKOFFICE database.
- Run the following SQL query:
3. Open Service Manager to correct errors, if any. The modifications will be taken into account the next time integration processing is run.
- To run integration manually using the last file, you should copy it from the <Easyvista>\tools\smobackoffice\TEMP\NEXTHINK_ASSET_STATUS\Save folder and paste it in the initial folder indicated in the NEXTHINK_ASSET_STATUS.ini. file.
- Correct reference errors in Equipment forms.
- Create forms for Nexthink equipment to be monitored if they do not exist.
Mapping the Nexthink table and Equipment form
Note: All metrics show data for the current day in the Today column in the HTML form. Certain metrics can show data for the previous week in the Last Week column in the HTML form. This is indicated in the table below:
- D: indicates metrics for the current day.
- W: indicates metrics for the previous week.
Nexthink | Service Manager | |||
---|---|---|---|---|
Health Metrics | AM_ASSET table | Equipment Form | ||
DEVICE_NAME | NETWORK_IDENTIFIER | Network identifier | ||
PC_HEALTH_D | E_NXT_COMPLETE_STATUS | (family) PC Health D | ||
PC_HEALTH_W | (family) PC Health W | |||
DISKS_SMART_INDEX | SMART Index Disks | |||
SYSTEM_DRIVE_FREE_SPACE | System drive free space | |||
NON_SYSTEM_DRIVE_FREE_SPACE | Non-system drive free space | |||
CPU_USAGE | CPU usage | |||
MEMORY_USAGE | Memory usage | |||
HIGH_IO_TIME | IO throughput | |||
HIGH_PAGE_FAULTS_TIME | Page faults | |||
BLUESCREENS_D | Bluescreens D | |||
BLUESCREENS_W | Bluescreens W | |||
NUMBER_OF_HARD_RESETS_D | Hard resets D | |||
NUMBER_OF_HARD_RESETS_W | Hard resets W | |||
NUMBER_OF_SYSTEM_BOOTS | System boots | |||
SOFTWARE_AND_OS_D | (family) Software and OS Health D | |||
SOFTWARE_AND_OS_W | (family) Software and OS Health W | |||
NUMBER_OF_PACKAGES | Number of packages | |||
APPLICATION_CRASHES_D | Application crashes D | |||
APPLICATION_CRASHES_W | Application crashes W | |||
APPLICATION_FREEZES_D | Application not responding events D | |||
APPLICATION_FREEZES_W | Application not responding events W | |||
AVERAGE_BOOT_DURATION | Average boot duration | |||
AVERAGE_LOGON_DURATION | Average logon duration | |||
WMI_STATUS | WMI status | |||
WINDOWS_LICENSE_KEY_STATUS | Windows license key | |||
SECURITY_AND_COMPLIANCE | (family) Security and Compliance | |||
DAYS_SINCE_LAST_BOOT | Number of days since last boot | |||
DAYS_SINCE_LAST_LOGON | Number of days since last logon | |||
WINDOWS_FIREWALL_STATUS | Windows firewall status | |||
WINDOWS_UPDATES_STATUS | Windows updates status | |||
WINDOWS_UAC_STATUS | Windows UAC status | |||
ANTIVIRUS_STATUS | Antivirus status | |||
ANTI_SPYWARE_STATUS | Anti-spyware status | |||
INTERNET_SECURITY_SETTINGS | Internet security settings | |||
GUEST_ACCOUNT_STATUS | Guest account status | |||
HIGHEST_PRIVILEGE_LEVEL | Highest privilege level reached | |||
NETWORK_HEALTH_D | (family) Network Health D | |||
NETWORK_HEALTH_W | (family) Network Health W | |||
NUMBER_OF_DESTINATIONS_D | Number of destinations D | |||
NUMBER_OF_DESTINATIONS_W | Number of destinations W | |||
INCOMING_TRAFFIC_D | Incoming traffic D | |||
INCOMING_TRAFFIC_W | Incoming traffic W | |||
OUTGOING_TRAFFIC_D | Outgoing traffic D | |||
OUTGOING_TRAFFIC_W | Outgoing traffic W | |||
NETWORK_RESPONSE_D | Network response D | |||
NETWORK_RESPONSE_W | Network response W | |||
NETWORK_AVAILABILITY_D | Network availability D | |||
NETWORK_AVAILABILITY_W | Network availability W |
Nexthink Integration Pack
To find out more about this integration (e.g. scripts to be used), please contact the EasyVista Consulting & Professional Services team, the EasyVista Support team, or your service provider and integrator.