Insights Analytics#
From release 24.1 onwards:
Two new apps are available to:
Manage Insights Analytics that is used for VOSS Wingman and dashboard widgets in the VOSS Automate GUI. See the topic on VOSS Wingman and Dashboards in the Core Feature Guide.
Manage data sync between Automate and Insights databases.
The Insights database is installed on each database node in the VOSS system topology.
The new installed apps (run app status
to see these) are:
insights-api
: the API service allowing the communication between VOSS Automate and Insights.Note
The communication is associated with a specific VOSS Automate session for authentication, so that session timeout and logout will also terminate this specific communication.
insights-voss-sync
: the sync app, consisting of processes:real-time
anddatabase
components, ensuring initial creation of database tables and indexes required for the sync between Automate and Insights databases and changes to the Resource collection.Note
The
real-time
app runs and completes after the creation of database tables and indexes.This is done in order to ensure the accurate representation of data in widgets on VOSS Automate GUI dashboards. Refer to the Synced Automate Models section below.
full-sync
,full-transaction
,multivendor
,delta-sync
: sync processes that allow for additional control.Note
Default schedules are added for data sync between Automate and Insights databases.
full-sync
: (disabled by default, but can be run manually - refer to the topic on Manual Sync below.)full-transaction
: (default: every hour every day) syncs transaction data since previous run of this sync (the first sync defaults to the last 90 days or 10 million transactions). Only transactions that have completed will be synchronized, i.e not queued and processing transactions.A cleanup script runs daily to ensure the number of stored transactions remain under 10 million.
multivendor
: (default: every hour every day) syncs multivendor subscriber details for the multivendor overview dashboard.delta-sync
: (default: every 30 minutes) initially carries out a full sync and thereafter, an incremental resource sync. Allows for the synchronization of specific Automate objects defined by thedata/ReporterModels
instance which maps Automate and Insights databases. See the topic Synced Automate Models below.
If the initial management of dashboards on the GUI is required prior to the first scheduled sync, the
full-sync
,full-transaction
,multivendor
anddelta-sync
sync processes can be run manually - see the topic Manual Sync below.
The log files corresponding to insights-voss-sync
components can be inspected and followed, 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
Note
Since these log files can grow to be large files, they are by default rotated on an hourly basis to conserve disk space.
For details on viewing logs, see: Logs.
Sync and service management commands#
Scheduling#
While default syncs are configured (see output below), Insights sync of data can also be scheduled manually by using the insights sync schedule time command to specify daily and weekly schedules.
The default syncs and disabled
status can be seen:
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: 1
minute: 0
weekday: 0
multivendor:
hour: every
minute: 0
weekday: every
Use this schedule list
command to inspect the current state of schedules.
Schedule Commands
The schedule command takes three options: sync type name, time and weekday.
Sync type ({sync-type}
) can be:
full-sync
full-transaction
multivendor
The delta-sync
type runs every 30 minutes and is only available as a manual sync using insights sync run.
Refer to the topic on Manual Sync below.
Time and weekday are set up separately.
Note that time can also be an interval (every
):
insights sync schedule time {sync-type} every <{n} hours|{n} minutes>
or the format: every/{n}
:
insights sync schedule time {sync-type} <every/<{n} hours|every/{n} minutes>
With {n}
:
hours: 0 - 23
minutes: 0 - 59
Setting up the schedule by a specific time:
insights sync schedule time {sync-type} <{hour} {minute}>
For example:
insights sync schedule time {sync-type} 02 15
for a 2:15AM sync on the weekday of the setup.
Setting up weekly:
insights sync schedule time {sync-type} weekly {weekday}
Examples:
insights sync schedule time {sync-type} weekly 5
to change the time setup to be a weekly Friday sync.
insights sync schedule time {sync-type} weekly every
to change the time setup to be a weekly every day.
The value convention for {weekday}
is:
0
is Sunday1
is Monday2
is Tuesday3
is Wednesday4
is Thursday5
is Friday6
is Saturdayevery
is every day
Manual Sync#
The scheduled syncs as well as the real-time sync will keep the widget data in sync. A sync can also be run manually at any time in order to ensure the Automate database and Insights reporter database are in sync so that dashboards reflect current data.
Note
Since a full sync can be a long process, the manual run of this command should be carried out at a suitable time. The duration of a sync would be dependant on the amount of data in the database and for full-transaction syncs, the amount of activity against that data since the last sync, or 90 days / 10 million transactions.
A cleanup script runs daily to ensure the number of stored transactions remain under 10 million.
If a sync is in progress, another sync of the same type will not run.
Run this command in a terminal opened with the screen command.
For details, see:
Using the screen command
Use the insights sync run command with options:
insights sync run {sync-type}
where {sync-type}
can be:
delta-sync
: Fetches changed data incrementally, in other words, data changed since previous fetch. Stale data is also deleted. Note thatmultivendor
sync is not included.This sync type is by default scheduled to run every 30 minutes. The command can also be run using the parameter
--full-refresh
to carry out a full sync of insights data.full-sync
. This command:Carries out the equivalent of the command and parameter
delta-sync --full-refresh
, which fetches all data from the beginning of time (Jan 1, 1970).Concludes with a
multivendor
sync - refreshing multivendor database tables.
Note that no output is shown in the screen session while the sync is in progress.
$ insights sync run full-sync Syncing can be a long process. Do you wish to continue?yes
full-transaction
: transaction data sync.Only transactions that have completed will be synchronized, i.e not queued and processing transactions.
In addition, no system and data sync transactions are synchronized.
$ insights sync run full-transaction Syncing can be a long process. Do you wish to continue?yes
multivendor
: syncs multivendor subscriber details.
If upgrading to release 24.2, no initial manual sync is required for dashboard management,
since delta-sync
runs every 30 minutes and will then carry out this first sync.
Note
The sync process initially takes some time.
Follow the progress of the sync by inspecting the related log files:
$ 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
Note
The delta-sync
sync process does not sync transaction data.
To sync transaction data, either:
Run
insights sync run full-transaction
manuallyUse the Platform system scheduling feature - see: Scheduling.
A scheduled insights sync can be also disabled and enabled using the command:
insights sync schedule <enable|disable> {sync-type}
Synced Automate Models#
The list of Automate database models (first column) that are synced to the Insights database (third column) are listed below.
These models are also serve as query sources for VOSS Wingman in the VOSS Automate GUI and by some VOSS Automate dashboard widgets. See the topic on VOSS Wingman and Dashboards in the Core Feature Guide.
If any of these models are updated, the delta-sync
sync process
will create the matching INSERT, UPDATE or DELETE database
operation in the Insights database, so that any widgets on VOSS 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/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 |