1. Product Description
The purpose of SnowMirror Monitor is to provide an overview of your synchronizations directly from ServiceNow instance.
Prerequisite for Monitor to show any data is at least one SnowMirror product up and running in customer’s environment. SnowMirror product handles communication between ServiceNow instance and a target database where customer wants his data to be migrated. This communication runs as a daemon process by SnowMirror product.
Communication with ServiceNow instance is done via web services. Monitor doesn’t need any additional rights to perform it’s job. Rights assigned to user used for SnowMirror product are sufficient.
Monitor watches status of all products connected to the same ServiceNow instance. It uses HeartBeat functionality to monitor server status. HeartBeats are periodically sending response requests to all SnowMirror products and Monitor lets products answer these requests. If answered properly the product status is recognized as "on" and as "off" on the contrary.
Monitor retrieves all synchronization definitions from all products. It provides to user very compact view on the definition itself including all details about scheduler and also also full load scheduler. List of single runs of the definition and also all synchronized columns are listed with each definition.
Monitor stores all runs of all synchronization in one single module. Available filtering makes this list very usable when users seeks for information about particular run.
On top of that Monitor provides various graphs and dashboards for monitoring SnowMirror product performance so user is able to take action whenever necessary.
1.1. Prerequisites
This chapter lists all prerequisites needed before installation of SnowMirror Monitor.
-
Target customer’s ServiceNow instance up and running.
-
SnowMirror product installed & setup & running in customer’s environment.
Monitor is not able to retrieve historical data from old synchronization’s runs. It starts loading data at the very moment of setting Monitor "on" in SnowMirror product.
SnowMirror monitor can watch several SnowMirror applications installed on different servers. In order to work correctly those SnowMirror servers have to have different names.
Minimal versions of related software versions:
Service Now |
Fuji |
SnowMirror |
3.0 |
2. Installation Instructions
Installation process is straight-forward. It consists of two basic steps. It is strongly recommended to keep the order as is:
-
Load the SnowMirror Monitor Application into ServiceNow instance.
-
Set up SnowMirror product to communicate with the monitor.
For correct installation of application please follow detailed instructions below. Screenshots below are taken from Geneva ServiceNoc version. They are also valid for Fuji version too, just graphic is very sligtly different.
-
Login to ServiceNow instance as a user with rights to install applications / load update set (usually with admin role).
-
In left navigation pane go to “Update sets" and select "Retrieved update sets”
-
On opened page select option ""Use Related links "Import update sets".
-
Click on "Browse" to find update set to load.
-
Find SnowMirror Monitor update set. It is located in SnowMirror’s installation folder. Usually, it is "C:\Program Files\SnowMirror\snow-mirror\monitor". There, there is "SnowMirror Monitor-5.5.9.xml" file. Choose it and click on "Open".
-
Click on "Upload" and wait until it is fully uploaded.
Please note that loading of the update set may take some time. After approx. 10sec you can see a timer right next to the logged username indicating that operation is in progress.
-
When loading is finished a Review Update Set module opens. Open the update set by hitting its name "SnowMirror Monitor".
-
Review the update set by click on button "Preview Update Set".
-
A pop-up window with loading progress bar opens. Once finished, click on "Close" to continue.
-
Click "Commit Update Set".
-
Click "Commit Update Set". A pop-up window with progress bar opens.
Commit procedure is finished when a message "Update set committed in x minutes / seconds" appears. Click on "Close" button to finish installation process.
-
Installation of the monitor itself is finished now. State of the Update Set is now Committed. A new application is visible in the application navigator.
-
Login to SnowMirror product as user with rights to modify products settings.
-
Product go to "Settings" → "ServiceNow" → check box "Advanced Settings".
-
Check the option “SnowMirror Monitor Enabled” and "Save" the settings.
3. Update Instructions
Update process is pretty straight-forward. The process of upgrading SnowMirror Monitor is the same as installation process.
4. Security Roles
SnowMirror Monitor is an extension for SnowMirror product. Security restrictions applied for product are also sufficient for the monitor. There is no need for any other right to be added to any user in ServiceNow to let Monitor do its job. Monitor starts doing its job when it is installed into ServiceNow and also enabled in product.
In ServiceNow the SnowMirror Monitor application and all its modules is secured by role "SnowMirrorAdmin". Administrators have automatically access to the Monitor. Role SnowMirrorAdmin can be assigned to any user or to any user group. Users with this role or users in a group with this role are able to see whole application and every module in it.
Without this role assigned the ShowMirror Monitor application isn’t either visible or accessible for users.
5. Application Modules
SnowMirror monitor consists of several modules which are all available under "SnowMirror Monitor" application. All modules are available to all users with correct rights assigned.
-
Overview - SnowMirror performance dashboard
-
Synchronizations - list of all scheduled & planned synchronizations
-
Synchronization Runs - list of all runs of all synchronizations
-
Servers - list of monitored servers
-
Support - link to information about SnowMirror support
5.1. Synchronizations
In SnowMirror product each table is transferred from ServiceNow to customer’s database separately via its synchronization definition. These definitions are independent on each other.
Each synchronization definition can have multiple parameters. This parameters can differ between single definitions to - for example - split the load to customer’s database in time.
Synchronization of any table from ServiceNow can be configured via the Synchronization definition in SnowMirror product. In the product multiple parameters such as frequency and synchronization time and many others can be set.
Module "Synchronization" offers to user a view on all these definitions. In this module all definitions are visible. If multiple SnowMirror products (servers) are connected to one instance all definitions from all producst are displayed here. Additional information about last definition run is also visible there.
5.1.1. Synchronization list
In Service now a list can be customized to show required data. In the table below there is a list of all available details related to the synchronization definition.
Name | Description |
---|---|
Status |
Status of the last synchronization run |
Name |
Name of the synchronization definition |
Synchronization Definition |
Name of the synchronization definition |
Next run |
Planned date & time of next synchronization |
Duration |
How long was the last synchronization run |
Latest |
Indicator which shows if monitor has latest results of the synchronization run |
Started On |
Time and date of last synchronization run |
Sys ID (run_sys_id) |
System identification of last synchronization run |
Sys ID (def_sys_id) |
System identification of synchronization definition |
5.1.2. Synchronization form
After opening particular synchronization definition by click on the column "Name" or "Synchronization Definition" a form with all details regarding definition opens. This form as following fields:
Name | Description |
---|---|
Name |
Name of the synchronization definition |
ServiceNow Table |
The table in SNOW which is being synchronized |
Mirror Table |
Table in the destination database |
Encoded query |
The query used for synchronization, only records matching the query criteria are migrated (for example only active users) |
Delete strategy |
The strategy for recognizing a deleted record in Service Now. |
Active |
Indicator If this synchronization is used actively |
Created By |
Which user in SnowMirror application created this definition |
Created On |
Time and date when this definition was created |
Server |
SnowMirror application server which handles the synchronization |
Synchronization Type |
Either table, view or attachment can be synchronized. If view is selected, view synchronization type and master table need to be specified. |
Next Run |
Time and date of next synchronization run |
Section Columns
This section shows information about synchronization strategy related to columns.
Name | Description |
---|---|
Reference field type |
Type of foreign keys reference between SNOW table and destination table |
Auto Schema Update |
If true, it automatically updates table structure in the mirror database. |
Allow Inherited columns |
If true, columns can be inherited from its parent table. |
Section Scheduler
Displays the incremental scheduler settings for current synchronization. Incremental scheduler usually runs more often than full load scheduler as it migrates only the newly added data.
Type, begin date and time field are available for all different types of scheduler. Other field differs by selected Scheduler type. In the table below they are all available fields. If field is specific for some type it is distinguish with [scheduler_type].
Name | Description |
---|---|
Scheduler Type |
How the scheduler triggers synchronization |
Scheduler Begin Date |
When the synchronization begins |
Scheduler Time |
Time of synchronization beginning |
[Weekly] Monday / Tuesday / Wednesday / Thursday / Friday / Saturday / Sunday |
The day of week when synchronization occurs |
[Periodically] Scheduler Interval |
Interval (in minutes) when synchronization occurs |
[Cron] Scheduler cron |
Cron job specification when synchronization occurs |
Section Full Load Scheduler
Displays the settings for the full load scheduler list. It usually runs less often than the normal scheduler because it downloads all the data at one time and synchronize them.
The fields are the same as on the normal scheduler related list. Just names of the fields have prefix "Full Load".
Section SnowMirror Synchronization Runs
This list displays all runs of the synchronization. For description of Synchronization Runs see appropriate chapter in this document.
Section Synchronized Columns
This list displays columns that are being synchronized with this synchronization definition. Column manes and types visible in this list corresponds to source columns in the ServiceNow instance.
5.2. Synchronization runs
Depending on definition and its parameters any synchronization can be run multiple times a day / week. Each synchronization run can result into either successfully migrated records or into a failure. The result of each run of synchronization definition is stored in the Synchronization run module with a lot of related details.
Module "Synchronization runs" offers to user a view on all runs of all definitions from all products / servers. As default view layout in this list a user can see status (result) it the run, its name, starting and ending time and also how many records was inserted, updated and deleted in this particular run.
Numerous additional information such as synchronization start date and end date, duration of the run, logs and who started the run and many more are available here.
5.2.1. Synchronization runs list
As usual in Service now this list can be customized to show required data. In the table below there is a list of all available details related to the synchronization run.
Name | Description |
---|---|
Status |
Status of the last synchronization run |
Started On |
Time and date of last run’s start |
Started by |
Who started last run |
Ended On |
Time and date of last run’s end |
Duration |
Duration of the last run |
Latest |
Indicator which shows if monitor has latest results of the synchronization run |
Inserted |
Count of newly inserted records |
Updated(updated) |
Count of updated records |
Deleted |
Count of deleted records |
Total |
Count of total migrated records during last run |
Created |
Time and date when run was created |
Created by |
Who created the synchronization |
Log |
Detailed XML formatted log of last run |
Log HTML |
Detailed HTML formatted log of the last run |
Scheduled Start |
Time and date of first run of the definition |
SnowMirror ID |
Synchronization run ID in SnowMirror application |
Started by |
Who has started the run |
Synchronization Definition |
Name of synchronization definition used for this run |
Name (Synchronization Definition Name) |
Name of synchronization definition used for this run |
Server (Synchronization Definition Server) |
Name of SnowMirror server used for this run |
Tags |
Associated tags |
URL |
URL of the log from last run |
Updated(sys_updated_on) |
Time and date of last update of this run |
Updated by |
Who has updated this run |
Updates |
How many times was this run updated |
5.2.2. Synchronization runs form
After opening particular synchronization run by click on the column "Status" a form with all details regarding run opens. This form as following fields:
Name | Description |
---|---|
Status |
Status of the last synchronization run |
Scheduled Start |
Time and date of first run of the definition |
Started by |
Who started last run |
Duration |
Duration of the last run |
Ended On |
Time and date of last run’s end |
Started On |
Time and date of last run’s start |
URL |
URL of the log from last run |
Inserted |
Count of newly inserted records |
Updated |
Count of updated records |
Deleted |
Count of deleted records |
Total |
Count of total migrated records during last run |
Synchronization Definition |
Name of synchronization definition used for this run |
Log HTML |
Detailed HTML formatted log of the last run |
5.3. Servers
After the SnowMirror Monitor is installed in customer’s ServiceNow instance, it automatically discovers all SnowMirror products which are configured to connect to the instance and that are configured to use the Monitor. Communication between all products and monitor starts automatically right after seokrver is discovered.
Monitor reads all available information from each SnowMirror application. For every product it reads state of the server such us version of product installed, version of the operating system, databases and others. Additional information about how long is it running, last seen time and product URL is also available. and others and all synchronization definitions. Monitor doesn’t read any historical records for synchronization runs.
Module "Servers" offers to user on all customer’s SnowMirror servers. It monitors their status - if they are up or down. It also gets version of installed SnowMirror application, installed operating system, how log they were up and many others.
5.3.1. Servers list
As usual in Service now this list can be customized to show required data. In the table below there is a list of all available details related to the servers.
Field name | Description |
---|---|
Name |
Name of the server |
Version |
Version number of SnowMirror server application |
Status |
Status of the SnowMirror server, updated by HeartBeat functionality |
Start Time |
Time and date when server has started |
Uptime |
How long was (is) server running |
Last seen |
Time and date when last response was obtained from the HeartBeat request |
URL |
URL of the SnowMirror application server |
Configuration database |
Type of configuration database for the SnowMirror application |
Created |
Time and date when server was registered by SnowMirror monitor |
Created by |
Who registered the server into monitor |
JRE version |
Version of the Java Runtime Environment |
OS Name |
Type of operating system on running on SnowMirror server |
Last Refreshed |
Time and date when server details were updated as last |
Mirror database |
Type of the database in which the data are stored |
Tags |
Associated tags |
Updated |
Time and date of last update of this server |
Updated by |
Who has updated this server |
Updates |
How many times was this server updated |
5.3.2. Server form
After opening particular server by click on the column "Name" a form with all details regarding the server opens. This form as following fields:
Field name | Description |
---|---|
Name |
Name of the server |
Status |
Status of the SnowMirror server, updated by HeartBeat functionality |
Version |
Version number of SnowMirror server application |
Uptime |
How long was (is) server running |
Last seen |
Time and date when last response was obtained from the HeartBeat request |
URL |
URL of the SnowMirror application server |
OS Name |
Type of operating system on running on SnowMirror server |
JRE version |
Version of the Java Runtime Environment |
Configuration database |
Type of configuration database for the SnowMirror application |
Mirror database |
Type of the database in which the data are stored |
Section Synchronization Definitions
This list displays all synchronization definitions defined on the server. For description of Synchronization Definifions (Synchronizations) see appropriate chapter in this document.
5.4. Support
Support for SnowMirror Monitor is provided by SnowMirror product team. This module is an URL pointing to SnowMirror product Support page. On this page there are available links for downloads of new versions of SnowMirror product, links to frequently asked questions and video manuals as well as documentation. Also contact information and form for submitting questions and comments is available on the Support page.
6. SnowMirror performance dashboards
Several dashboards are available in SnowMirror Monitor. These dashboards help users to have quick overview about servers, synchronizations, runs and all related successes and errors. Available dashboards are:
-
Overview - general dashboard provides compact overview on all SnowMirror related tasks
-
Synchronization dashboard - provides compact overview on synchronizations
-
Server overview dashboard - provides compact overview on servers
6.1. Overview dashboard
This dashboard is displayed immediately, as the application homepage and as first application module called "Overview". It shows following gauges:
-
Synchronizations By Duration - total time elapses by successful and failed synchronization runs grouped by days.
-
Migrated Records Per Day - trend graph of all migrated records over time split by performed action - insert, update, delete
-
Upcoming Synchronizations - list of all synchronization runs which are planned for execution.
-
Last Synchronizations - list of all synchronization runs completed less than 12 hours ago.
-
Failed Synchronizations - list of all synchronization runs with a status "failed" completed less than 12 hours ago.
6.1.1. Gauge Synchronizations By Duration
This gauge graph ìs showing total time elapses by successful and failed synchronization runs grouped by days. As an additional useful information to the total time it also shows - as visible on the picture - percentage statistics how long (in total) takes in one day to perform all successful or failed.
6.1.2. Gauge Migrated Records Per Day
This gauge trend graph shows total amount of records that were inserted or updated or deleted during particular day. As an additional useful information to the total time it also shows - as visible on the picture - percentage statistics how long (in total) takes in one day to either insert, update or delete records.
6.1.3. Gauge Upcoming synchronizations
This gauge list shows all synchronizations that are planned for execution for all products in upcoming 12 hours. Left click on Status column opens last synchronization run form with details of the run. Left click on column Name opens synchronization definition form. Using right click on column Name offers an option to open Synchronization dashboard.
6.1.4. Gauge Last synchronizations
This gauge list shows all synchronizations from all products that were executed in last 12 hours. It shows successful ones as well as failed ones. Left click on Status column opens last synchronization run form with details of the run. Left click on column Name opens synchronization definition form. Using right click on column Name offers an option to open Synchronization dashboard.
6.1.5. Gauge Failed synchronizations
This gauge list shows only failed synchronizations from all products that were executed in last 12 hours. It is only a subset of last synchronization visible in different gauge. Left click on Status column opens last synchronization run form with details of the run. Left click on column Name opens synchronization definition form. Using right click on column Name offers an option to open Synchronization dashboard.
6.2. Synchronization dashboard
This dashboard provides an overview and statistics for a specific synchronization definition. It cannot be accessed directly from the navigation menu but only by selecting it for particular synchronization definition. This dashboard can be accessed by right mouse button click on Synchronization Name (or Name) column and choosing the option "Synchronization dashboard". This way can be used from Overview dashboard and Server - Last, Failed and Upcoming Synchronization Runs as well as list of synchronization definitions.
Following gauges are included on this dashboard:
-
Synchronization Runs By Duration - total time elapses by successful and failed runs of this synchronization grouped by days.
-
Migrated Records Per Synchronization - trend graph of all migrated records by this synchronization over time split by performed action - insert, update, delete - grouped by days.
-
Upcoming Synchronization Runs - list of all runs of this synchronization which are planned for execution.
-
Last Synchronization Runs - list of all runs of this synchronization completed less than 12 hours ago.
-
Failed Synchronization Runs - list of all runs of this synchronization with a status "failed" completed less than 12 hours ago.
6.2.1. Gauge Synchronization Runs By Duration
This gauge graph ìs showing total time elapses by successful and failed runs of this synchronization grouped by days. As an additional useful information to the total time it also shows - as visible on the picture - percentage statistics how long (in total) takes in one day to perform all successful or failed.
6.2.2. Gauge Migrated Records Per Synchronization
This gauge trend graph shows total amount of records that were inserted or updated or deleted during particular day by this synchronization definition. As an additional useful information to the total time it also shows - as visible on the picture - percentage statistics how long (in total) takes in one day to either insert, update or delete records.
6.2.3. Gauge Upcoming Synchronization Runs
This gauge list shows all runs of this synchronization definition that are planned for execution in upcoming 12 hours. Left click on Status column opens last synchronization run form with details of the run. Left click on column Name opens synchronization definition form. Using right click on column Name offers an option to open Synchronization dashboard.
6.2.4. Gauge Last Synchronization Runs
This gauge list shows all runs of this synchronization definition that were executed in last 12 hours. It shows successful ones as well as failed ones. Left click on Status column opens last synchronization run form with details of the run. Left click on column Name opens synchronization definition form. Using right click on column Name offers an option to open Synchronization dashboard.
6.2.5. Gauge Failed Synchronization Runs
This gauge list shows only failed runs if this synchronization that were executed in last 12 hours. It is only a subset of last synchronization visible in different gauge. Left click on Status column opens last synchronization run form with details of the run. Left click on column Name opens synchronization definition form. Using right click on column Name offers an option to open Synchronization dashboard.
6.3. Server dashboard
This dashboard provides an overview and statistics for a specific product (server). It cannot be accessed directly from the navigation menu but only by selecting it for particular server. This dashboard can be accessed by right mouse button click on Name (Server) column and choosing the option "Server dashboard". This way can be used from Server module as well as from list of synchronization definitions.
-
Server Synchronizations By Duration - total time elapses by successful and failed synchronization runs on this server grouped by days.
-
Migrated Records By Server - trend graph of all migrated records on this server over time split by performed action - insert, update, delete - grouped by days.
-
Upcoming Synchronizations By Server - list of all synchronizations runs on this server which are planned for execution.
-
Last Synchronizations By Server - list of all synchronizations runs on this server completed less than 12 hours ago.
-
Failed Synchronizations By Server - list of all synchronizations runs on this server with a status "failed" completed less than 12 hours ago.
6.3.1. Gauge Server Synchronizations By Duration
This gauge graph ìs showing total time elapses by successful and failed runs on this server grouped by days. As an additional useful information to the total time it also shows - as visible on the picture - percentage statistics how long (in total) takes in one day to perform all successful or failed.
6.3.2. Gauge Migrated Records By Server
This gauge trend graph shows total amount of records that were inserted or updated or deleted during particular day on this server. As an additional useful information to the total time it also shows - as visible on the picture - percentage statistics how long (in total) takes in one day to either insert, update or delete records.
6.3.3. Gauge Upcoming Synchronization Runs
This gauge list shows all synchronizations runs on this server that are planned for execution in upcoming 12 hours. Left click on Status column opens last synchronization run form with details of the run. Left click on column Name opens synchronization definition form. Using right click on column Name offers an option to open Synchronization dashboard.
6.3.4. Gauge Last Synchronizations By Server
This gauge list shows all synchronizations runs on this server that were executed in last 12 hours. It shows successful ones as well as failed ones. Left click on Status column opens last synchronization run form with details of the run. Left click on column Name opens synchronization definition form. Using right click on column Name offers an option to open Synchronization dashboard.
6.3.5. Gauge Failed Synchronization By Server
This gauge list shows only failed synchronizations runs on this server that were executed in last 12 hours. It is only a subset of last synchronization visible in different gauge. Left click on Status column opens last synchronization run form with details of the run. Left click on column Name opens synchronization definition form. Using right click on column Name offers an option to open Synchronization dashboard.
7. Custom graph
You can add custom graph to the dashboard following these steps.
-
Navigate to the desired dashboard and click on "Create Dashboard Version"
-
Select "Create new dashboard".
-
Click on (+), select "Reports" in Widget Category and continue with "New Report" option.
-
Fill "Report name" and select desired "Table".
-
Select preferred graph category.
-
Update graph configuration based on your preferences.
-
You can modify visual part of the graph.
-
Finally add your graph to the dashboard using "Share" button and "Add to Dashboard" option.
8. Maintenance
8.1. Delete Data
since 4.10.0 There are certain situations, where you need to delete all data from SnowMirror Monitor. Imagine you migrated SnowMirror installation from one server to another and now you see all your synchronizations twice. Please follow the following steps to clean up and re-populate data:
-
SnowMirror: Turn off SnowMirror Monitor on Settings → ServiceNow page.
-
SnowMirror: Manually connect to your configuration database and cleanup SnowMirror Monitor queue:
delete from sncPlugin;
-
SnowMirror: Open SnowMirror installation folder and find a file snow-mirror/monitor/deleteData.txt
-
ServiceNow: Login to your ServiceNow instance as an admin and open "Scripts - Background" page. Copy-paste the content of deleteData.txt file and run it.
-
SnowMirror: Turn on SnowMirror Monitor on Settings → ServiceNow page. SnowMirror will re-populate the data into SnowMirror Monitor.
9. Release Notes
Version | Date | Remarks |
---|---|---|
January 4, 2024 |
|
|
February 10, 2017 |
|
|
January 19, 2016 |
|
|
December 21, 2015 |
|
|
November 13, 2015 |
|
|
February 17, 2014 |
|