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 and database 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 the data/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 and delta-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 Sunday

  • 1 is Monday

  • 2 is Tuesday

  • 3 is Wednesday

  • 4 is Thursday

  • 5 is Friday

  • 6 is Saturday

  • every 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 that multivendor 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 manually

  • Use 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.

Insights Sync Table#

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