|   Release Notes   |   ScienceLogic Support   |   Tips for Using the Online Documentation   |   Contact Documentation

 

Introduction to the Integration Service

Download this manual as a PDF file

The Integration Service provides a generic platform for integrations between SL1 and third-party platforms.

This section covers the following topics:

What is the Integration Service?

The Integration Service enables intelligent, bi-directional communication between the ScienceLogic data platform and external data platforms to promote a unified management ecosystem. The Integration Service allows users to translate and share data between SL1 and other platforms without the need for programming knowledge. The Integration Service is designed to provide high availability and scalability.

The following image shows an example of an integration application and its steps, along with the Steps Registry pane on the left, in the Integration Service user interface:

The key elements of the Integration Service user interface include the following:

What is a Step?

In an Integration Service system, a step is a generic Python class that performs a single action, such as caching device data:

Steps accept arguments called input parameters. The parameters specify the values, variables, and configurations to use when executing the step. Parameters allow steps to accept arguments and allow steps to be re-used in multiple integrations. For example, you can use the same step to query both the local system and another remote system; only the arguments, such as hostname, username, and password change.

You can view and edit the parameters for a step by opening the integration application, clicking Open Editor (), and then clicking the gear icon () on a step to open the Step Editor pane:

A step can pass the data it generates during execution to a subsequent step. A step can use the data generated by another step. Also, you can add test data to the step and click Custom Run to run test data for that step.

The Integration Service system analyzes the required parameters for each step and alerts you if any required parameters are missing before the Integration Service runs the step.

Steps are grouped into the following types: 

A variety of generic steps are available from ScienceLogic, and you can access a list of steps by sending a GET request using the API /steps endpoint.

What is an Integration Application?

In the Integration Service, an integration application is a JSON file that specifies which steps to execute and the order in which to execute those steps. An integration application also defines variables and provides arguments for each step.

The following is an example of an integration application:

Integration application JSON objects are defined by configuration settings, steps that make up the integration, and application-wide variables used as parameters for each step. The parameters of each step can be configured dynamically, and each step can be named uniquely while still sharing the same underlying class, allowing for maximum re-use of code.

Integration applications can be executed through the REST API and are processed as an asynchronous task in the Integration Service. During processing the user is provided a unique task ID for the application and each of its tasks. Using the task IDs, the user can poll for the status of the integration application and the status of each individual running step in the integration application.

Executing an integration application from the REST API allows the user to dynamically set one-time parameter values for the variables defined in the integration.

The required parameters of integration applications are strictly enforced, and the Integration Service will refuse to execute the integration application if all required variables are not provided.

For more information about integration applications, see Managing Integration Applications.

What is a Configuration Object?

Configuration variables are defined in a stand-alone JSON file called a configuration object that lives on the Integration Service system and can be accessed by all integration applications and their steps.

Each global variable is defined as a JSON object in the configuration. Typically, a configuration object looks like the following:

{

"encrypted": true,

"name": "var_name",

"value":"var_value"

}

 

Configuration objects can map variables from the SL1 platform to a third-party platform. For instance, SL1 has device classes and ServiceNow has CI classes; the configuration object map these two sets of variables together

Each global variable in the configuration has the option of being encrypted. The values of encrypted variables are encrypted within the Integration Service upon upload through the REST API.

For more information about configuration objects, see Managing Configuration Objects.

Creating and Saving Integration Service Components

Instead of using the Integration Service user interface, you can create steps, integration applications, and configurations in your own editor and then upload them using the API or the command line tool (iscli).

For more information, see the Integration Service for Developers section.

Elements of the Integration Service User Interface

With the 2.0.0 release of the Integration Service platform, the Integration Service user interface was updated to match the 8.12.0 and later release of the SL1 user interface, with the navigation tabs now located on the left-hand side of the window. The tabs provide access to the following pages: Dashboard, SyncPacksIntegrations, Configurations, Reports, and Admin Panel.

To view a pop-out list of menu options, click the menu icon (). Click the menu icon again to close the pop-out menu.

Logging In and Out of the Integration Service User Interface

Starting with version 2.0.0 of the Integration Service, you can log in to the Integration Service using one of the following authorization types:

Depending on the authentication used by your Integration Service system, your login page will display a single option for logging in, or more than one option, as in the following example:

For more information about configuring authorization for users, see Managing Users in the Integration Service.

To log out of the Integration Service, click your user name in the navigation bar in the top right of any window and select Log off.

If you get a “SyncPacks service is not reachable” pop-up message in the user interface and the various pages are empty, log out of the Integration Service user interface and log back in again. You can also click Refresh in your browser to automatically log out. This situation occurs only if the user interface is idle for a long period of time.

Integration Service Pages

The Dashboard page () provides a graphical view of the various tasks, workers, and integration applications that are running on you Integration Service system. For more information, see Monitoring the Integration Service on the Dashboard Page.

The SyncPacks page () lets you import, install, view, and edit Synchronization PowerPacks, which are also called "SyncPacks". For more information, see Managing Synchronization PowerPacks.

The Integrations page () provides a list of the integration applications on your Integration Service system. From this page you can run, schedule, and create integration applications. For more information, see Managing Integration Applications.

The Configurations page () lets you create or use a configuration object to define a set of variables that all steps and integration applications can use. For more information, see Managing Configuration Objects.

The Reports page () contains a list of reports associated with integration applications that have the reporting feature enabled, such as the "Integration Service System Diagnostics" application. For more information, see Viewing a Report for an Integration Application.

The Admin Panel page () contains a list of user groups, which lets you determine the roles and access for your users. Only users with the Administrator role for this Integration Service system can edit this page. For more information, see Managing Users in the Integration Service.

While the SyncPacksIntegrations, Configurations, Reports and Admin Panel pages are loading or running a procedure, you will see a dark green, horizontal line at the top of the page until the process completes.

Additional Navigation

The user name dropdown, which is found in the navigation bar in the top right of any window in the Integration Service user interface, contains the following options:

The different notifications are color-coded: green for success, yellow for warning, and red for failure. The number of notifications displays as a badge in the menu. For more information about a notification, click the link for the page where the notification appeared and review the Step Log details for the application steps.

Monitoring the Integration Service on the Dashboard Page

You can use the Dashboard page () in the Integration Service user interface to monitor the status of the various tasks, workers, and integration applications that are running on your Integration Service system. You can use this information to quickly determine if your Integration Service instance is performing as expected:

The Dashboards page is the initial landing page after you log in to the Integration Service. This page displays high-level statistics about the health of the worker services that are being used by the Integration Service instance.

To view more information on the Dashboard page:

  1. Hover over a circle graph or a bar chart item to view a pop-up field that contains the count for that item on the graph or chart, such as "Success: 48" for successful tasks on the All Tasks graph.
  2. Click the List icon () for the All Tasks, Workers, or Applications graphs to view a list of relevant tasks, workers, or applications. Use the left and right arrow icons to move through the list of items.
  3. To view additional details about a specific tasks, click the List icon () for the All Tasks graph and then click the link for the task, where relevant. The integration application aligned with that task appears, and you can select a step and view the Step Log details for that step.