Insights Analytics#
Applications (insights-api, insights-voss-sync)#
Two applications are available for managing data between Automate and Insights, insights-api and insights-voss-sync:
Note
To display these applications, run app status.
insights-api
The API service allowing communication between Automate and Insights
Manages the Insights Analytics used for VOSS Wingman and dashboard widgets in the Automate GUI
The communication is associated with a specific Automate session for authentication so that session timeout and logout will also terminate this specific communication
insights-voss-sync
The sync application
Resides on the database node
Manages data syncs between the Automate and Insights databases
Comprises the following sync components and processes:
real-time,databaseComponents that ensure initial creation of database tables and indexes required for the sync between Automate and Insights databases and changes to the Resource collection.
The
real-timeapp runs and completes after the creation of database tables and indexes to ensure the accurate representation of data in widgets on Automate GUI dashboards. See Synced Automate models.full-sync,full-transaction,multivendor,delta-sync,sync-check,sync-check-arbitratorSync processes that enable additional control and include default schedules for data syncs between the Automate and Insights databases.
Note
The Insights database is installed on each database node in the VOSS system topology. The
insights-voss-sync resides on the database. The Automate API resides on the application node.
Related topics
Sync types#
full-sync#
A full-sync is a delta-sync with full refresh:
Disabled by default.
Can be run manually. See Manual syncs.
Executes the equivalent of the following command and parameter to fetch all data from the beginning of time (Jan 1, 1970):
delta-sync --full-refreshConcludes with a
multivendorsync, refreshing multi vendor database tablesNo output displays in the
tmuxsession while this sync is in progress.Pushes data to Arbitrator, if you have an Arbitrator resource configured
$ insights sync run full-sync Syncing can be a long process. Do you wish to continue?yes
full-transaction#
The full-transaction sync is a transaction data sync:
Runs hourly, every day (default)
Syncs transaction data since previous run of this sync.
The first sync defaults to the last 90 days or 10 million transactions.
Only completed transactions are synced
Excludes queued and processing transactions
A cleanup script runs daily to ensure the number of stored transactions remain under 10 million.
Excludes syncing of system and data sync transactions
$ insights sync run full-transaction Syncing can be a long process. Do you wish to continue?yes
Since the delta-sync excludes transaction data you’ll need to run a full-transaction sync
manually or use the Platform system scheduling feature.
To sync transaction data, perform either of the following:
Manually run the following command:
insights sync run full-transactionUse the Platform system scheduling feature. See: Scheduling.
Note
Upon upgrade to Automate 25.1 from an earlier version, the default full-transaction sync schedule
is hourly.
multivendor sync#
The multivendor sync:
Syncs multi vendor subscriber details
Runs hourly, every day (default)
Syncs multi vendor subscriber details for the multi vendor overview dashboard
delta-sync#
The delta-sync:
Runs every 30 minutes (default)
Only available as a manual sync using the following command:
insights sync runSee Manual syncs.
Initially it carries out a full sync and thereafter, an incremental resource sync.
Allows for syncing of specific Automate objects defined by the
data/ReporterModelsinstance, which maps Automate and Insights databases.Fetches changed data incrementally (data changed since previous fetch)
Deletes stale data
Excludes
multivendorsyncCan also be run using the following parameter to execute a full sync of Insights data:
--full-refreshPushes data to Arbitrator, if you have an Arbitrator resource configured
sync-check#
The sync-check:
Runs once a day
Performs a check to ensure that the Automate and Insights databases have the same data (it runs a count).
Updates any models that differ (after performing the comparison)
sync-check-arbitrator#
The sync-check-arbitrator:
Extends the checks performed with
sync-checkRuns once a day
Inspects available data sources and populates the Arbitrator database with equivalent data (inserts) for the following Automate models (defaults):
device/msgraph/MsolUser(pushes MS 0365 user details (including hierarchies) to call records on Arbitrator)device/msgraph/Roomdevice/spark/Placedevice/spark/User
If any of these models change, data is pushed to Arbitrator.
Note
The data source has an encrypted password, so
insights-voss-syncdecrypts the password via the Automate API as part of the workflow.
Pre-requisites
The following needs to be in place before running sync-check-arbitrator:
Release 25.3 and up, Arbitrator and Automate
The Automate password set up via Arbitrator’s CLI menu (Change Automate Public Database Password). This password must match the Dashboard data source on Automate.
Run a
full-syncbefore runningsync-check-arbitratorA Microsoft tenant on Automate that has MSOL users, and an Arbitrator (username = automate, and password matching the password set up for Automate on Arbitrator)
Provided all requirements are met, you can now run sync-check-arbitrator:
insights sync run sync-check-arbitrator
Or sync only specific models, any of the default models:
insights sync run sync-check-arbitrator --models "device/msgraph/MsolUser,device/spark/Place"
Related topics
Log files for insights-voss-sync#
Log files for insights-voss-sync components can be inspected and monitored. For example:
insights-voss-sync/real-time.log
insights-voss-sync/full-transaction.log
insights-voss-sync/full-sync.log
insights-voss-sync/delta-sync.log
insights-voss-sync/multivendor.log
insights-voss-sync/database.log
Since these log files can grow to be large files, they are by default rotated on an hourly basis to conserve disk space.
Monitoring sync progress#
Syncs initially take some time. Inspect related log files to monitor sync progress:
$ log follow process/insights-voss-sync.full-sync.log
$ log follow process/insights-voss-sync.delta-sync.log
$ log follow process/insights-voss-sync.full-transaction.log
$ log follow process/insights-voss-sync.multivendor.log
Related topics
Logs (how to view logs)
Sync and service management commands#
Scheduled syncs#
Default schedules are predefined (see output below), but you can also schedule Insights data syncs manually.
Note
If the initial management of dashboards on the GUI is required prior to the first scheduled sync
you can run the following syncs manually: full-sync, full-transaction, multivendor,
delta-sync
See Manual syncs.
Schedule Insights data syncs manually and specify daily and weekly schedules:
insights sync schedule timeView default syncs and their disabled statuses:
platform@VOSS:~$ insights sync schedule list schedule: delta-sync: hour: every minute: every/30 weekday: every full-sync: disabled: true hour: 1 minute: 0 weekday: 6 full-transaction: hour: every/1 minute: 0 weekday: 0 multivendor: hour: every minute: 0 weekday: everyInspect the current state of schedules:
schedule list
Schedule Commands
The schedule command takes three options: sync type name, time, weekday
Sync type ({sync-type}) can be:
full-syncfull-transactionmultivendor
Time and weekday are set up separately.
Time can be an interval, using every or every/{n}:
everyinsights sync schedule time {sync-type} every <{n} hours|{n} minutes>every/{n}insights sync schedule time {sync-type} <every/<{n} hours|every/{n} minutes>Note
With
{n}:hours: 0 - 23
minutes: 0 - 59
Set the schedule for a specific time:
insights sync schedule time {sync-type} <{hour} {minute}>
Example (for a 2:15 AM sync on the weekday of the setup):
insights sync schedule time {sync-type} 02 15
Set a weekly schedule:
insights sync schedule time {sync-type} weekly {weekday}
Examples:
Change the time setup to be a weekly Friday sync:
insights sync schedule time {sync-type} weekly 5Change the time setup to be a weekly every day:
insights sync schedule time {sync-type} weekly every
Value convention for {weekday}:
0is Sunday1is Monday2is Tuesday3is Wednesday4is Thursday5is Friday6is Saturdayeveryis every day
Disable/enable scheduled Insights syncs
To enable or disable a scheduled Insights sync, run the following command:
insights sync schedule <enable|disable> {sync-type}
Manual syncs#
Scheduled syncs and the real-time sync keeps dashboard widget data in sync.
You can run a sync manually at any time to ensure that the Automate database and Insights reporter database are in sync and that dashboards reflect current data.
Note
A
full synccan be a long process, so if manually executing, ensure you’re doing this at a suitable time.Sync durations depend on the amount of data in the database and, for
full-transactionsyncs, the amount of activity against that data since the last sync, or 90 days / 10 million transactions. A daily cleanup script ensures that number of stored transactions remain under 10 million.If a sync is in progress, another sync of the same type won’t run.
Run manual sync commands in a terminal opened with the
For details, see Using the tmux commandtmuxcommand.
Manually run different types of insights syncs
Use the following command with options for sync type: insights sync run
For example: insights sync run {sync-type}
Sync type {sync-type} can be:
delta-syncfull-syncfull-transactionmultivendorsync checksync-check-arbitrator
Note
If upgrading to release 24.2, an initial manual sync is not required for dashboard management since
the delta-sync runs every 30 minutes and will then execute this first sync.
Synced Automate models#
Several Automate database models are synced the Insights database (the table lists examples). These models also serve as query sources for VOSS Wingman in the Automate GUI and by some Automate dashboard widgets.
See the topic on Wingman and Dashboards in the Core Feature Guide.
When any of these models are updated, the delta-sync sync process creates the matching INSERT,
UPDATE or DELETE database operation in the Insights database so that any widgets on the
Automate GUI dashboards that reference corresponding data, remains synced.
model_type |
friendly_name |
friendly_model_type |
|---|---|---|
data/MonitoringCluster |
Monitoring Platform Cluster |
|
data/MonitoringQueue |
Monitoring Transaction Queue |
|
data/MonitoringSessions |
Monitoring Sessions |
|
data/MetricDatabaseCollectionStats |
Monitoring Database Stats |
|
data/LicenseAuditCounts |
Automate License Counts |
|
data/BaseSiteDAT |
Site |
relation/HcsSiteREL |
data/CountLimit |
Subscriber Count Limit |
|
data/HcsDpDNE164AssociateDAT |
E164 Number Association |
|
data/HcsDpE164InventoryDAT |
E164 Number Inventory |
data/HcsDpE164InventoryDAT |
data/HcsEntitlementProfileDAT |
Entitlement Profile |
data/HcsEntitlementProfileDAT |
data/HierarchyNode |
Hierarchy |
|
data/InternalNumberInventory |
Number Inventory |
relation/NumberInventoryREL |
data/MicrosoftSubscriberQasStaging |
Microsoft Subscriber Staging |
data/MicrosoftSubscriberQasStaging |
data/User |
User |
relation/User |
device/cuc/User |
Cisco CUC User |
relation/Voicemail |
device/cuc/UserLicense |
Cisco CUC User License |
|
device/cuc/Callhandler |
Cisco CUC Call Handler |
device/cuc/Callhandler |
device/cucm/CallPickupGroup |
Cisco UCM Call Pickup Group |
device/cucm/CallPickupGroup |
device/cucm/DeviceProfile |
Cisco UCM Device Profile |
relation/SubscriberDeviceProfile |
device/cucm/Gateway |
Cisco UCM Gateway |
|
device/cucm/GatewaySccpEndpoints |
Cisco UCM Gateway SCCP Endpoints |
|
device/cucm/HcsLicense |
Cisco UCM License |
|
device/cucm/HuntList |
Cisco UCM Hunt List |
|
device/cucm/HuntPilot |
Cisco UCM Hunt Pilot |
relation/HuntGroupRelation |
device/cucm/LicensingResourceUsage |
Cisco UCM Licensing Resource Usage |
|
device/cucm/Line |
Cisco UCM Line |
relation/LineRelation |
device/cucm/LineGroup |
Cisco UCM Line Group |
|
device/cucm/Phone |
Cisco UCM Phone |
relation/SubscriberPhone |
device/cucm/PhoneType |
Cisco UCM Phone Type |
|
device/cucm/RemoteDestination |
Cisco UCM Remote Destination |
|
device/cucm/RemoteDestinationProfile |
Cisco UCM Remote Destination Profile |
relation/SingleNumberReachREL |
device/cucm/User |
Cisco UCM User |
relation/Subscriber |
device/pexip/Conference |
Pexip Conference |
|
device/pexip/ConferenceAlias |
Pexip Conference Alias |
|
device/msexchangeonline/UserMailbox |
Microsoft Exchange Online User Mailbox |
device/msexchangeonline/UserMailbox |
device/msgraph/MsolAccountSku |
Microsoft O365 User SKU |
|
device/msgraph/MsolUser |
Microsoft O365 User |
relation/MicrosoftSubscriber |
device/msgraph/Room |
Microsoft Teams Rooms |
|
device/msteamsonline/CsAutoAttendant |
Microsoft Teams Auto Attendant |
device/msteamsonline/CsAutoAttendant |
device/msteamsonline/CsCallQueue |
Microsoft Teams Call Queue |
device/msteamsonline/CsCallQueue |
device/msteamsonline/CsOnlineUser |
Microsoft Teams User |
device/msteamsonline/CsOnlineUser |
device/msteamsonline/CsTeamsClientConfiguration |
Microsoft Teams Client Configuration |
|
device/spark/Announcements |
Webex Calling Announcements |
device/spark/Announcements |
device/spark/AutoAttendants |
Webex Calling Auto Attendants |
relation/WebexAutoAttendants |
device/spark/CallParkExtensions |
Webex Calling Call Park Extensions |
relation/WebexCallParkExtensions |
device/spark/CallParkGroup |
Webex Calling Call Park Group |
relation/WebexCallParkGroup |
device/spark/CallPickup |
Webex Calling Call Pickup |
relation/WebexCallPickup |
device/spark/Device |
Webex Calling Device |
relation/WebexDevice |
device/spark/HuntGroup |
Webex Calling Hunt Group |
relation/WebexHuntGroup |
device/spark/Group |
Webex Calling Group |
device/spark/Group |
device/spark/License |
Webex Calling License |
device/spark/License |
device/spark/Place |
Webex Calling Place |
relation/WebexTeamsPlace |
device/spark/Number |
Webex Calling Number |
device/spark/Number |
device/spark/Schedules |
Webex Calling Schedule |
relation/WebexSchedules |
device/spark/Team |
Webex Calling Team |
device/spark/Team |
device/spark/User |
Webex Calling User |
relation/SparkUser |
device/uccx/Agent |
Cisco UCCX Agent |
relation/UccxAgent |
device/webex/User |
Cisco Webex User |
device/webex/User |
Related topics