Installation Guide elproMONITOR 3.1.x
1. System Requirements
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
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 https://iis-umbraco.azurewebsites.net/downloads/microsoft/url-rewrite at the bottom of the page, x64 installer
Download and install Application Request Routing module https://www.iis.net/downloads/microsoft/application-request-routing at the boottom of the page, x64 installer
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
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 '/'
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
Create the new user for the above created virtual host (change credentials if needed)
Create the exchanges
Open the >> RabbitMQ management interface - http://<IP-Address>:15672
Navigate to the Exchanges tab, and add the following exchanges:
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
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
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.for freshly upgrading an existing older elproMONITOR installation to 3.x+ version:
ELPRO.elproMONITOR.RemoveDuplicateNullMeasurements.sql is required to be run manually after executing MonitorSchema.sql.
This script is exactly the same as the one we used for fixing an existing eM 2.2.x installation. This script is part of the installation artifact we create and can be found next to the MonitorSchema.sql file and it will delete faulty measure values with timestamp of 1900-01-01 00:01:01.000 and it will also delete faulty NULL measure values where other valid measure values are present.
5.2.5. Create elproUserDBUser in the elproMONITOR Database and Assign User Rights
Start SQL Server Management Studio and log in to the database as a DB Administrator.
Right-clickthe<servername>folderโDatabasesโ<elproMONITOR>โSecurity โUsersโNew Userโฆ to open the window for the creation of a new user.
Define the database user on the General page. As login name, use the previously entered, application-specific login name for elproUSER.
User type | SQL user with login |
User name | elproUserDBUser |
Login name | elproUserDBUser |
Default schema | dbo |
On the Securables page, click Searchโฆ.
In the following Add Objects window, select the option Specific objectsโฆ and click OK.
In the following Select Objects window, click top right on the button Object Typesโฆ, tick the checkbox in Tables in the new Select Object Types window, and close the window by clicking OK.
Back in the Select Objects window, right-click on Browseโฆ. In the new Browse for Objects window appearing, tick the following checkboxes:
[dbo].[Applications]
[dbo].[FunctionNames]
[dbo].[Functions]
[dbo].[Languages]
[dbo].[Resources]
Click OK to close the Browse for Objects and the Select Objects windows.
Under Permissions for dboโฆ.: tick the checkbox for Grant for these 5 tables in the following entries:
Select
View DefinitionCreate User by clicking OK.
5.3. Setting up elproEVENT
5.3.1. Create New elproEVENT 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.: elproEVENT)
If required, change DB Owner and the memory location for the database file and the database logfile (under Path).
Create database by clicking OK.
5.3.2. Create New Main User in elproEVENT Database
Start SQL Server Management Studio and log in to the database as a DB Administrator.
Right-click the <server name> folder โ Databases โ <elproEVENT> โ Security โ Users โ New Userโฆ to open the window for the creation of a new user.
Define the database user on the General page. As login name, use the previously entered, application-specific login name for elproEVENT.
User type | SQL user with login |
User name | elproEventDBUser |
Login name | elproEventDBUser |
Default schema | dbo |
In the list on the Membership page, select the entries db_datareader and db_datawriter.
Create User by clicking OK.
5.3.3. Create Database Schema
Start SQL Server Management Studio and login to the database as DB Administrator.
Double-click on<Setupdirectory>\Setup Files\SQLScripts\EVENTSchema2015.2.P5.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. elproEVENT)
Close the Template Parameters window by clicking OK.
Click Execute (F5) to execute the script.
5.3.4. Create elproUserDBUser in the elproEVENT Database
Start SQL Server Management Studio and login to the database as DB Administrator.
Right-click the <server name> folder โ Databases โ <elproEVENT> โ Security โ Users โ New Userโฆ to open the window for the creation of a new user.
Define the database user on the General page. As login name, use the previously entered, application-specific login name for elproUSER.
User type | SQL user with login |
User name | elproUserDBUser |
Login name | elproUserDBUser |
Default schema | dbo |
On the Securables page, click Searchโฆ.
In the following Add Objects window, select the option Specific objectsโฆ and click OK.
In the following Select Objects window, click top right on the button Object Typesโฆ, tick the checkbox in Tables in the new Select Object Types window, and close the window by clicking OK.
Back in the Select Objects window, right-click on Browseโฆ. In the new Browse for Objects window application-specific login name for elproUSER.
[dbo].[Applications]
[dbo].[FunctionNames]
[dbo].[Functions]
[dbo].[Languages]
[dbo].[Resources]
Click OK to close the Browse for Objects and the Select Objects windows.
Under Permissions for dboโฆ.: tick the checkbox for Grant for these 5 tables in the following entries:
Select
View DefinitionCreate User by clicking OK.
5.4. Setting up elproUSER
5.4.1. Setting up elproUSER
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. elproUSER)
If required, change DB Owner and the memory location for the database file and the database logfile (under Path).
Create database by clicking OK.
5.4.2. Create New Main User in elproUSER Database
Start SQL Server Management Studio and log in to the database as a DB Administrator.
Right-click the <server name> folder โ Databases โ <elproUSER> โ Security โ Users โ New Userโฆ to open the window for the creation of a new user.
Define the database user on the General page. As login name, use the previously entered, application-specific login name for elproEVENT.
User type | SQL user with login |
User name | elproUserDBUser |
Login name | elproUserDBUser |
Default schema | dbo |
In the list on the Membership page, select the entries db_datareader and db_datawriter.
Create User by clicking OK.
5.4.3. Create Database Schema
Start SQL Server Management Studio and login to the database as DB Administrator.
Double-click on<Setupdirectory>\Setup Files\SQLScripts\USERSchema2021.3.P5.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. elproUSER)
Close the Template Parameters window by clicking OK.
Click Execute (F5) to execute the script.
6. Installation and Configuration
The following sections must be executed as Windows Administrator:
>> 6.1. Setup Windows Event Display for elproEVENT
>> 6.2. Setting up the elproMONITOR Web Application
>> 6.3. Setting up the elproUSER Web Application
>> 6.4 Creating and Configuring Dedicated Windows UserIf a dedicated Windows user is created to execute the elproUSER and elproEVENT programs (>> 6.4 Creating and Configuring Dedicated Windows User), the steps from >> 6.5 Configurations Using the elproMONITOR Management Tool can be executed via login with this user.
6.1. Setup Windows Event Display for elproEVENT
Open Windows Powershell (powershell.exe) (by right-clicking โ Run as administrator).
Enter the following command: New-EventLog -LogName Application -Source "elproEVENT Library"
6.2. Setting up the elproMONITOR Web Application
6.2.1. Set up elproMONITOR Service
As preparation, create the configuration directory.
e.g. C:\ProgramData\ELPRO\License
Execute the batch processing file <Programdirectory>\elproMONITOR<Versionnumber>\MonitorService\Install.bat (by right-clicking โ Run as administrator).
Complete the requests for required values in the prompt. Only enter a name without spaces for Service Name.
Example for cmd prompt | Please enter the Service name (no spaces allowed): elproMONITOR |
Wait until the installation is complete and the prompt displays the following feedbacks:
CreationService SUCCESS
ChangeServiceConfig2 SUCCESSOpen the start menu, and start typing regedit and start the Registry Editor (regedit.exe)
Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\elproMONITOR (this should match with the name of the service installed before)
Inside the main area right click and choose New โ Multi-String Value, name it Environment
Double click the created key and write ASPNETCORE_ENVIRONMENT=Production inside the Value data area
Press Ok, an error message-like window might appear, ignore it
By default elproMONITOR service is listening on http://localhost:5000/ both on IPv4 127.0.0.1:5000 and IPv6 [::1]:5000 if it manages to find corresponding loopback interfaces
Generally we should prefer IPv4 to simplify the routing configuration, also we might desire that elproMonitor only listens on a specific interface and address, in this case refer to
You can check binded ports using โnetstat -onaโ in powershell, you should see elproMonitor listening on the defined port
You can test whether elproMonitor is working by navigation to this url with a browser on localhost, the application should load and appear
6.2.1.1. Run elproMONITOR service on a different port
Navigate to elproMONITOR install folder (usually C:\Program Files\elproMONITOR), and open the appsettings.Production.json for editing
Note that there are multiple appsettings file, the application merges the plain appsettings.json file with the one setup in ASPNETCORE_ENVIRONMENT environment variable, e. g. ASPNETCORE_ENVIRONMENT=Production => appsettings.json and appsettings.Production.json is merged to provide the configuration
Add the following line to the top of the appsettings.Production.json file: "Urls": "http://127.0.0.1:12345",
Alternatively you can provide the desired ip address, so the service wonโt listen on every available interface with assigned IPv4 address on the machine e. g. "Urls": "http://192.168.1.189:12345โ,
Note that there is a comma behind the added line, and there is no comma after the last line / closing bracket
ย
Restart elproMONITOR service
You can check binded ports using โnetstat -onaโ in powershell, you should see elproMonitor listening on the defined port
6.2.2. Set up Web Client (IIS)
6.2.2.1. Configure IIS
Start IIS Manager (inetmgr.exe).
Double-click to expand the <System Servername> of the Connections list.
Expand Sites by double-clicking.
Rename the entry from Default Web Site to elproMONITOR
Path: C:\inetpub\wwwroot
Right-click Sites โ Add Web Site โฆ
The remaining values may be left with the default values.
Optional: The settings for Type, IP address, Port and Host name can be changed as required, (for example multi-tenant capability across various ports, connection to DNS, etc.)
Exit the configuration and create new website by clicking OK.
6.2.2.2. Configure the reverse proxy
Click on the top node (the actual server) inside the server tree area on the left side.
In the main area double click Application Request Routing Cache
In the right area new Actions should appear, click Server Proxy Settingsโฆ
Check the Enable proxy checkbox and click Apply on the right side inside the Actions pane
Navigate back to the Site created in the previous step
Double click the URL Rewrite module
Click Add Rule(s)โฆ inside the Actions pane on the right side
Selecte Reverse Proxy and hit Ok
In the first input field enter the address where elproMONITOR service is listening, configured in a previous step (usually http://localhost:5000/)
Make sure Enable SLL Offloading checkbox is checked then hit Ok
6.3. Setting up the elproUSER Web Application
6.3.1. Set up the elproUSER Service
As preparation, create the configuration directory.
e.g.C:\ProgramData\ELPRO\License
Execute the batch processing file <Programdirectory>\elproUSER<Versionnumber>\Install.bat (by right-clicking โ Run as administrator).
Complete the requests for required values in the prompt. Only enter a name without spaces for Service Name.
Example of the command prompt | Please enter the Service name (no spaces allowed): elproUSER |
Wait until the installation is complete and the prompt displays the following feedbacks:
CreationService SUCCESS
ChangeServiceConfig2 SUCCESS
6.3.2. elproUSER Set up API (IIS)
6.3.2.1. Preparation
Open file <Webapplicationdirectory>\elproUSER API\Web.config in Text Editor.
e.g. C:\programdata\ELPRO\websites\elproUSER\WebApi\Web.configAdditional step if the Web API is running on a different machine to the Service. (The connection from the web application to the elproUSER service is defined via WcfBaseAddress.)
Search for key="WcfBaseAddress". The value of the associated attribute must be adjusted as follows. If the web application and the Service are not run on the same computer, the IP address must be set to the value of the elproUSER Service computer.
The default port number (8001) can be optionally changed. If the default port number is changed, this must also be changed in the elproUSER table: Setting entry Keyname WcfBaseAddress.
e.g. <add key="WcfBaseAddress"value="net.tcp://<Adresse>:<PortNumber>"/>Save the changes.
6.3.2.2. Configure IIS
Start IIS Manager (inetmgr.exe).
Double-click to expand the <System Servername> of the Connections list.
Expand Sites by double-clicking.
Right-click on elproMONITOR โ Add Application โฆ
Under Alias:, enter a name for the API and under Physical path:, enter the path to the web application directory.
e.g. Alias: user-api, Physical path: C:\programdata\ELPRO\websites\elproUSER\WebApiExit the configuration and create the new alias by clicking OK.
Navigate to the Site created in a previous step
Double click the URL Rewrite module
Click Add Rule(s)โฆ inside the Actions pane on the right side
Select Blank rule then hit Ok
Name the Inbound Rule e.g. user-api
Put the following pattern in the Pattern input: ^user-api(.*)
Inside the Action group, select None from the Action type dropdown
Make sure the Stop processing of subsequent rules checkbox is checked
Click Apply then Back to Rules on the right side inside the Actions pane
Make sure that the new user-api rule we have just created is at the top of the list in the main area of the window
If this is not the case, then select the newly created user-api rule and click Move Up on the right side inside the Actions pane
Confirm the action by clicking Yes in the popup window
Repeat this step until the user-api rule is at the top of the list
elproUSER Set up Client (IIS)
6.3.3.1. Preparation
Open file <Webapplicationdirectory>\elproUSER Client\config.json in Text Editor.
e.g. C:\programdata\ELPRO\websites\elproUSER\WebClient\config.jsonUnder "suffix", enter the suffix for the elproUSER API using the schema โ/User-APIโ.
If the standard port 80 is not used, enter the port of the elproMONITOR additionally under โportโ.
e.g. โportโ:ย 80,"suffix":/user-apiSave the changes.
ย 6.3.3.2. Configure IIS
Start IIS Manager (inetmgr.exe).
Double-click to expand the <System Servername> of the Connections list.
Expand Sites by double-clicking.
Right-click on elproMONITOR โ Add Application โฆ
Under Alias:, enter a name for the API and under Physical path:, enter the path to the web application directory.
e.g. Site name: elproUSER, Physical path: C:\programdata\ELPRO\websites\elproUSER\WebClientExit the configuration and create the new alias by clicking OK.
Navigate to the Site created in a previous step
Double click the URL Rewrite module
Click Add Rule(s)โฆ inside the Actions pane on the right side
Select Blank rule then hit Ok
Name the Inbound Rule e.g. elproUSER
Put the following pattern in the Pattern input: ^elproUSER(.*)
Inside the Action group, select None from the Action type dropdown
Make sure the Stop processing of subsequent rules checkbox is checked
Click Apply then Back to Rules on the right side inside the Actions pane
Make sure that the new elproUSER rule we have just created is at the top of the list in the main area of the window
If this is not the case, then select the newly created elproUSER rule and click Move Up on the right side inside the Actions pane
Confirm the action by clicking Yes in the popup window
Repeat this step until the user-api rule is at the top of the list
6.4 Creating and Configuring Dedicated Windows User
Create a Windows user with default user rights. (e.g. ElproOperator)
Read-only and write rights must be set for the configuration directory. (e.g. C:\ProgramData\ELPRO)
>> 11.2 Access Rights to Configuration Directory
6.5 Configurations Using the elproMONITOR Management Tool
The elproMONITOR Management Tool configures database connection settings for ELPRO applications.
6.5.1 Start the elproMONITOR Management Tool
Double-click on the elproMONITOR Management Tool <Setupdirectory>\Program Files\elproMONITOR ManagementTool\elproMonitorManagementTool.exe to start.
First a browser appears for you to select elproMONITORโs install directory.
e.g. C:\Program Files\elproMONITORThen you access the main dialog.
6.5.2. Configure Database Connection Settings for elproMONITOR
Under Create XML Setting, click elproMONITORโฆ.
Enter the service names and database information from the preceding installation steps in the elproMONITOR XML Settings window.
Server | <Database server address> |
Database | elproMONITOR |
Authentication | Use SQL Server Authentication |
User name | elproMonitorDBUser |
Password | elpro |
Click Test Connection to check whether the configuration you entered works.
Click Add Tenant Config and browse the folder of the tenant configuration file (usually C:\ProgramData\Elpro), click Ok
Click Save to save the configuration
6.5.3. Configure Database Connection Settings for elproEVENT
Under Create XML Setting, click elproEVENTโฆ.
Enter the service names and database information from the preceding installation steps in the elproEVENTS XML Settings window.
Server | <Database server address> |
Database | elproEVENT |
Authentication | Use SQL Server Authentication |
User name | elproEventDBUser |
Password | elpro |
Click Test Connection to check whether the configuration you entered works.
Close window.
6.5.4. Configure Database Connection Settings for elproUSER
Under Create XML Setting, click elproUSERโฆ.
Enter the service names and database information from the preceding installation steps in the elproEVENTS XML Settings window.
Server | <Database server address> |
Database | elproUSER |
Authentication | Use SQL Server Authentication |
User name | elproUserDBUser |
Password | elpro |
Click Test Connection to check whether the configuration you entered works.
Close window.
6.5.5. Load Activation and License file for elproMONITOR
Start the service elproMONITOR
Open the Login Page (Website) of elproMONITOR
Login with initial credentials (username: admin, password: elpro)
You will be prompted to load the Activation file to activate elproMONITOR
Install the Activation file
You will be forwarded to the License page of elproMONITOR to load a License file
Install the License file
6.6. elproEVENT Create Program Links
Create a link to the desktop for the application <Programdirectory>\elproEVENT<Versionnumber>\Application Folder\elproEVENT.exe.
Right-click on this link to open the Properties window.
In the Shortcut tab, go to the Target: field and add the parameter โtenant <Configurationdirectory>
e.g. "C:\Program Files\elproEVENT<VersionNumber>\Application Folder elproEVENT.exe" -tenant "C:\ProgramData\ELPRO\License"
7. Multi-Tenant System Setup
8. System Settings
System settings may be made in the following databases. Usually, settings only need to be made once and are therefore not included in the Settings.
8.1. Settings elproMONITOR
8.1.1. Migration from earlier version
Old database setting key (was removed from database) | Configuration key (was added to appsettings.json) | Default value |
---|---|---|
GraphApiAuthorityUrl | GraphApiAuthorityUrl | |
GraphApiBaseUrl | GraphApiBaseUrl | |
GraphApiScope | GraphApiScope | |
ElectronicSignatureLoginRequired | ElectronicSignatureLoginRequired | false |
ReloadDelayMs | ReloadDelayMs | 1000 |
AutoLogin | AutoLogin | false |
SessionTimeout | SessionTimeoutMinutes | 20 |
PollingInterval | PollingIntervalms | 15000 |
MaxAnalysisSensors | MaxAnalysisSensors | 25 |
MaxCalibrationSensors | MaxCalibrationSensors | 50 |
CalibrationTimeoutInHours | CalibrationTimeoutInHours | 18 |
ElectronicSignature | ElectronicSignature | true |
ReportTimeoutMinutes | ReportTimeoutMinutes | 20 |
LongTermProcessTimeoutMinutes | LongTermProcessTimeoutMinutes | 20 |
ElproUserUri | ElproUserUri | โโ |
EcologProBaseMaintenanceUri | EcologProBaseMaintenanceUri | โโ |
EcologProBaseVersion | EcologProBaseVersion | false |
ElproSupportTicketUri | ElproSupportTicketUri | |
LaunchApplicationTimeout | LaunchApplicationTimeout | "00:01:00" |
LoggerConnectTimeoutMs | LoggerConnectTimeoutms | 2000 |
LoggerConnectRetryCount | LoggerConnectRetryCount | 3 |
LoggerReadTimeoutMs | LoggerReadTimeoutms | 2000 |
LoggerReadRetryCount | LoggerReadRetryCount | 3 |
LoggerReconnectDelayMs | LoggerReconnectDelayms | 2000 |
EcologNetNoConnectionTimeRangeDays | EcologNetNoConnectionTimeRangeDays | 14 |
PerformaceLogHistoryLengthDays | PerformaceLogHistoryLengthDays | 7 |
UseIpV6 | UseIpV6 | false |
DbTimeoutSeconds | DbTimeoutSeconds | 30 |
AlarmInterfaceTimeoutMs | DigitalOutputTimeoutms | 2000 |
AlarmInterfaceRetryCount | DigitalOutputRetryCount | 3 |
DOWatchdogTimeOutInSeconds | DOWatchdogTimeOutInSeconds | 60 |
ConnectionFibonacciDelays | ConnectionFibonacciDelays | [ 0 ] |
ValuesToBeDeletedPerMinute | ValuesToBeDeletedPerMinute | 1000 |
MeasurementProcessingMvQueryPartitionSize | MeasurementProcessingMvQueryPartitionSize | 20000 |
ReloadingOldestMeasureRawValuesInDays | ReloadingOldestMeasureRawValuesInDays | 365 |
CalibrationProcessRawValueAmount | CalibrationProcessRawValueAmount | 1000 |
NoConnectionValueFillerIntervalInDays | NoConnectionValueFillerIntervalInDays | 365 |
NoConnectionValueFillerTimeRangeInHours | NoConnectionValueFillerTimeRangeInHours | 1 |
NoConnectionValueFillerNumberOfIterations | NoConnectionValueFillerNumberOfIterations | 12 |
SaveRawValueBatchSize | SaveRawValueBatchSize | 5000 |
SaveRawValueCronJobIntervalSec | SaveRawValueCronJobIntervalSec | 2 |
EcologNetDataArrivalWaitingTimeSeconds | EcologNetDataArrivalWaitingTimeSeconds | 90 |
EcologProDataArrivalWaitingTimeSeconds | EcologProDataArrivalWaitingTimeSeconds | 90 |
EcologProPushDataArrivalWaitingTimeSeconds | EcologProPushDataArrivalWaitingTimeSeconds | 210 |
ParticleCounterDataArrivalWaitingTimeSeconds | ParticleCounterDataArrivalWaitingTimeSeconds | 120 |
EcologNetMaximumParallelReloadingProcesses | EcologNetMaximumParallelReloadingProcesses | 50 |
LengthOfInspectedReloadingTimeRangeInDays | LengthOfInspectedReloadingTimeRangeInDays | 14 |
LengthOfInspectedAlarmCountsInDays | LengthOfInspectedAlarmCountsInDays | 30 |
DetailedPerformanceTelemetryLengthDays | DetailedPerformanceTelemetryLengthDays | 28 |
DetailedPerformanceTelemetryChunkCount | DetailedPerformanceTelemetryChunkCount | 4 |
8.1.2. Table "Setting" Section "Emailโ
Old database setting key | New database settings key | Group name | Default value | ย Description |
---|---|---|---|---|
AuthenticationMethod | AuthenticationMethod | Smtp | Specifies the authentication method. The mails can be sent using Microsoftโs Graph Api (setting: โAzureโ) or using an Smtp server (setting: โSmtpโ) | |
AzureClientId | AzureClientId | <empty> | Client Id for Microsoft Graph Api authentication | |
AzureClientSecret | AzureClientSecret | <empty> | Client secret for Microsoft Graph Api authenticaion | |
AzureClientSecretId | AzureClientSecretId | <empty> | Client secret id for Microsoft Graph Api authenticaion | |
AzureTenant | AzureTenant | <empty> | Azure Tenantโs id for Microsoft Graph Api authenticaion | |
Enabled | QueueEnabled | True | Determines if mail send queue is enabled or not | |
Enabled | KeepAliveEnabled | False | Determines if the keep alive service enabled or not | |
KeepAliveInterval | KeepAliveInterval | 90.00:00:00 | Time interval between sending messages (days) | |
MaxQueueTimeHours | QueueMaximumQueueTimeHours | 24 | Maximum time in hours messages spend in a queue | |
MessageSendTime | KeepAliveMessageSendTime | 12:00:00 | The time of day when the message should be sent | |
Password | Password | <empty> | Password for Smtp server | |
RecipientId | KeepAliveRecipientId | <empty> | Id of entry in the database table Recipient | |
RepeatIntervalMinutes | QueueRepeatTimeIntervalMinutes | 10 | Repetition period of messaging attempts in minutes | |
SenderAddress | SenderAddress | <empty> | Senderโs address | |
SenderName | SenderName | <empty> | Senderโs name | |
ServerAddress | Address | <empty> | Smtp serverโs address | |
ServerPort | Port | 25 | Smtp serverโs port | |
ServerRequiresAuthentication | RequiresAuthentication | False | Specifies whether the Smtp Server requires authentication or not | |
ServerRequiresSecureConnection | RequiresSecureConnection | False | Specifies whether the Smtp Server requires secure connection or not | |
UserName | UserName | <empty> | Userโs name for Smtp server |
8.1.2. Table "Setting" Section "Smsโ
Old database setting key | New database settings key | Group name | Default value | ย Description |
---|---|---|---|---|
BaudRate | BaudRate | Sms | 0 | Baud rate set to communicate with the SMS modem. The default value is 57600. |
ComPort | ComPort | Sms | 0 | COM port set to communicate with the SMS modem. |
Enabled | QueueEnabled | Sms | True | Determines if mail send queue is enabled or not |
Enabled | KeepAliveEnabled | Sms | False | Determines if the keep alive service enabled or not |
IpAddress | IpAddress | Sms | <empty> | SMS modem IP Address |
KeepAliveInterval | KeepAliveInterval | Sms | 90.00:00:00 | Time interval between sending messages (days) |
MaxQueueTimeHours | QueueMaximumQueueTimeHours | Sms | 24 | Maximum time in hours messages spend in a queue |
MessageSendTime | KeepAliveMessageSendTime | Sms | 12:00:00 | The time of day when the message should be sent |
ModemType | ModemType | Sms | None | SMS modem Type |
Port | Port | Sms | 0 | SMS modem port |
RecipientId | KeepAliveRecipientId | Sms | <empty> | Id of entry in the database table Recipient |
RepeatIntervalMinutes | QueueRepeatTimeIntervalMinutes | Sms | 10 | Repetition period of messaging attempts in minutes |
SimCardPin | SimCardPin | Sms | <empty> | Access code of the SIM card (PIN or PUK). |
8.1.3. Table "Setting" Section "Applicationโ
Old database setting key | New database settings key | Group name | Default value | Description |
---|---|---|---|---|
InstallationDate | InstallationDate | Application | First installation date | First installation date |
OrganisationId | RbrOrganizationId | Application | <empty> | Uniqe Id (number) of the tenant organisationId (autogenerated, do not change) |
RabbitMqClientCertificatePassphrase | RabbitMqClientCertificatePassphrase | Application | <empty> | RabbitMQ Client Certificate passphrase |
RabbitMqClientCertificatePath | RabbitMqClientCertificatePath | Application | <empty> | RabbitMQ Client Certificate path |
RabbitMQHostname | RabbitMQHostname | Application | localhost | Name of the RabbbitMQ host |
RabbitMQIgnoredSslPolicyErrors | RabbitMQIgnoredSslPolicyErrors | Application | None | Set of TLS policy (peer verification) errors that are deemed acceptable |
RabbitMQMeasurementConsumerCount | RabbitMQMeasurementConsumerCount | Application | 5 | Number of consumers to consume measurement values |
RabbitMQMeasurementConsumerDispatchConcurrency | RabbitMQMeasurementConsumerDispatchConcurrency | Application | 50 | Values greater than 1 enable concurrent processing. These higher values will be offloaded to the worker thread pool so it is important to choose the value for the concurrency wisely to avoid thread pool overloading |
RabbitMQPassword | RabbitMQPassword | Application | guest | Chosen password for RabbitMQ |
RabbitMQPortAMQP | RabbitMQPortAMQP | Application | 5672 | AMQP port |
RabbitMQPortMQTT | RabbitMQPortMQTT | Application | 1883 | MQTT port |
RabbitMQUsername | RabbitMQUsername | Application | guest | Chosen user name for RabbitMQ |
RabbitMQUseTLS | RabbitMQUseTLS | Application | False | Specifies whether the usage of TLS is allowed for RabbitMQ or not |
RabbitMQVirtualHost | RabbitMQVirtualHost | Application | / | Name of RabbitMQ virtual host |
RecipientId | SystemAlertRecipientId | Application | <empty> | Recipient profile id for the System Issues |
SystemName | SystemName | Application | <empty> | Specifies the name of the system - user fills it in |
8.1.4. Table "OrganizationSettings" Section "Applicationโ
Old database setting key | New database settings key | Group name | Default value | Description |
---|---|---|---|---|
AutomaticIoModuleCreation | AutomaticIoModuleCreation | Application | True | Adding Io modules automatically after pairing |
AutomaticSensorCreation | AutomaticSensorCreation | Application | False | Adding a sensor automatically after pairing |
AutomaticSensorCreationGroupName | AutomaticSensorCreationGroupName | Application | Auto-generated | Group name for the automatically created sensors |
AutomaticSensorCreationInputState | AutomaticSensorCreationInputState | Application | Deactivated | State of the automatically created sensor |
AutomaticSensorCreationIntervalMinutes | AutomaticSensorCreationIntervalMinutes | Application | 10 | Interval in minutes for automatically created sensors |
BadSnrValue | BadSnrValue | Application | 10 | Industrial Standard for bad signal to ratio value |
CalibrationColor | CalibrationColor | Application | #fadcc5 | Background color for calibration period |
CalibrationColorOpacity | CalibrationColorOpacity | Application | 100 | Opacity of background color for calibration period |
ChartColors | ChartColors | Application | #0000ff;#008000;#ff0000;#00c0c0;#ff00ff;#c0c000;#000080;#00ff02;#800000;#ff8000 | Chart color for sensors |
CommentTextRequired | CommentTextRequired | Application | True | The user must enter a comment when acknowledging a deviation |
CriticalDeviceErrorCycleCount | CriticalDeviceErrorCycleCount | Application | 3 | Number of cycles for deviation of critical device errors |
DateFormat | DateFormat | Application | dd.MMM.yyyy | Date Format |
DeactivatedColor | DeactivatedColor | Application | #e1e1e1 | Background color for sensor alarm deactivated |
DeactivatedColorOpacity | DeactivatedColorOpacity | Application | 100 | Opacity of background color for sensor alarm deactivated |
DeleteButtonActive | DeleteButtonActive | Application | False | Delete function for sensors and digital inputs is activated |
EnableHardDeletionOfSensors | EnableHardDeletionOfSensors | Application | False | Determines if the hard deletion of sensors feautre is enabled or not |
ExportPdfFilenameForAllSensors | ExportPdfFilenameForAllSensors | Application | %TimestampUTC%;%ScheduleTaskName% | File name when the automatically generated PDF report contains all selected sensors |
ExternalApiVirtualHost | ExternalApiVirtualHost | Application | externalapi | Virtual Host for the ExternalApi created in RabbitMq |
ExternalApiEnableV1 | ExternalApiEnableV1 | Application | False | Enable the ExternalApi to send messages |
FirstDayOfWeek | FirstDayOfWeek | Application | Server localization dependent | Sunday is defined as the first day of the week (Sunday or Monday, depending on the country setting of the server |
Language | Language | Application | en | The language setting is used for Audit Trail entries, deviation messages, and automatic reports |
MaxDataSafetyClearanceMonths | MaxDataSafetyClearanceMonths | Application | 24 | Maximum number of months for data safety clearance period |
MaxSnrValue | MaxSnrValue | Application | 100 | Maximum signal to noise ratio value |
MinSnrValue | MinSnrValue | Application | 0 | Minimum signal to noise ratio value |
MktActivationEnergyKjMol | MktActivationEnergyKjMol | Application | 83.14 | Activation energy for MKT calculation |
MustConfirmAlarms | MustConfirmAlarms | Application | True | Alarm must be acknowledged |
MustConfirmWarnings | MustConfirmWarnings | Application | True | Warning must be acknowledged |
NumberDecimalSeparator | NumberDecimalSeparator | Application | Server localization dependent | Delimiter character for floating point numbers |
NumberOfAcknowledgements | NumberOfAcknowledgements | Application | 1 | "Four-eyes-principle" number of acknowledgements needed for a deviation |
ReloadedColor | ReloadedColor | Application | #dae6dc | Background color for sensor values reloaded |
ReloadedColorOpacity | ReloadedColorOpacity | Application | 100 | Opacity of background color for sensor alarm reloaded |
TenantName | TenantName | Application | <empty> | Name which is displayed along with the login name to distinguish an instance |
TimestampUTCFormat | TimestampUTCFormat | Application | yyyyMMddHHmmssfff | Time stamp format |
Use24HourTimeFormat | Use24HourTimeFormat | Application | True | The 24-hour time format is used (with False, the 12-hour format is used) |
UseOnlyBasicCharactersInReports | UseOnlyBasicCharactersInReports | Application | False | Only basic characters are permitted in report file names |
ValueDateTimeSeparator | ValueDateTimeSeparator | Application | ; | Character between measurement value and date |
WeakSnrValue | WeakSnrValue | Application | 25 | Industrial Standard for bad signal to ratio value |
8.1.5. Configuration file appsettings.json
Old database setting key (was removed from database) | Configuration key (was added to appsettings.json) | Default value | Description |
---|---|---|---|
AlarmInterfaceRetryCount | DigitalOutputRetryCount | 3 | Maximum number of communication retries to the Alarm Interface |
AlarmInterfaceTimeoutMs | DigitalOutputTimeoutms | 2000 | Timeout (milliseconds) for communication to Alarm Interface |
AutoLogin | AutoLogin | false | Checkbox for Autologin function is not visible |
CalibrationProcessRawValueAmount | CalibrationProcessRawValueAmount | 1000 | Number of raw calibration values to be processed at a time |
CalibrationTimeoutInHours | CalibrationTimeoutInHours | 18 | Maximum calibration time |
ConnectionFibonacciDelays | ConnectionFibonacciDelays | [ 0 ] | Delay Numbers for connection (using Fibonacci numbers) |
DbTimeoutSeconds | DbTimeoutSeconds | 30 | Database time-out (in seconds) |
DetailedPerformanceTelemetryChunkCount | DetailedPerformanceTelemetryChunkCount | 4 | Specifies the number of parts (chunks) in which the telemetry statistics are created |
DetailedPerformanceTelemetryLengthDays | DetailedPerformanceTelemetryLengthDays | 28 | Specifies the number of past days for which telemetry statistics will be generated. |
DOWatchdogTimeOutInSeconds | DOWatchdogTimeOutInSeconds | 60 | ย |
EcologNetDataArrivalWaitingTimeSeconds | EcologNetDataArrivalWaitingTimeSeconds | 90 | Specifies how many seconds are waited before considering the measured value missing for EcologNET devices |
EcologNetMaximumParallelReloadingProcesses | EcologNetMaximumParallelReloadingProcesses | 50 | Specifies how many parallel threads can reload EcologNET devices at the same time |
EcologNetNoConnectionTimeRangeDays | EcologNetNoConnectionTimeRangeDays | 14 | Specifies how many days of data to retrieve from EcologNET devices |
EcologProBaseMaintenanceUri | EcologProBaseMaintenanceUri | โโ | URL for ECOLOG-PRO Base Maintenance software (must be specified as absolute path http://<IP address>/Maintenance or as relative path /Maintenance) |
EcologProBaseVersion | EcologProBaseVersion | false | ย |
EcologProDataArrivalWaitingTimeSeconds | EcologProDataArrivalWaitingTimeSeconds | 90 | Specifies how many seconds are waited before considering the measured value missing for EcologPro devices |
EcologProPushDataArrivalWaitingTimeSeconds | EcologProPushDataArrivalWaitingTimeSeconds | 210 | Specifies how many seconds are waited before considering the measured value missing for EcologPro Radio devices |
ElectronicSignature | ElectronicSignature | true | The user must repeat his password entry for Activate sensors alarm, Deactivate sensor alarm, and Acknowledge deviation |
ElectronicSignatureLoginRequired | ElectronicSignatureLoginRequired | false | Login Name must be entered along with the password when confirming deviations |
ElproSupportTicketUri | ElproSupportTicketUri | ย | |
ElproUserUri | ElproUserUri | โโ | URL for elproUSER software (realitve path) |
GraphApiAuthorityUrl | GraphApiAuthorityUrl | Graph Api authority url | |
GraphApiBaseUrl | GraphApiBaseUrl | Graph Api base url | |
GraphApiScope | GraphApiScope | Graph Api scope string | |
LaunchApplicationTimeout | LaunchApplicationTimeout | "00:01:00" | Waiting time during program start |
LengthOfInspectedAlarmCountsInDays | LengthOfInspectedAlarmCountsInDays | 30 | Number of days for which the alarms will be grouped in the telemetry report |
LengthOfInspectedReloadingTimeRangeInDays | LengthOfInspectedReloadingTimeRangeInDays | 14 | Number of days for which the telemetry inspects reloaded data |
LoggerConnectRetryCount | LoggerConnectRetryCount | 3 | Maximum number of connection retries to a logger |
LoggerConnectTimeoutMs | LoggerConnectTimeoutms | 2000 | Timeout (milliseconds) for logger connection |
LoggerReadRetryCount | LoggerReadRetryCount | 3 | Maximum number of retries to read out data from a logger memory |
LoggerReadTimeoutMs | LoggerReadTimeoutms | 2000 | Timeout for reading out data from a logger memory |
LoggerReconnectDelayMs | LoggerReconnectDelayms | 2000 | Delay time (milliseconds) until next connection retry to a logger |
LongTermProcessTimeoutMinutes | LongTermProcessTimeoutMinutes | 20 | Timeout for processes that last too long |
MaxAnalysisSensors | MaxAnalysisSensors | 25 | Maximum number of sensors that are displayed in the chart |
MaxCalibrationSensors | MaxCalibrationSensors | 50 | Maximum number of sensors which can be calibrated simultaneously |
MeasurementProcessingMvQueryPartitionSize | MeasurementProcessingMvQueryPartitionSize | 20000 | ย |
NoConnectionValueFillerIntervalInDays | NoConnectionValueFillerIntervalInDays | 365 | Specifies from how many days ago the system should fill in the missing data with No Connection data |
NoConnectionValueFillerNumberOfIterations | NoConnectionValueFillerNumberOfIterations | 12 | Specifies how many iterations should do the system in one cycle while filling in the missing data with No Connection data |
NoConnectionValueFillerTimeRangeInHours | NoConnectionValueFillerTimeRangeInHours | 1 | Specifies how many hours should the system process in one iteration while filling in the missing data with No Connection data |
ParticleCounterDataArrivalWaitingTimeSeconds | ParticleCounterDataArrivalWaitingTimeSeconds | 120 | Specifies how many seconds are waited before considering the measured value missing for Particle Counter devices |
PerformaceLogHistoryLengthDays | PerformaceLogHistoryLengthDays | 7 | Number of days after which data is deleted from the PerformanceLog table. |
PollingInterval | PollingIntervalms | 15000 | Refresh interval for MONITOR / DEVIATION page in milliseconds |
ReloadDelayMs | ReloadDelayMs | 1000 | Delay time (milliseconds) before reload starts |
ReloadingOldestMeasureRawValuesInDays | ReloadingOldestMeasureRawValuesInDays | 365 | Specifies how old data should be considered โtoo oldโ and not to be reloaded into the system |
ReportTimeoutMinutes | ReportTimeoutMinutes | 20 | Timeout (minutes) to generate a report |
SaveRawValueBatchSize | SaveRawValueBatchSize | 5000 | Nmber of raw EcologPro Radio values to be processed and persisted at a time from raw value cache |
SaveRawValueCronJobIntervalSec | SaveRawValueCronJobIntervalSec | 2 | Execution interval for the cronjob which processes and persists the EcologPro Radio values from the raw value cache |
SessionTimeout | SessionTimeoutMinutes | 20 | Session timeout (minutes) |
UseIpV6 | UseIpV6 | false | The Internet Protocol Version 4 is used by default. IPV6 is not currently supported |
ValuesToBeDeletedPerMinute | ValuesToBeDeletedPerMinute | 1000 | Number of values to be deleted from the database in one cycle if โhard deletionโ of the sensors and digital inputs are allowed |
8.2. Settings elproEVENT
ย 8.2.1. "Setting" Table
Name | Defaults | Description |
---|---|---|
DateFormat | dd.MMM.yyyy | Date format |
TenantName | ย | Name which can be displayed together with application names to distinguish an instance. |
Use24HourFormat | True | 24 or 12 hour time format |
Language | en | The language setting is used for EVENT and Details entries. |
UseIpV6 | False | If true, IP V6 should be made for Event entries, if IP V6 is available. Otherwise, IP V4. |
8.3. Settings elproUSER
ย 8.3.1. "AppSettings" Tableย
Name | Defaults | Description |
---|---|---|
AccessTokenExpireTimeSpanInMinutes | 5 | Timeout (minutes) between Client and Web Server |
ActiveDirectoryEnabled | True | Active directory is enabled |
ClientSessionTimeoutInMinutes | 20 | Must be identical to session timeout. |
DateFormat | dd.MMM.yyyy | Date Format |
EcologProBaseMaintenanceUri | ย | URL for ECOLOG-PRO Base Maintenance software (must be specified as absolute path http:// <IP address>/Maintenance or as relative path / Maintenance) |
EcologProBaseVersion | True | Tab ECOLOG-PRO Base. |
ElproMonitorUri | ย | URL for elproMONITOR software In order to use http only use the relative path /elproMONITOR. |
Language | en | The language setting is used for Audit Trail entries, deviation messages, and automatic reports |
RefreshTokenExpireTimeSpanInMinutes | 43800 | ย |
SessionTimeout | 20 | Session timeout of server |
TenantName | ย | Name which is displayed together with the login name to distinguish an instance. |
TimeZoneString | UTC;true | Time zone; daylight saving time |
Use24HourFormat | True | 24-hour time format is used (if false, 12-hour format is used) |
UseIPv6 | False | Internet Protocol version 4 is used by default, currently IPV6 is not supported. |
WcfBaseAddress | net.tcp://localhost | The address specifies where the service listener is located. |
9. Operation
ย 9.1. Start
Ensure that the Monitor Service is running and the web application was started in IIS. The applications can be started from the Windows Administrator account.
To check this, start Internet Explorer and enter the address http://localhost. The elproMONITOR login page appears. Login using the user previously created in elproUSER (for example, admin).
9.1.1. Enter elproUSER URL in elproMONITOR appsettings.json
In the elproMONITOR installation folder (C:\Program Files\ElproMONITOR), open appsettings.json file for Editing and in ElproUserUri field, enter the web client alias in-between the parantheses from >> 6.3.3 elproUSER Client einrichten (IIS).
After the changes in the file, the following actions are necessary:
Restart of elproMONITOR Service
9.1.2. Set RabbitMQ credentials in the elproMONITOR Database
Start SQL Server Management Studio and log in to the database as DB Administrator.
e.g. /elproUSERIn the ElproMONITOR Settings table set the RabbitMQUsername and RabbitMQPassword according to the credentials which was defined in 4.6
After the changes in the table dbo.Setting, the following actions are necessary:
Restart of elproMONITOR Service
Restart of IIS
9.2. First Start-up of elproUSER
Start elproUSER using the link you just created.
Login to elproUSER for the first time using the following data:
Username: admin
Password: elpro
You can then change the password immediately after.
If you require integration in AD, click Application โ Options to open the Application Settings window and open the "Active Directory":
Enter the Active Directory server name.
Enter the user name and password of an AD user with read-only rights to AD.
Click the "..." button and select the required subnode for user and groups. (If in doubt, simply select the root node.)
Click OK to save the changed settings.
10. elproMONITOR Management Tool
Configuring the basic settings of elproMONITOR is performed using the elproMONITOR Management Tool.
The elproMONITOR management software requires a path to elproMONITORโs install directory (usually C:\Program Files\elproMONITOR). When the management tool is started, specify this path as the start parameter. If you leave out the parameter, a window pops up for you to browse the path.
If other configurations already exist in this path, they are read out and displayed as defaults.
10.1. Create XML Setting
ย
ย
Load file appsettings.json
11. Additional Features
11.1. Creating Windows User
ย 11.1.3. Windows Server 2019
Open the Control Panel.
Go to User Accounts and click Change account type.
Click Add a user account.
Enter name, password, and password hint for the new user. Use the tenant's name by preference.
User name: Customer01
Password: MonitorCustomer1
Reenter password: MonitorCustomer1
Password hint:ย ย <Passwort Hint>
12. FDA CFR 21 Part 11 Compliance
ย If elproMONITOR is to be operated in compliance with FDA CFR 21 Part 11 Revision April 1, 2013, certain measures must be fulfilled.
Verweis CFR 21 Part 11 | Original Text | Action |
---|---|---|
Subpart A ยง 11.1 Scope (e) | (e) Computer systems (including hardware and software), controls, and attendant documentation maintained under this part shall be readily available for, and subject to, FDA inspection. | ELPRO is willing to allow audits by customers. The operator is responsible for performing audits as required. |
Subpart B ยง11.10 Controls for closed systems (c) | (c) Protection of records to enable their accurate and ready retrieval throughout the records retention period. | The operator is responsible for ensuring that data is preserved in its IT environment, e.g. through backups, intrusion and malware protection, redundant hardware etc. |
Subpart B ยง11.10 Controls for closed systems (e) | (e) Use of secure, computer generated, time-stamped audit trails to independently record the date and time of operator entries and actions that create, modify, or delete electronic records. Record changes shall not obscure previously recorded information. Such audit trail documentation shall be retained for a period at least as long as that required for the subject electronic records and shall be available for agency review and copying. | The operator is responsible that changes to the AuditTrail database by IT personnel are prevented. Resp. that manipulations are recorded on system level. e.g. by activating the Change Data Capture function. The databases must be set up with the restrictions described in the installation instructions. |
Subpart B ยง11.10 Controls for closed systems (i) | (i) Determination that persons who develop, maintain, or use electronic record/electronic signature systems have the education, training, and experience to perform their assigned tasks. | For maintenance, the operator must train his personnel accordingly. |
Subpart B ยง11.10 Controls for closed systems (j) | (j) The establishment of, and adherence to, written policies that hold individuals accountable and responsible for actions initiated under their electronic signatures, in order to deter record and signature falsification. | Establish standards that holds individuals accountable for misuse of signatures. |
Subpart B ยง11.10 Controls for closed systems (k1) | (1) Adequate controls over the distribution of, access to, and use of documentation for system operation and maintenance. | The operator is responsible to document the operation of the IT system and to control the documentation. |
Subpart C ยง11.100 General requirements (a) | (a) Each electronic signature shall be unique to one individual and shall not be reused by, or reassigned to, anyone else. | Each account must be set up individually per user. Accounts may not be recycled. |
Subpart C ยง11.100 General requirements (b) | (b) Before an organization establishes, assigns, certifies, or otherwise sanctions an individual's electronic signature, or any element of such electronic signature, the organization shall verify the identity of the individual. | The operator is responsible for ensuring the identity of each user. |
Subpart C ยง11.100 General requirements (c) | (c) Persons using electronic signatures shall, prior to or at the time of such use, certify to the agency that the electronic signatures in their system, used on or after August 20, 1997, are intended to be the legally binding equivalent of traditional handwritten signatures. | The operator is responsible for ensuring that each user is aware of the importance of electronic signatures. Users must attest to this. |
Subpart C ยง11.100 General requirements (c1) | (1) The certification shall be submitted in paper form and signed with a traditional handwritten signature, to the Office of Regional Operations (HFC100), 5600 Fishers Lane, Rockville, MD 20857. | Individuals' hand-signed attestation must be sent in hard copy to the Office of Regional Operations (HFC-100). |
Subpart C ยง11.100 General requirements (c2) | (2) Persons using electronic signatures shall, upon agency request provide additional certification or testimony that a specific electronic signature is the legally binding equivalent of the signer's handwritten signature. | Additional attestations must be provided upon request. |
Subpart C ยง11.200 General requirements (a1i) | (a)(1)(i) When an individual executes a series of signings during a single, continuous period of controlled system access, the first signing shall be executed using all electronic signature components; subsequent signings shall be executed using at least one electronic signature component that is only executable by, and designed to be used only by, the individual. | In the Settings table the setting ElectronicSignature = True must be set. |
Subpart C ยง11.200 General requirements (a1ii) | (a)(1)(ii) When an individual executes one or more signings not performed during a single, continuous period of controlled system access, each signing shall be executed using all of the electronic signature components. | In the Settings table the setting Autologin = False must be set. |
Subpart C ยง11.200 General requirements (a2) | (a)(2) Electronic signatures that are not based upon biometrics shall be used only by their genuine owners. | Only the authenticated owner may use his identification. |
Subpart C ยง11.300 Controls for identification codes/passwords (b) | (b) Ensuring that identification code and password issuances are periodically checked, recalled, or revised (e.g., to cover such events as password aging). | The operator must set the rules of password assignment that they must be renewed regularly. |
13. EudraLex Volume 4 - Annex 11 Compliance
If elproMONITOR is to be used in compliance with EudraLex Volume 4 - Annex 11 Revision 1, 30 June 2011, certain measures must be fulfilled.
Verweis Annex 11 | Original Text | Action |
---|---|---|
Principle | The application should be validated; IT infrastructure should be qualified. | The operator is responsible for validating his system. |
Principle | Where a computerised system replaces a manual operation, there should be no resultant decrease in product quality, process control or quality assurance. There should be no increase in the overall risk of the process. | The operator must carry out a risk assessment on the entire system. The risk assessment must also include processes and SOPs. |
General Risk Management 1 |
| The operator is responsible for conducting a risk analysis on the entire system. |
General Personell 2 |
| The operator is responsible for training users. |
General Suppliers and Service Providers 3.4 | 3.4 Quality system and audit information relating to suppliers or developers of software and implemented systems should be made available to inspectors on request. | ELPRO is willing to approve audits conducted by customers. The operator is responsible for conducting audits as required. |
General Project Phase 4.4 | 4.4 User Requirements Specifications should describe the required functions of the computerised system and be based on documented risk assessment and GMP impact. User requirements should be traceable throughout the lifecycle. | The operator must describe the system requirements. |
General Project Phase 4.5 | 4.5 The regulated user should take all reasonable steps, to ensure that the system has been developed in accordance with an appropriate quality management system. The supplier should be assessed appropriately. | The operator must validate that a suitable quality system was used for development. ELPRO is willing to approve audits conducted by customers. |
General Data Storage 7.1 | 7.1 Data should be secured by both physical and electronic means against damage. Stored data should be checked for accessibility, readability and accuracy. Access to data should be ensured throughout the retention period. | The operator is responsible for ensuring data storage in his IT environment, e.g. by means of backups, intrusion and malware protection, redundant hardware, etc. |
General Data Storage 7.2 | 7.2 Regular back-ups of all relevant data should be done. Integrity and accuracy of backup data and the ability to restore the data should be checked during validation and monitored periodically. | The operator is responsible for backing up data at regular intervals. The possibility of data restoration must be validated and monitored at regular intervals. |
General Change and Configuration Management 10 | 10. Any changes to a computerised system including system configurations should only be made in a controlled manner in accordance with a defined procedure. | The operator is responsible for carrying out changes according to a defined process. |
General Periodic evaluation 11 | 11. Computerised systems should be periodically evaluated to confirm that they remain in a valid state and are compliant with GMP. Such evaluations should include, where appropriate, the current range of functionality, deviation records, incidents, problems, upgrade history, performance, reliability, security and validation status reports. | The operator is responsible for validating the system periodically. |
General Security 12.1 | 12.1 Physical and/or logical controls should be in place to restrict access to computerized system to authorised persons. Suitable methods of preventing unauthorised entry to the system may include the use of keys, pass cards, personal codes with passwords, biometrics, restricted access to computer equipment and data storage areas. | The operator must guarantee that no unauthorized persons may gain access to the system. |
General Security 12.2 | 12.2 The extent of security controls depends on the criticality of the computerised system. | The operator must carry out risk analyses for relevance. |
General Incident Management 13 | 13. All incidents, not only system failures and data errors, should be reported and assessed. The root cause of a critical incident should be identified and should form the basis of corrective and preventive actions. | The operator must evaluate audit trails and, if necessary, escalate events by forwarding them to ELPRO. |
General Electronic Signature 14 | 14. Electronic records may be signed electronically. Electronic signatures are expected to: a.ย have the same impact as hand-written signatures within the boundaries of the company, b.ย be permanently linked to their respective record, c.ย include the time and date that they were applied. | The setting ElectronicSignature = True must be set in the Settings table. Signature recognition must be regulated internally. |
General Batch release 15 | 15. When a computerised system is used for recording certification and batch release, the system should allow only Qualified Persons to certify the release of the batches and it should clearly identify and record the person releasing or certifying the batches. This should be performed using an electronic signature. | The operator must ensure that only identified persons may release batches. |
General Business Continuity 16 | 16. For the availability of computerised systems supporting critical processes, provisions should be made to ensure continuity of support for those processes in the event of a system breakdown (e.g. a manual or alternative system). The time required to bring the alternative arrangements into use should be based on risk and appropriate for a particular system and the business process it supports. These arrangements should be adequately documented and tested. | The operator must make sure that business continuity is ensured in case of system failure. |
ย