Analyzer won't start - troubleshooting installation
03/26/2020
99 People found this article helpful
197,607 Views
Description
The article discusses common issues that can cause startup problems of fresh or already installed Analyzer versions. A brief of the "behind the scene" activities is also presented at the end.
Cause
1. "Cannot bind to the HTTP port number specified. Please specify a different port number".
2. Analyzer login page won't load / partially loaded / stuck at "database update check in progress".
Resolution
This solution has been on experiment on Analyzer 8.3 (GMS/Analyzer Windows Postgres) installed on Windows server 2012R2. Explanation here can be broadly extended to other installation scenarios. The Installation of Analyzer in Microsoft Windows environment has been described elsewhere. Here I present common problems with Analyzer not starting up or improperly loaded.
Key points to note:
- The analyzer software runs by creating a number of processes that can be defied in Windows Task Manager.
- It runs a number of services that can be viewed in the Windows Services. Each service listens on a specific port number.
The software will not function properly if any of these processes or services is not/improperly running.
Port related Issues:
TCP port 80 and TCP port 443
Analyzer is typically installed on Windows Server. Common errors one receives include those for TCP port 80 and TCP port 443 that are used by the Analyzer's web server (Fig. 1). I was installing my Analyzer on a Windows Server that was already running IIS where the TCP ports 80 and 443 were being used. A way around was to use different ports for the web services for Analyzer, e.g., 8080 (HTTP) and 9443 (HTTPs). Please consider using port numbers >1023 which is the limit of the Well-known ports. If you choose a port number in the well-known port range there might be a chance that you are clashing with another service that was already using it.

Fig. 1. Error received while installing Analyzer on a Windows Server running IIS.
TCP port 3306
TCP 3306 is used by MySQL database. Analyzer uses MySQL for storing configurations. MySQL is also used by web servers that use Apache-MySQL-PHP (e.g., WAMP or XAMPP). When you login to the Analyzer web GUI after installation, you would remember the default database port (Fig. 2). It is a good idea to change the port to a different one e.g., 3309 or any other non-interfering port number if you are using other MySQL based services. In my case I installed a XAMPP after analyzer. It will not let me run the two applications at the same time. So used a different port number for my database in the XAMPP.

Fig. 2. Database port. Please reconsider using a number different from 3306 if you are using other MySQL based applications.
Considering Windows Firewall:
Windows firewall is normally adjusted when you install Analyzer with administrator privileges. A quick way of troubleshooting will be to check your Windows firewall for the ports used by Analyzer communicating with or being communicated by hosts/services outside, as summarized by the alert message one gets towards the end of the installation process (Fig. 3).

Fig. 3. Consideration of Windows Firewall (run wf.msc from command line and navigate to Inbound rules).
A missing database service can present you an improperly loaded web GUI page (Fig. 4), which I generated as I was running my XAMPP with MySQL port of TCP3306. Please note that, you will also experience similar situations if the MySQL service is not running.

Fig. 4. Missing database service can present situations (a) and (b). One can start the database service from the Windows Services console (c) that will lead to the functional login page (d).
Understanding Analyzer Processes and Services:
A basic trouble shooting in Analyzer start up problems should be verifying the processes, services and the ports. One can check for the processes in Windows Task Manager (press the buttons Control Shift Escape simultaneously). The services can be reviewed in Services console (e.g., Fig. 4-d that can be activated by typing services.msc in the command line). One can check for the specific ports, for example, by using netstat from the command line. My favorite netstat runs are as in the following snippet.
netstat -ano | find ":80"
This will present a result as in Fig. 5. One can run the netstat for different ports as intended.

Fig. 5. Netstat to check if a port is Listening.
I wanted to compile the processes and processes and services used by the Analyzer for which crafted a PowerShell 2-liner script (Fig. 6). Basically it automates the processes of accessing such info from the Windows consoles.
Get-Process | select id, processname,cpu,path,description | where {$_.path -like "*GMSVP*"} | ft -auto
Get-Service | select status,name,displayname,servicename | where {($_.DisplayName -like "sonic*") -or ($_.servicename -like "post*")} | ft -auto

Fig. A compilation of the processes and services used by Analyzer.
Related Articles
Categories