Installation Guide elproMONITOR 3.1.x
1. System Requirements
This manual is based on Windows Server 2019 (ENU) and SQL Server 2019 (ENU). If you use other Windows versions, some details may vary from the instructions in this manual.
For Windows Server and client oprating systems like Windows 10/11 only English and German are supported!
SQL Server compatibility level 130 and above is required
Before running the installation, check the server compatibility with this script: โฆSetup Files\database\check_sql_server_compatibility.sql
Increase the database's compatibility level to at least SQL Server 2016 (130) if it is incompatible
Digital Ouput Incompatible database entries
In the elproMONITOR version for 2.1.1 and below, the digital output (4DO) entries in the database were saved in the wrong format. This leads to an error when updating to elproMONITOR 3.1.x.
The following steps must be carried out before the installation.
Execute the following script to check the entries: โฆSetup Files\database\detect_malformed_4do_modules.sql
If no entries are found, the installation can be started
If entries are found, carry out step 2
run the following script to correct the format of the entries: โฆSetup Files\database\fix_malformed_4do_modules.sql
run the following script again: โฆSetup Files\database\detect_malformed_4do_modules.sql
If no entries are found, the installation can be started
If entries are still found, please contact support
ย
1.1. Supplied Program Packets
The list below contains the software packets supplied.
SW Module | Description | Directory | ย |
---|---|---|---|
elproMONITOR Service | Service which reads the measuring values out of the loggers and writes them to the database. | elproMonitor_<version>.zip/elproMONITOR | ย |
elproMONITOR SQL Script | SQL script which is needed to create the schema for the elproMONITOR database. | elproMonitor_<version>.zip/support-tools/database/MonitorSchema.sql | ย |
Management Tool | The Management Tool is needed to create the configuration XMLs and to enter and activate the license key. | elproMonitor_<version>.zip/support-tools/shared/elproMONITOR Management Tool | ย |
MSVC Redistributables | Redistributables which are needed to execute elproMONITOR. | elproMonitor_<version>.zip/prerequisites/MCVC Redistributables | ย |
elproEVENT Application | The elproEVENT application. | elproEvent_<version>.zip/elproEvent | ย |
elproEVENT SQL Script | SQL script which is needed to create the schema for the elproEVENT database. | elproEvent_<version>.zip/elproEvent/Setup Files/SQLScripts/CreateEventSchema.sql | ย |
elproUSER Service | Service that uses rights and user management. | elproUser_<version>.zip/Program Files/elproUSER<Versionsnumber>/UserService | ย |
elproUSER SQL Script | SQL script which is needed to create the schema for the elproUSER database. | elproUser_<version>.zip/Setup Files/SQLScripts/CreateUserSchema.sql | ย |
RabbitMQ Service | Service, which communicates with the ECOLOG-PRO Radio Module via MQTT protocol. | elproMonitor_<version>.zip/prerequisites/RabbitMQ <version> | ย |
ProModuleConfigurator | Configuration tool for editing the ECOLOGPRO modules | elproMonitor_<version>.zip/support-tools/shared/ProModuleConfigurator | ย |
RBRConfigurator | Config-Tool zum bearbeiten der ECOLOG-PRO RBR Modules | elproMonitor_<version>.zip/support-tools/shared/EcologPRO Radio configurator | ย |
3. Definition of Target System
Before you start the installation, define how the target system should look like.
3.1. Default Proposal to Create New Users
User | Access Rights |
---|---|
elproMonitorDBUser | Dedicated user for the elproMONITOR application database. Has read/write rights to this database. |
elproEventDBUser | Dedicated user for the elproEVENT application database. Has read/write rights to this database. |
elproUserDBUser | Dedicated user for the elproUSER application database. Has read/write rights to this database. ย In addition, read-only rights must be granted for the following tables in the elproMONITOR and elproEVENT application databases.
|
elproUser | Optionally, you can create a Windows user. Is the executing user of the elproMONITOR Service, elproEVENT, and elproUSER. |
3.2. Default Proposal to Create New Databases
Database | Description |
---|---|
elproMONITOR | Database for the elproMONITOR application. |
elproEVENT | Database for the elproEVENT application. |
elproUSER | Database for the elproUSER application. |
3.3. Default Proposal to Create Directories
Name | Description | Default Path Proposal |
---|---|---|
Program Directory | Programs are installed in the default program directory. | C:\Program Files\ELPRO |
Configuration Directory | Stores database access configurations and licensing data | C:\ProgramData\ELPRO\License |
Web Application Directory | For safety reasons, we urgently advise you to install the web client application in the official web publication directory. It is possible to install the web application together with IIS on a separate computer. The installation directory relates to this computer | C:\ProgramData\ELPRO\Websites |
4. Installing the Basic System
4.1 Server
4.1.1. Server Setup
Standard server installation
Configure server name
Control Panel โ System โ Change Settings โ Computer Name โ Change
Enter new name:
e.g. MONITOR
4.1.2. Firewall Configuration
4.1.2.1. Activate Remote Desktop Service
Remote Desktop
Control Panel โ System โ Change settings โ Remote โ Remote DesktopAllow
Allow remote connection on this computer only from computers running Remote Desktop with Network Level Authentication.
Firewall Rules
Control Panel โ Windows Firewall โ Advanced Settings โ Inbound RulesAllow
Remote Desktop - User Mode (TCP-In) Profile Public
4.1.2.2. Allow Ping
Firewall Rules
Control Panel โ Windows Firewall โ Advanced Settings โ Inbound RulesAllow
File and Printer Sharing (Echo Request - ICMPv4-In)
4.1.2.3. Firewall ports and protocol overview
No | Protocol | Port | Description |
---|---|---|---|
1 | TCP | 502 | Configuring and pulling measurements and status information from ecologPro devices |
2 | TCP | 1883 | Pushing measurements and status information to RabbitMQ broker |
UDP | 1883 | RBR time synchronization service | |
3 | TCP | 502 | Configuring and pulling measurements and status information from Apex Particle Counter devices |
4 | TCP | 2101 | Configuring and pulling measurements and status information from ecologNET devices |
5 | TCP | Default: 10001 | elproMONITOR configuration |
6 | TCP | 1433 | Application SQL database connection |
7 | TCP | 80/443/81 | Client access to elproMONITOR, elproUSER and webAccess applications |
8 | TCP | 443 | Sending e-mail notifications via Office 365โs Graph Api |
9 | TCP | 587 | Sending e-mail notifications via a configured SMTP server |
10 | TCP | 22123 | Initial configuration for RBR devices |
11 | UDP | 30718 | Initial configuration for LBR devices |
4.1.2.4. Firewall Rules
Application Server
Dedicated webserver is not supported therefore Port 8000 should be closed as opposed to previous versions
Requires tcp port 443 to be open (https), optionally port 80 (http) and 81 (WebAccess).
Requires tcp port 1883 (MQTT) for RBR devices to be able to push messages to RabbitQq, this port is configurable in RabbitMQ configuration and ElproMonitor database.
Requires udp port 1883 for RBR devices to synchronize time with the Application server. This port follows the previous one, just uses udp protocol.
Optionally tcp port 15672 could be opened to give access to RabbieMQโs web management interface.
EcologPro LBR
EcologPro LBR devices are accessed through the default modbus tcp port 502.
EcologPro RBR
EcologPro RBR devices are initially configured with the Radio Configurator tool via tcp port 22123.
Apex Particle Counter
Apex Particle Counters are accessed through the default modbus tcp port 502.
EcologNet
EcologNet devices are accessed through tcp port 2101.
SMS modem
The tcp connection parameters for the SMS modem are configured inside ElproMonitorโs Settings/SMS page.
SQL Database
For the SQL database connection the default tcp port 1433 is used, it is configured inside a connection string under ElproMONITORโs install folder, appsettings.json file.
ElproMonitor Management Toolโs Test Connection function also uses tcp port 1433 to check the connection via the provided configuration.
Graph Api
ElproMonitor (Application server) needs access to the world wide web in case e-mail notifications are configured to use Microsoftโs Office 365 Graph Api under Settings/E-Mail page.
SMTP server
When SMTP E-mail notification is configured in ElproMonitor Settings/E-Mail page, ElproMonitor needs access to the SMTP server configured on the page.
4.2 IIS Installation
IIS must be installed on the computer on which the web application is to run.
Start Server Manager.
Right-click Roles โ Add Roles in order to start the Add Roles Wizard.
Depending on the version of the Windows Server, select Installation Type โ Rolebased or feature based installation
Select Web Server (IIS).
Use the following Settings in the Role services section.
Web Server
Common HTTP Features
Static Content
Default Document
Directory Browsing
HTTP Errors
Application Development
ASP.NET (3.5 und 4.5) - only ECOLOG NET relevant
.NET Extensibility (3.5 und 4.5) - only ECOLOG NET relevant
ISAPI Extensions
ISAPI Filters
Health and Diagnostics
HTTP Logging
Request Monitor
Security
Request Filtering
Performance
Static Content Compression
Management Tools
IIS Management ConsoleInstall additional IIS modules
Download and install URL Rewrite module URL Rewrite : The Official Microsoft IIS Site at the bottom of the page, x64 installer
Download and install Application Request Routing module Application Request Routing : The Official Microsoft IIS Site at the boottom of the page, x64 installer
NET Framework 8.0 is required. Installation packages of .NET Hosting Bundle and Desktop Runtime are included in the installation package.
4.2.2. Windows Update
Execute Windows Update to ensure that all patches are installed for the .NET Framework.
4.3. MS SQL Server
4.3.1. Basic Installation (for example, with MSSQL 2019 Full Version)
Start SQL Server Installer.
Left-click Installation.
Select New SQL Server stand-alone installation.
Click through the licensing instructions and confirmations.
SQL Server Feature Installation
Select
Database Engine Services
Management tools โ Basic
Management Tools - Complete
Define server instance.
e.g. Default instance, InstanceID ELPRODBSERVERIn the section Server Configuration under Service Account, set the Startup Type of the SQL Server Browser to Automatic.
In the section Database Engine Configuration under Server Configuration โ Authentication Mode, select the option Mixed Mode (SQL Server authentication and Windows authentication) and define a password for โSAโ users.
Click through to Installation and then close.
Start SQL Server Configuration Manager.
Navigate to SQL Server Network Configuration โ Protocols for MSSQLSERVER and check if TCP/IP is set to Enabled.
Double-click on TCP/IP to open Properties.
a Change to the IP Addresses tab and in the section IP2, check the following settings and adapt, if necessary:
IP Address: <Server IP address>
TCP Dynamic Ports: <empty>
TCP Port: 1433If changes to the settings have been made, save them by clicking Apply.
Close SQL Server Configuration Manager and reboot the Windows Server.
4.4. Copy Program and Webclient files
Source directory | Destination directory | Comment |
---|---|---|
<Setupdirectory>\Program Files\elproMONITOR <Versionnumber> | <Programdirectory>\elproMONITOR <Versionnumber> | ย |
<Setupdirectory>\Program Files\elproEVENT <Versionnumber> | <Programdirectory>\elproEVENT <Versionnumber> | ย |
<Setupdirectory>\Program Files\elproUSER <Versionnumber> | <Programdirectory>\elproUSER <Versionnumber> | ย |
<Setupdirectory>\websites\elproUSER | <Webapplicationsdirectory>\elproUSER | On the same machine where IIS has been installed. |
4.5. Installing Redistributables
4.5.1. Installation MSVC 2013 Redistributables
Execute โฆ\Setup Files\MSVC 2013 Redistribuatable\vcredist_x64.exe.
Select the checkbox "I agree to the license terms and conditions" and press Install.
The redistributable is installed. After installation, confirm with Close.
4.5.2. Installation MSVC 2015 Redistributables
Execute directory โฆ\Setup Files\ MSVC 2015 Redistribuatable \vc_redist.x64.exe.
Select the checkbox "I agree to the license terms and conditions" and press Install.
The redistributable is installed. After installation, confirm with Close.
4.6. RabbitMQ Installation
Find these prerequisite installation files in the Release package or download here:
RabbitMQ 3.13.3 - download from Releases ยท rabbitmq/rabbitmq-server
Erlang/OTP 26.2.5 - download from Index
4.6.1. Install Erlang/OTP
Download the installer and run the exe file. Installer wizard help you through the install process.
4.6.2. Install RabbitMQ
The configuration of the RabbitMQ database is saved in elproMONITOR SQL.
Therefore, all configurations are re-read and entered into the RabbitMQ database when the service is reinstalled and restarted.
Recommendation to rename the existing folder C:\ProgramData\ELPRO\RabbitMQ to C:\ProgramData\ELPRO\RabbitMQ_Old.
If everything works correctly delete the C:\ProgramData\ELPRO\RabbitMQ_Old folder
Enable the RabbitMQ Management web interface and MQTT
"c:\Program Files\RabbitMQ Server\rabbitmq_server-3.13.3\sbin\rabbitmq-plugins.bat" enable rabbitmq_management
"c:\Program Files\RabbitMQ Server\rabbitmq_server-3.13.3\sbin\rabbitmq-plugins.bat" enable rabbitmq_mqtt
"c:\Program Files\RabbitMQ Server\rabbitmq_server-3.13.3\sbin\rabbitmq-service.bat" stop
"c:\Program Files\RabbitMQ Server\rabbitmq_server-3.13.3\sbin\rabbitmq-service.bat" start
4.6.3. Apply the advanced configurations
Stop the service
"c:\Program Files\RabbitMQ Server\rabbitmq_server-3.13.3\sbin\rabbitmq-service.bat" stop
Copy the file RabbitMQ.conf from installation package to destination folder.
destination folder:c:\Programdata\ELPRO\RabbitMQ
Start the service
"c:\Program Files\RabbitMQ Server\rabbitmq_server-3.13.3\sbin\rabbitmq-service.bat" start
4.6.4. Settings to set in elproMONITORโs database (dbo.Settings table)
Default values are shown below:
RabbitMQPortAMQP 5672 unencrypted or 5671 encrypted
RabbitMQPortMQTT 1883 unencrypted or 8883 encrypted
RabbitMQUsername <username for elproMONITOR connection>
RabbitMQPassword <password for elproMONITOR connection>
4.6.5. Create the RabbitMQ users for elproMONITOR and the MQTT Plugin
Use the following snippet to create new users in RabbitMQ with the right permissions for the default vhost '/'
rabbitmqctl.bat add_user "username" "password"
rabbitmqctl.bat set_permissions -p / "mqtt-anonymous-user" ".*" ".*" ".*"
Create the elproMONITOR user defined in 4.6.5
Create the MQTT user defined in the rabbitmq.conf file in 4.6.4
4.6.6. Nice to know: Configure RabbitMQ manually
4.6.7 Setting up the External Api
Create a virtual host dedicated for the External Api
Open >> RabbitMQ management interface - http://<IP-Address>:15672
Navigate to the Admin tab, and click Virtual Hosts on the right side menu
Open the Add a new virtual host swimlane
Write externalapi inside the Name field, then click the Add virtual host button
The name of the new virtual host dedicated for the External Api has to match with the ExternalApiVirtualHost setting (defaults to externalapi) in dbo.OrganizationSettings table inside elproMONITORโs database
Create the new user for the above created virtual host (change credentials if needed)
rabbitmqctl.bat add_user "external-api-user" "Password1234"
rabbitmqctl.bat set_permissions -p externalapi "external-api-user" ".*" ".*" ".*"
This user is set up to be an administrator and has management access. Permissions and tags have to be fine-tuned.
Create the exchanges
Open the >> RabbitMQ management interface - http://<IP-Address>:15672
Navigate to the Exchanges tab, and add the following exchanges:
Virtual host: externalapi
Name: ex.elproMONITOR
Type: topic
Durability: durable
Auto-delete: false
Internal: false
Arguments: empty
In order for the External Api to send messages, additionally the ExternalApiEnableV1 setting has to be set to True in dbo.OrganizationSettings table inside elproMONITORโs database
5. Creating Databases
5.1 Create Application-Specific DB Logins
Start SQL Server Management Studio and login to the database as DB Administrator.
Create Login names:
elproMonitorDBUser
elproEventDBUser
elproUserDBUser
5.1.2. Procedure to create new Login names
Carry out these 5 steps for each of the three Login names.
Right-click <server name> โ Security โ Logins โ New Loginโฆ to open the window to create a new user.
Select the option SQL Server authentication, enter <Login name> under Login name:, and enter a password (e.g. elpro).
Alternatively select Windows authentication and then select the required Windows User. Finally omit the next two steps.Untick the following checkbox:
User must change password at next login
IF THE OPTION "ENFORCE PASSWORD EXPIRATION" IS SELECTED, IT MAY CAUSE THE APPLICATION TO FREEZE IF YOU FAIL TO CHANGE THE PASSWORD IN GOOD TIME.
4. Left-click on Server Roles and tick the checkboxes for public in the list.
ย 5. Create login by clicking OK.
5.2. Setting up elproMONITOR
5.2.1. Create the New elproMONITOR Database
Start SQL Server Management Studio and login to the database as DB Administrator.
Right-click Databases โ New Database.
Enter the database name under Database name. (e.g. elproMONITOR)
If required, change DB Owner and the memory location for the database file and the database logfile (under Path).
Create database by clicking on OK.
5.2.2. Create New Main User in elproMONITOR Database
Start SQL Server Management Studio and connect to the database as DB Administrator.
Right-click <server name> โ Databases โ <elproMONITOR> โ Security โ Users โ New Userโฆ to open the window to create a new user
Define the database user on the General page. As login name, use the previously entered, application-specific login name for elproMONITOR.
User type | SQL user with login |
User name | elproMonitorDBUser |
Login name | elproMonitorDBUser |
Default schema | dbo |
In the list on the Membership page, select the entries db_datareader and db_datawriter.
Create User by clicking OK.
5.2.3. Create Database Schema
Start SQL Server Management Studio and login to the database as DB Administrator.
Double-click on elproMonitor_<version>.zip/support-tools/database/MonitorSchema.sql to open.
Click in the window of the open script. Call Query โ Specify Values for Templates Parametersโฆ(Ctrl+Shift+M) and enter the name of the previously created database. (e.g.: DatabaseName elproMONITOR)
Close the Template Parameters window by clicking OK.
Click Execute(F5) to execute the script.
5.2.4 Remove Duplicate Null Measurements (Gap filler)
for installing a brand new eM 3.x version with a clean database:
nothing is required to be run manually after executing MonitorSchema.sql as the original issue has been fixed.