It is possible for log files to become large enough to prevent proper access to an exacqVision system. If this happens, complete the following steps to delete the files manually:
Restart the system.
During the system startup process, press the Esc key to boot to shell.
If you have an Linux-based exacqVision system (such as exacqVision EL) that requires SDVR drivers, but you mistakenly installed XDVR drivers, you must remove the XDVR drivers before installing the SDVR drivers. There are two equal ways to remove the XDVR drivers; use the one that you prefer or have better access to:
In Terminal, type sudo apt-get purge xdvapi .
In Synaptic Package Manager, search for xdvapi, right-click its entry, and select Completely Remove.
Now you can proceed with installing the SDVR drivers.
Exacq recommends installing exacqVision software on Ubuntu 10.04 because of its extensive testing within the Ubuntu community and its status as a Long Term Support version.
However, if you try to install exacqVision Client and exacqVision Server software version 4.5 and older, exacqVision Web Service, or Enterprise Health Manager on a Ubuntu 11.04 system, the new Ubuntu Software Center installer displays a false error message indicating a “package of bad quality.” This error can be ignored. Changes in exacqVision version 4.6 prevent this message from being displayed.
If you cannot hear audio on Linux-based exacqVision (eV) systems, try adjusting the volume setting on the front speaker (the default setting is for this volume is zero). To adjust the volume setting, complete the following steps:
Exit the eV Client software and log out of the user account.
Log in to Linux using an administrator account.
In the bottom-right corner of the main window, left-click the speaker icon and select Open Volume Control from the pop-up menu.
Make sure Mute is NOT selected for the Master or Front volume settings. You can tell that Mute is selected if the speaker icon below the settings’ slider bars is obscured by a red “x.”
Move the Master and Front volume settings sliders up.
Test the audio in eV Client.
If necessary, repeat these steps to change the volume settings to an appropriate level.
Follow the instructions in Article 1002 to configure HTTPS support in the Web Service.
<br>
Version 8.2 and Lower
SSL, a security system combining authentication and encryption, is used to protect communication between a web server and client. Enabling SSL on a web server allow all clients connecting to that server two key protections:
The client is able to identify the server. There is no way for a fake server to misrepresent itself to a client.
The communication between the client and server is encrypted, preventing a third-party from seeing what data is sent. This ensures the safety of private communication such as usernames and passwords, video data, and more.
NOTES:
This article assumes that exacqVision Web Service version 3.10 or later has been installed with default settings. If you are running version 3.0 to 3.8, see the attached legacy PDF.
A self-signed certificate allows you to use a web browser, but it does not work with mobile devices. Only trusted third-party certificates work with mobile devices.
To use SSL with exacqVision Web Server in Linux, complete the following steps:
Stop exacqVision Web Server by typing sudo /usr/local/exacq/webservice/service.sh stop in a Terminal window.
Open the Web Server Apache Configuration file by typing sudo gedit /etc/evapache/httpd.conf in a Terminal window. Find the following lines:
Delete the pound signs (#) at the beginning of each line.
Save and close the file.
It is recommended, but not required, that you disable the access log for SSL, as this file can grow very large. To do this, open the Apache SSL Configuration file by typing sudo gedit /etc/evapache/extra/httpd-ssl.conf in a Terminal window. Find the line with the following text:
TransferLog “${SRVROOT}/logs/access.log” Change it to:#TransferLog “${SRVROOT}/logs/access.log”When finished, save and close the file.
Open the Web Service configuration file by typing sudo gedit /etc/webservice.conf Add the following lines to the end of the document:
If you were issued certificates, rename them to server.crt and server.key and save them to the /etc/evapache directory and then skip to Step 10. Otherwise, continue with the following steps.
Run cd /etc/evapache in a Terminal window.
To create a self-signed certificate, type sudo openssl req -new -x509 -sha256 -days 365 -nodes -out /etc/evapache/server.crt -keyout /etc/evapache/server.key and answer the questions. NOTE: COMMON NAME should be the IP address or FQDN that you use for access to your exacqVision Web Service.
Re-start exacqVision Web Server by typing sudo /usr/local/exacq/webservice/service.sh restart.
NOTE:Â To connect to exacqVision Web Server using SSL, you must use HTTPS instead of HTTP.
Troubleshooting
If exacqVision Web Service does not start after configuring it for SSL, complete the following steps:
Open the Apache error logs, found by default at /user/local/exacq/webservice/evapache/logs/error_log.
Look for an entry similar to the following:
[Wed Mar 04 09:08:54.512004 2015] [ssl:emerg] [pid 19116] AH02565: Certificate and private key www.example.com:443:0 from CERTIFCATE_FILE_NAME.crt and KEYFILE_NAME.key do not match AH00016: Configuration Failed
If you see this entry, complete the following steps:
a.) Run the following commands, replacing the values in all caps with your values:
b.) Compare the result values from all of the calls. Each resulting string should be identical. If the values do not match, confer with the certificate authority that issued the certificate.
NOTE: Web Sockets communication will not work using SSL encryption for Web Service versions 7.2.0 – 7.2.6.
Workaround
Disable web sockets in the client configuration page of the browser Client.
Resolution
Update to exacqVision Web Service version 8.4 or later.
To change the automatic login user in Linux, complete the steps provided for your Linux version.
<br>
Ubuntu 18.04 and higher
On systems built by Exacq with Ubuntu version 18.04 and higher, the ability to use the operating system to configure automatic logins has been removed as a security measure.
You may, however, utilize the Exacq Kiosk User software to create kiosk user accounts and select whether or not a kiosk user account will automatically login.
For Ubuntu, adding a new locale (language) is a two-step process. First, determine the UTF8-encoded locale name, then generate the UTF8-encoded locale.
<br>
Determine Locale Name
Open a command line window and type:
less /user/share/i18n/SUPPORTED
This will list all of the locales Ubuntu supports. Scroll down to find the one that matches the ISO 639-1/ISO 3369-1 language codes of the language you are wanting to add.
Please be aware that some of the locales will not have a suffix (look closely – there is no period (‘.’) between the xx_YY language code and the following characters). Others will have a suffix of ‘.UTF-8.’ Still others will have suffixes like ‘@euro’ and ‘.EUC-KR.’ For ExacqVision, you must use the locale with the ‘UTF-8’ suffix.
For example, Irish in Ireland has these three locales:
will cause the exacqVision Client to run with the Chilean Spanish translation.
<br>
Permanently
To change the locale, you may change the entire operating system by going to System->Administration->Language Support and changing the default language dropdown. This will require a reboot.
Web Service https://www.exacq.com/release/exacqVisionWebServiceRC.deb
<br>
Install the latest release
Use the ‘dpkg’ package manager to install exacqVision packages after downloading using the ‘wget‘ commands above.
Server dpkg -i exacqVisionServer.deb
Client dpkg -i exacqVisionClient.deb
Web Service dpkg -i exacqVisionWebService.deb
<br>
Check available hard drive space
Use the ‘disk free’ command. Disk partitions used by exacqVision are usually labeled with their mount points as /mnt/edvr/1, 2, 3, and so on.
df -h
<br>
Check if exacqVision Server is running
Use the ‘process status’ command to list running processes followed by the ‘grep’ command to filter results to ‘core’ which is the name of the exacqVision Server process.
ps auxw | grep core
<br>
Stop the exacqVision Server service
Use either of the following commands:
sudo service edvrserver stop
sudo /etc/init.d/edvrserver stop
<br>
Start the exacqVision Server service:
Use either of the following commands:
sudo service edvrserver start
sudo /etc/init.d/edvrserver start
<br>
Stop the exacqVision Web Service
sudo /usr/local/exacq/webservice/service.sh stop
<br>
Start the exacqVision Web service
sudo /usr/local/exacq/webservice/service.sh start
<br>
List server log files
Log files are titled by date.
ls /usr/local/exacq/server/logs/
<br>
View a log file
Replace *filename* with the name of the log file you wish to open.
sudo less /usr/local/exacq/server/logs/*filename*
<br>
Compress a server log file to send to support
Replace *filename* with the name of the log file you wish to compress.
tar -cvjf log.tar.bz2 /usr/local/exacq/server/logs/*logfilename*
<br>
Compress all server log files to send to support
tar -cvjf logs.tar.bz2 /usr/local/exacq/server/logs
<br>
Open log file to show new entries as they are written
Replace *filename* with the name of the log file for the current date.
Stop the update and return to a command prompt by pressing CTRL+C.
Note: The number after “-n” allows the number of lines displayed to be adjusted. (25 lines in this case)
<br>
Check for a mounted data drive
mount
<br>
Edit the Web Service config file
The command used will depend on the version of the web service used on the NVR.
9.6+Â Â Â Â Â Â Â Â sudo nano /etc/webservice/wfe.json
9.0 – 9.4Â Â sudo nano /etc/webservice/webservice.conf
1.x – 8.8Â Â sudo nano /etc/webservice.conf
Note: Press CTRL+X to exit. This will prompt to save changes.
<br>
List PCI Devices in System (Capture Boards, Sound Card, Video Card)
lspci
<br>
List Motherboard BIOS information
sudo dmidecode
<br>
Show routing table
route -n
On newer OS’s if route is not installed by default, you may use ip.
ip route list
<br>
Add a static route
Setting static routes may be necessary when you have two or more networks that your computer needs to send traffic to. Most devices only connect to one network and all network traffic is routed to the default gateway, which is a router that chooses where to forward traffic to next. When you add more static routes, it adds more gateways. This will tell the system to send data you know is destined for a specific network to a chosen router instead of the default.
Replace NETWORK with the target network IP. Replace NETMASK and GATEWAY with the respective network mask and gateway IP address.
On newer OS’s if route is not installed by default, you may use ip. Replace CIDR with the CIDR notation for the netmask and INTERFACE with the name of the network interface.
sudo ip route add NETWORK/CIDR dev INTERFACE
Example: sudo ip route add 192.168.5.0/16 dev eth0
Disk I/O (input/output) plays a crucial role in how you experience the exacqVision software. If disks are unable to handle the amount of data being written to them, you could see reliability issues.
To help pinpoint the source of these issues on your server, use the following steps as a guide based on your system operating system.
<br><br>
Linux (Ubuntu)
How to view I/O wait
Ubuntu, and most versions of Linux, come with the ‘top’ command already installed.
Press CTRL+ALT+T to open a Terminal window and enter ‘top’ by typing top and pressing Enter.
Towards the top-left, find the row that shows ‘%Cpu(s)’ and follow this line over to the right. The ‘wa’ statistic here reports the percentage of time the CPU is waiting for disk I/O to finish.
You may exit ‘top’ by pressing ‘q’.
I/O wait is an indicator to look further. This is where tools such as ‘iotop’ can help determine which processes have high I/O percentages.
How to find the causes of high I/O wait times
The ‘iotop’ command does not come pre-installed with Ubuntu, so you will probably need to install it.
When connected to the internet, enter the following commands to install ‘iotop’.
sudo apt-get update sudo apt-get install iotop
You will probably need to run ‘iotop’ with elevated privileges using the sudo command, so enter sudo iotop.
The top left and right sections display the overall read and write throughput.
Below this, ‘iotop’ displays a live updating list of processes and their individual read and write I/O values.
The column you are most concerned with is that of ‘IO’. This column reports the percentage of time the process on that row was performing I/O against its total processing time.
Let’s say it takes approximately 1 second to write 200 MB to disk. You’ve issued a Save command to write 160 MB to file, which took 800ms, then your I/O wait time would be 80%.
Many systems today have multiple cores. Use Terminal again to enter the following command cat /proc/cpuinfo and find the number of Cores. You may need to scroll up a bit to find this.
Calculate 1/# of Cores.
If your wait time percent is regularly near or above this amount, your CPU is spending a lot of time waiting for disks to catch up, and thus slowing your system.
<br><br>
Windows
Monitoring disk I/O with Performance Monitor
Windows packages a tool called Performance Monitor (perfmon.exe) on it’s operating system. Open this application by clicking on the Windows (Start) icon on the toolbar and typing “Performance Monitor,” then click to open it.
from the left-hand navigation panel, expand ‘Monitoring Tools’ and select ‘Performance Monitor.’
The monitor panel will usually be very empty by default, so you will need to add the specific counters you wish to monitor.
Click the green ‘Add’ button from the toolbar above the main panel.
Beneath ‘Available Counters,’ scroll to find ‘PhysicalDisk’ and expand it. The statistics you will be interested in are:
‘% Disk Time’
‘% Idle Time’
‘Current Disk Queue Length’
‘Disk Reads/sec’
‘Disk Writes/sec’
When you highlight each of these, the below panel allows you to select individual drives, ‘All Instances’, or ‘_Total’. Total will sum all activity between multiple instances, whereas selecting ‘All Instances’ adds them all individually to your displayed data. On your NVR you will probably only be concerned with the recording disk(s).
After selecting each counter and the instances below, be sure to click the ‘Add>>’ button below to move it to the ‘Added counters’ panel on the right.
NOTE: If your system is utilizing RAID or you have partitions spanning multiple disks in a JBOD configuration you can also monitor these using statistics found under ‘LogicalDisk,’ which provides statistics for partitions rather than physical disks.
Before moving on, you may also wish to expand ‘Processor’ from the ‘Available counters’ panel and add:
‘% Idle Time’
When you have finished adding all your counters, click the ‘OK’ button.
By default the Performance Monitor displays a graph, but this can be difficult to read with many counters added at once, nor does it display the current values well. From the toolbar, use the ‘Display Type’ icon to cycle through the type options with each click, or use the drop-down arrow beside it to select ‘Report.’
You are no able to monitor the live disk I/O values and processor time.
The figure you will be most concerned with is the ‘% Disk Time.’ You could also choose to display the ‘% Disk Read Time’ and ‘% Disk Write Time,’ but by using ‘% Disk Time, this is the sum of both reading and writing, so the total I/O for that disk.
Many systems today have multiple cores. Press CTRL+SHIFT+Esc to open Windows Task Manager, then click on the ‘Performance’ tab to find the number of cores on your system. This example from a Windows 10 machine shows 6 cores.
Calculate 1/# of Cores.
If your idle time percent is regularly near or above this amount, then your CPU is spending a lot of time waiting for disks to catch up, and thus slowing your system. I/O wait is merely and indicator to look further.
Adding the ‘Available MBytes’ instance from the ‘Memory’ counter in Performance Monitor will show you if a large amount of memory is being consumed while data is waiting to be written to disk. The ‘Current Disk Queue Length’ instance from the ‘PhysicalDisk’ counter will help display how many operations are in the disk queue waiting to be completed.
Finally, you may search under ‘Process’ for ‘IO Data Bytes/sec’ for the ‘exacqd’ instance to display the amount of ‘IO Bytes’ the Exacq application is performing. High processor idle time, high % Disk Time, combined with high memory usage can point to a disk I/O bottleneck on the system.
<br><br>
Factors that can affect I/O
Average I/O performance per disk Higher Read/Write speeds mean more data transactions per second.
RAID Arrays Having several disks in an array increases I/O transactions.
RAID Factor While RAID factors are varied to provide a number of levels to mitigate the possibility of data loss through fault-tolerance, the RAID factor can determine if more read/write transactions are necessary for each operation. For example, all other things being equal, RAID 5 has better I/O performance than RAID 6 due to the additional parity required by RAID 6.