1 Introduction

This article describes a solution to make SAFR Windows background video feed processor service known as VIRGO more resilient.

After long periods of operation SAFR Virgo may stop processing. This may happen for various reasons, some out of control of the software and some possibly due to flaws such as memory leaks.

The Video Feeds window is designed to monitor the state of VIRGO and report is not operating properly as shown below.

A screenshot of a computer

Description automatically generated

Clicking the “Alarm Condition Info” will provide more details of the error condition.

A screen shot of a computer

Description automatically generated

This article describes strategies of monitoring or proactive measures that can ensure VIRGO avoids getting into an error state or alerts operators when an error state is encountered.

Measure such as this are not a replacement for software defect management. In all cases, end users and integrators should report defects with SAFR Video to SAFR support by opening a support ticket at support@safr.com in order to ensure future releases are free from defects and offer the highest possible resiliency.

2 Automated Error Alerts

First and foremost, monitoring should be enabled in order to alert administrators of error conditions occurring in the software. SAFR has a build in capability to notify administrators of error conditions as described below. This works by enabling one or more alarms conditions and defining an email address to send alerts to when those alarm conditions are met. The procedure below describes how to set up monitoring.

Before starting, a little terminology may be helpful:

  • Processor – A device that hosts one or more feeds (i.e. Windows Server or SAFR SCAN Access Control device)
  • Feed – A process that processes an input such as an RTSP camera input or file input.

2.1 Configuration Alarm Conditions Alerts

  1. Open Advanced Processor Configuration from the “…” menu at the Processor level as shown in menu below.

A screenshot of a computer program

Description automatically generated

  1. Click the “+” on the monitoring row to add alarm conditions. (the “+” will only appear when cursor is over the row)

A screenshot of a computer

Description automatically generated

  1. Select one or more Alarm Conditions and click Add. All Alarm Conditions are shown below.

A screenshot of a computer

Description automatically generated

For being alerted of processor health issues, the most important properties are:

  • alarm.condition.delinquent.enabled
  • alarm.condition.lowDisk.enabled
  • alarm.mail.enabled
  • alarm.mail’recipients

You are free to add and set the corresponding “.message” and “.subject” properties but defaults for these may be sufficient.

Feed error condition may occur for transient errors such as intermittent network issues and in some cases may occur too frequently and be too transient to be of value.

You should end up with the following list of properties added to the monitoring section:

A screenshot of a computer program

Description automatically generated

Edit any fields as desired and click “Apply”

2.2 Enable Email Server Relay

To send emails, SAFR Server must be configured with an email server. This section describes that process.

  1. Open SAFR System Configuration from Tools Menu

A screenshot of a computer menu

Description automatically generated

  1. Scroll to “Notification Services Configuration” and enable “Set up SMTP Email Service”

A screen shot of a computer

Description automatically generated

  1. See Set up SMTP Email Service for information on configuring an SMTP Email Service in SAFR.

2.3 Test Alarm Conditions

To verify the Alarm Condition will trigger and alert administrators of feed processor status take one of the following actions

  • If processing 3rd party cameras with SAFR Software, stop the “SAFRVirgo” Windows Service.
  • If using SAFR SCAN or SAFR Camera, unplug SAFR SCAN from the network

Await this condition until a notification arrives. It should take no more than 5 minutes.

If no email delivered, check that the processor is in error status in the Video Feeds window. If so, also check the logs in SAFR Application directory under ‘covi/logs/covi-ws.log’ for any recent errors.

3 Scheduled Auto Restart

A proactive approach to error conditions can be taken by scheduling a recurring restart for the background Windows video feed Service. This section describes one way in which this can be performed using Windows Task Scheduler.

3.1 Create the Task

  1. Open Windows Task Scheduler
  2. Create a new Task and assign a name (e.g. SAFR Virgo Scheduled Restart)
    A screenshot of a computer

Description automatically generated
  3. Go to the Triggers Tab and click “New…” to add a new task and complete as shown below.
    A screenshot of a computer program

Description automatically generated
  4. Go to the Actions Tab and click “New…” to add a new action and enter the following command
  5. Create New again and create a 2nd command to start the service. Enter “NET” in the Program/script field and “START SAFRVirgo” in the arguments field.
    A screenshot of a computer program

Description automatically generated
  6. Click OK. The final set of Actions should look like this:
  7. Click “OK” to save the Task

3.2 Test the newly created task as follows

  1. Open a DOS Command Prompt
  2. Enter the command “powershell” (Prompt should change to “PS” as shown below)
  3. Enter the following command:

Get-Service -DisplayName "SAFR Virgo" | ForEach-Object{Write-Host $_.Status : $_.Name}

A screen shot of a computer

Description automatically generated

  1. Click the task and select “Run”
  2. Quickly go back to the DOS Command Prompt and press up arrow and run the Get-Service status command again.
  3. Do this multiple times. Monitor that the service turns off and then on. You should see something like this:

A screen shot of a computer

Description automatically generated

Questions or comments about the documentation? Email us at safr-doc-feedback@realnetworks.com .

1