IANN FileGPS Windows Installation

Introduction to the Guide

This installation guide provides detailed, step-by-step instructions for setting up the IANN (Intelligent Artificial Neural Network) platform and its associated components. The purpose of this guide is to ensure a smooth and error-free installation process, enabling users to quickly configure the environment and start leveraging the system’s capabilities.

What is IANN?

IANN (Intelligent Artificial Neural Network) is Pragma Edge’s AI-powered unified platform designed to bring intelligence, automation, and predictive analytics into business operations. It combines file tracking, monitoring, and AI-driven insights to ensure end-to-end visibility, operational efficiency, and proactive issue resolution

IANN plays a key role in driving digital transformation across industries by turning traditional data exchanges into intelligent, insight-driven processes.

IANN is built as a modular system with three primary components:

  1. FileGPS – Tracks and monitors file transactions across systems for visibility and SLA compliance.
  2. Monitor – Provides real-time monitoring of processes, system health, and metrics with alerts.
  3. AI – Adds intelligence through predictive analytics, anomaly detection, and GenAI insights.

Who should use this Installation Guide?

This installation guide is designed for a wide range of technical users involved in deploying, maintaining, or supporting IANN solutions. The intended audience includes:

  1. System Administrators / DevOps Engineers
  • Primary audience.
  • Responsible for deploying, configuring, and maintaining the software in different environments (development, staging, production).
  • Use the guide to ensure all prerequisites, system settings, and deployment steps are correctly followed.
  1. IT Support Teams / Technical Support Engineers
  • Use the guide to troubleshoot installation-related issues reported by end users or internal teams.
  • May use it to replicate the installation process for issue diagnosis.
  1. Software Developers
  • Particularly when working in teams or setting up the project locally.
  • Use the guide to set up their development environments and test deployments.
  1. Customers / End Users (for On-Premises Software)
  • If the product is delivered for self-hosting, customers’ technical teams use the installation guide.
  • Often non-developers with technical backgrounds follow these instructions.
  1. Consultants / System Integrators
  • Third-party professionals who assist organizations in setting up and customizing the product.
  1. QA Engineers / Testers
  • Use the guide to install and configure the software in test environments to validate features or bug fixes.

What this Installation Guide Covers?

This guide serves as a comprehensive manual for deploying and configuring the IANN platform in various environments (Linux, Windows, OpenShift). It covers the following:

  1. Purpose and Overview of IANN
  • Clarifies the objective of the document and introduces the IANN FileGPS platform.
  1. System Architecture and Deployment Models
  • Details the architecture of IANN FileGPS and how it integrates with the broader ecosystem.
  1. Step-by-Step Installation Instructions
  • Linux Installations: Covers UI, Server, Rest Consumer, and Client Server deployments.
  • Windows Installations: Includes setup with NSSM, password encryption, component deployments, and validation.
  • OpenShift Installations: Provides detailed guidance on Helm charts, UI/backend configurations, and deployment steps.
  1. Anomalies Detection Modules
  • Deployment instructions for File Anomalies and Transaction Anomalies, supporting both Linux and Windows environments.
  1. IANN Monitor Deployment
  • Instructions for installing IANN Monitor on Linux, Windows, and OpenShift.
  • Includes pre-requisites, system validation, Helm-based deployments, and anomaly detection features.
  1. IANN File Transaction Search
  • Covers deployment and configuration of the File Transaction Search module across platforms.

Each section includes detailed prerequisites, component-level configuration, and post-deployment validation steps to ensure successful setup and operation of IANN in production and non-production environments.

1. Introduction to IANN FileGPS

Pragma Edge’s IANN FileGPS is a robust, end-to-end file monitoring and tracking solution designed to provide organizations with real-time visibility and control over file flows across distributed IT environments. It captures, aggregates, and contextualizes file-related events—enriching them with business context to enhance operational transparency and support informed decision-making.

Beyond traditional monitoring, IANN FileGPS empowers business users to define and manage SLAs (Service Level Agreements) that are closely aligned with business outcomes. SLAs can be configured at multiple levels—such as partner, enterprise, business unit, or even individual file or transaction—enabling fine-grained control and ensuring operational accountability.

With its centralized web interface, powerful alerting mechanisms, and audit-ready architecture, IANN FileGPS ensures that business-critical file processes are continuously and reliably monitored. The solution is built with scalability and security in mind, supporting both on-premise and cloud-based deployments to suit diverse enterprise needs.

2. Architecture of IANN FileGPS

The IANN FileGPS System provides a comprehensive monitoring and alerting solution for file transfer operations across enterprise systems. It ensures timely delivery, transparency, and accountability of file movement by integrating with various source systems and presenting the data through a centralized server and intuitive user interface.

 

A screenshot of a computer AI-generated content may be incorrect.

Below is a breakdown of the end-to-end flow involved in the IANN FileGPS:

·       IANN FileGPS Client: The IANN FileGPS Client is responsible for capturing events from diverse enterprise sources such as databases, logging systems, applications, and APIs. Each event is transformed into a standardized, canonical JSON format to ensure consistency across the system. The client then transmits these events securely either via a REST Consumer API over HTTPS to the IANN FileGPS Server or by publishing them to a designated Apache Kafka topic. This flexible transmission mechanism supports both synchronous and asynchronous data flows, enabling real-time or near-real-time event ingestion based on deployment requirements.

·       Event Ingestion: The IANN FileGPS Server is designed to reliably ingest and persist event data received from the IANN FileGPS Client. When data is transmitted via the REST Consumer API, the server’s REST consumer component processes the incoming canonical JSON payloads and stores them directly into the underlying database. Alternatively, if Kafka is used for transmission, a dedicated Kafka consumer service on the server continuously reads from the configured topic, processes the event data, and commits it to the database. This dual-ingestion mechanism ensures flexibility and resilience in handling both synchronous and asynchronous event flows across diverse enterprise environments.

·       User Access & Web UI: The IANN FileGPS platform provides a secure and intuitive web interface accessible via Single Sign-On (SSO) with SAML 2.0 or through local authentication using JWT-based tokens. The system enforces robust Role-Based Access Control (RBAC) to ensure users have appropriate access based on their roles and responsibilities. Once authenticated, users can leverage powerful features such as real-time file search, interactive dashboards displaying active file events, SLA compliance status, configurable alerts, and comprehensive historical reporting. The platform is designed with enterprise-grade security, supporting session timeouts, token expiry, and full audit logging to meet compliance and governance requirements.

·       Alerting & Notifications: The Alerting & Notifications component of the IANN FileGPS platform provides real-time monitoring of critical file and transaction-related events, enabling timely detection and resolution of operational issues. It supports a robust framework of one-time, rule-based alerts, which are evaluated continuously based on system and user-defined conditions and  supports multiple alert types—SLA, FLA, FNR, TNR, TRA, and Subscription Alerts—with notifications dispatched via email, the IANN dashboard, and REST API callbacks to external systems like ServiceNow, PagerDuty, Slack, and Microsoft Teams.

·       Reporting & Audit Trail: The IANN FileGPS platform provides a robust and extensible Reporting capability that delivers actionable insights into both file and transaction-level activities. It offers a wide range of out-of-the-box reports to track SLA adherence, file lifecycle events, failure patterns, and system performance. Additionally, the platform empowers users to build custom reports by applying business-specific filters, data views, and logic tailored to operational needs. This comprehensive reporting layer enables stakeholders to monitor real-time operations, conduct historical analysis, identify trends, and support audit and compliance initiatives—making it a core enabler of data-driven decision-making within the enterprise.

3. IANN FileGPS – Windows Installation Guide

This guide provides Step-by-Step instructions to install and deploy the IANN FileGPS system on a Windows environment using NSSM (Non-Sucking Service Manager), IBM Java JDK, and Python

1. Pre-Requisites

Server OS

CPU (Cores)

RAM

Storage

Java

Python

NSSM (Service Manager)

Windows Server 2019/2022

4 Cores

16 GB

200 GB

IBM Semeru OpenJDK 17.0.8+7 (LTS)

Python 3.11.4 (or any 3.11+ version)

https://nssm.cc/ (Latest)

2. Download and Prepare NSSM (Non-Sucking Service Manager)

NSSM is a lightweight utility that allows you to run applications (like Java or Python programs) as Windows services. This ensures that your application continues running in the background and can start automatically after system reboots.

Let’s go through the detailed Steps to download, extract, and prepare NSSM for usage.

2.1 Open Your Browser

Launch any browser like Google Chrome, Microsoft Edge, or Firefox on your Windows machine.

2.2 Go to the NSSM Official Website

  • In the browser’s address bar, type:

https://nssm.cc/

  • Press Enter.

 You’ll be directed to the official NSSM homepage.

2.3 Download the NSSM ZIP File

  • On the homepage, look for a section like Download or Latest release.
  • Click the download link (e.g., nssm-2.24.zip).
  • Choose Save or Save As if prompted.
  • The ZIP file will be saved to your Downloads folder by default.

2.4 Extract the NSSM ZIP File

  • Open File Explorer (shortcut: Windows + E).
  • Navigate to your Downloads folder.
  • Locate the ZIP file (e.g., nssm-2.24.zip).
  • Right-click on the ZIP file and select:

Extract All…

  • Choose a location to extract or accept the default
  • Click Extract.

2.5 Locate the win64 Folder

  • After extraction, open the extracted folder (e.g., nssm-2.24).
  • Inside the folder, you’ll see:

├── win32

└── win64

  • Double-click the win64 folder.

This version is specifically for 64-bit Windows systems (which most systems today are).

2.6 Copy the Folder Path

  • While inside the win64 folder:
  • Click the address bar at the top of the File Explorer window.

The folder path will highlight (e.g., C:\Users\YourName\Downloads\nssm-2.24\win64).

Right-click → Copy or press Ctrl + C to copy the path.

2.7 Open Command Prompt (cmd)

  • Click on the Start Menu (bottom-left corner).

   Type:

Cmd

  • Right-click on Command Prompt and choose:

Run as administrator

This is important to ensure you have permission to install services.

  A black Command Prompt window will open.

2.8 Navigate to the win64 Folder in cmd

  • In the Command Prompt window, type:

cd <paste your copied path here>

  • Example:

cd C:\Users\YourName\Downloads\nssm-2.24\win64.

Press Enter.

You are now inside the NSSM folder using the command line. This prepares you to start installing your services (like the FileGPS UI, Server Jobs, or REST Consumer) using nssm install.

3. Extract the IANN FileGPS Package

·      
You will receive a zip file named similar to:

IANN_FileGPS_x_x_x.zip


Right-click the ZIP file Extract All.

After extraction, you will find the following structure:

 

──
IANN_FileGPS_UI/

──
IANN_FileGPS_Server/

──
IANN_FileGPS_Rest_Consumer/

└──
encryptor-1.0.0.jar

4. Encrypt Passwords

Before deploying the FileGPS application, you must encrypt your database (DB) and SMTP passwords for security purposes. The tool used for this is a Java utility named encryptor-1.0.0.jar, which is included in your downloaded and extracted IANN_FileGPS_x_x_x  package.

Let’s walk through the encryption process Step by Step.

4.1 Locate the encryptor-1.0.0.jar File

  • Open File Explorer (Windows + E).
  • Go to the folder where you extracted the IANN_FileGPS_x_x_x zip file.
  • Example path:

C:\Users\YourName\Downloads\IANN_FileGPS_x_x_x

  • Inside that folder, look for the file named:

encryptor-1.0.0.jar

This file is used to encrypt plain-text passwords so they can be safely used in configuration files.

4.2 Open Command Prompt in the Same Directory

In File Explorer:

  • Click on the address bar of the folder containing encryptor-1.0.0.jar.
  • Type cmd and press Enter.

This will open a Command Prompt window directly in that folder, saving you from navigating manually.

4.3 Run the Encryption Command

  • In the Command Prompt window, type the following command:

java -jar encryptor-1.0.0.jar YourPasswordHere

  • Replace YourPasswordHere with your actual database or SMTP password.
  • Example:

java -jar encryptor-1.0.0.jar MySmtp@123

  • After pressing Enter, you will see output similar to:

Encrypted Password: abcXYZ123456789

4.4 Encrypt DB and SMTP Passwords Separately

  • You should run the command separately for each password:
  • Once for your Database Password
  • Once for your SMTP (Email) Password
  • Repeat the command like this:

java -jar encryptor-1.0.0.jar MyDbPassword

java -jar encryptor-1.0.0.jar MySmtpPassword

4.5 Where to Use the Encrypted Password

  • After encryption:
  • Go to the configuration file where the password is required.
  • Replace the plain-text password with the encrypted value.

5. Configure and Deploy the UI Component

After encrypting your passwords, the next Step is to configure the application.yml file located inside the IANN_FileGPS_UI folder. This file contains key settings for the UI module like encrypted database credentials, ports, SMTP settings, etc.

Let’s walk through how to find and open application.yml to update it.

5.1 Open File Explorer

·       Press Windows + E to open File Explorer.

·       Alternatively, click the File Explorer icon from your taskbar or Start menu.

5.2 Navigate to the IANN FileGPS UI Folder

·       Go to the location where you extracted your IANN FileGPS zip.

·       Example:

·       C:\Users\YourName\Downloads\IANN_FileGPS_x_x_x

Inside that folder, you will find:

Edit

├── IANN_FileGPS_UI

├── IANN_FileGPS_Server

├── IANN_FileGPS_Rest_Consumer

└── encryptor-1.0.0.jar

        ·       Double-click on the folder: 

IANN_FileGPS_UI

·       Now, inside IANN_FileGPS_UI, you should find the file: 

            ·       application.yml

5.3 Open with Notepad (Built-in)

·       Right-click on application.yml.

·       Choose:

·       Open with Notepad

      General Settings:

·       Activating the IANN FileGPS License

·       To accept the license, update the accept-license parameter in application.yml

·       Set the parameter value to true and save application.yml to accept the license.

accept-license: true

 

·       Encrypting the password in application.yaml

·       Set the fgks parameter value to the encrypted password in application.yml.

·       example:

fgks: ENC (cKtfzpIvwNdvHP+8QdHYiQ==)

      Update the following values:

·       Server port (e.g., 8787) – If port 8787 is already in use by another Application, configure a different available port to avoid conflicts. 

·       SSL settings:

ssl:

     enabled: true

     key-store:/<install_dir>/IANN_FileGPS_x_x_x/IANN_FileGPS_UI/ssl/keystore-

     new.p12

     key-store-password: MyCustomP@ss123

     key-store-type: PKCS12

           Key Store Explanation:

·       key-store: Absolute path to your SSL certificate file.

·       key-store-password: Provided during certificate creation.

·       key-store-type: Usually PKCS12, a format for storing cryptographic keys.

Enable Liquibase for Schema Management:

spring:

   liquibase:

       enabled: true

Liquibase helps automate DB schema changes. Ensure this is set to true to

apply DB updates automatically.

         Database Configuration

·       Postgres Example:

spring:

  datasource:

    type: com.zaxxer.hikari.HikariDataSource

    url: jdbc:postgresql://<POSTGRES_HOST>:5432/postgres?=<schema_name>

    username: <postgres_username>

    fgks: ENC (Encrypted_password)

    driver-class-name: org.postgresql.Driver

    hikari:

      connection-timeout: 30000

      minimum-idle: 10

      maximum-pool-size: 20

      idle-timeout: 600000

      max-lifetime: 1800000

 

What to Update:

·       <POSTGRES_HOST>: Hostname or IP of the PostgreSQL server

·       <schema_name>: The schema you’re connecting to

·       <postgres_username>: PostgreSQL user

·       <postgres_password>: PostgreSQL user password

·       Oracle Example:

spring:

  datasource:

    type: com.zaxxer.hikari.HikariDataSource

    url:  jdbc:oracle:thin:@//<ORACLE_HOST>:1521/<service_name>

    username: <oracle_username>

    fgks: ENC (Encrypted_password)

    driver-class-name: oracle.jdbc.OracleDriver

    hikari:

      connection-timeout: 30000

      minimum-idle: 5

      maximum-pool-size: 10

      idle-timeout: 600000

      max-lifetime: 1800000

      auto-commit: false

 

Update the following placeholders:

·       <ORACLE_HOST>: Hostname or IP of the Oracle DB server

·       <service_name>: Oracle service name

·       <oracle_username> / <oracle_password>: Valid Oracle DB credentials

SMTP Settings for Email Notifications:

mail:

    host: example-us-east-1.amazonaws.com

    port: 509

    username: smtp-user@example.com

    fgks: ENC (Encrypted_password)

    from: noreply@yourdomain.com

    app-contact-mail: support@yourdomain.com

    mail-signature: FileGPS Support Team

    properties:

      mail:

        smtp:

          auth: true

          starttls:

            enable: true

          ssl:

            trust: “*”

Ensure correct username, fgks (SMTP Encrypted password), and from address.  These settings control notification emails.

Timezone Configuration:

timezone:

  enabled: true

  zoneId: America/Chicago

 All services (UI, server, scheduler, database) should follow the same Zone ID.

5.4 Save and Exit:

·       Go to the top-left corner of the Notepad window.

·       Click on:

File Save

·       You can also press the Ctrl + S keyboard shortcut to save directly.

·       You will not see any pop-up if the save was successful—it will just quietly save the file.

 

5.5 Install and Start IANN FileGPS UI as a Windows Service using NSSM

·       Once your application.yml file is configured, you can now install the UI component of FileGPS as a background Windows Service using NSSM

·       This will allow your UI to run continuously—even after reboots—without manually starting it each time.

·       Let’s go through the Steps in detail:

 

Step 1: Open Command Prompt in NSSM win64 Folder

·       Open File Explorer (Windows + E).

·       Navigate to the folder where you extracted NSSM (e.g., nssm-2.24).

·       Open the win64 folder:

·       Click on the address bar at the top of File Explorer, type cmd and press Enter.

·       This opens the Command Prompt directly inside the NSSM win64 folder, where the nssm.exe file is located.

 

Step 2: Run the Install Command

·       In the Command Prompt window, type the following:

nssm install IANN_FileGPS_UI

·       Then press Enter.

·       A new NSSM Service Installer window will appear.

 

Step 3: Fill in Service Details in the NSSM Window

·       You will now configure 3 main fields:

·       Field 1: Path

Click the “…” (three dots) button next to the Path field.

·       Navigate to the Java installation directory (where java.exe is located).

·       Example path:

C:\Program Files\Eclipse Foundation\jdk-17.0.8.1\bin\java.exe

·       If you’re unsure of your Java path, check:

C:\Program Files\Java\ or C:\Program Files\Eclipse Foundation\

·       Select java.exe and click Open.

·       Field 2: Startup Directory

Click the “…” next to Startup directory.

·       Navigate to the folder:

IANN_FileGPS_UI

·       Example:

C:\Users\YourName\Downloads\IANN_FileGPS_x_x_x\IANN_FileGPS_UI

·       Select this folder and click OK.

·       Field 3: Arguments

·       In the Arguments field, copy and paste the following line:

·       For Normal Login Profile, enter the following in the Arguments field:

-Dspring.profiles.active=filegps -jar filegps-api-1.0.0.jar –server.port=8787 –spring.config=application.yml

·       For SAML Login Profile, enter the following:

-Dspring.profiles.active=filesaml -jar filegps-api-1.0.0.jar –server.port=8787 –spring.config=application.yml

·       This tells Java to run your UI app on port 8787, with the filegps Spring profile and your configuration file.

 

Step 4: Install the Service

·       After filling all 3 fields, click the “Install service” button at the bottom of the NSSM window.

·       You should see a message like:

Service “IANN_FileGPS_UI” installed successfully!

·       This means the service has been created but not yet started.

 

Step 5: Start the UI Service

·       Now let’s start the newly installed service.

·       Open Services Manager

·       Press Ctrl + Shift + Esc to open Task Manager.

·       Click on the “Services” tab.

·       At the bottom, click on:

Open Services



·       This opens the Windows Services Manager.

·       Find and Start the Service

·       Scroll down and look for:

IANN_FileGPS_UI

·       Right-click on it and select:

Start

 

 

·       A loading dialog may appear for a few seconds.

·       Once it starts successfully, you will see the Status change to:

·       Running

 

Step 6: Check the Logs

·       To confirm that the UI is running correctly:

·       Go back to the IANN_FileGPS_UI folder.

·       Look for a file named:

·       file-gps-api.txt

·       Double-click to open it in Notepad.

 

Tomcat started on port(s): 8787

Started FileGPSApplication…

This means your UI is up and running!

  ·       You should see logs like:

 

Step 7: Verify the UI in Browser

·       Open Google Chrome or any browser.

·       In the address bar, type:

https://hostname:8787/



·       Press Enter.

·       If everything is correct, your FileGPS UI login page should appear.

·       Make sure the port number (8787) matches the one you gave in the Arguments field earlier.

6. Configure and Deploy the Server Jobs

This section outlines the standardized procedure to deploy the IANN FileGPS server. This is the next Step after completing the UI deployment

Encrypting Password for Secure Configuration for Server and Rest Consumer

This section outlines the standardized procedure to deploy the IANN FileGPS server. This is the next Step after completing the UI deployment

Encrypting Password for Secure Configuration for Server and Rest Consumer

To securely encrypt your password for use in the config.ini:

  • Navigate to the encryption utility:
  • cmd

cd <install_dir>/IANN_FileGPS_x_x_x/IANN_FileGPS_Server/bin/encrypt/

 
  • Run the encrypt script

Encrypt.exe

  • Enter the password

Enter plaintext to encrypt: password   <—    #Give your plain text password

  • The encrypted output will be displayed:

Encrypted text: PaoI6u65rRQiLo0ctAykhWsqMMb7zYyKrz3zOSDCHLE=

  • Copy the encrypted value and update the configuration:

password = <encrypted_password>

 🛈 If authentication is enabled, ensure this encrypted value is used in place of the plain password inside your config file.

·       Once the IANN FileGPS release package is extracted, the structure will look like:

 

── IANN_FileGPS_UI/

── IANN_FileGPS_Server/

── IANN_FileGPS_Rest_Consumer/

└── encryptor-1.0.0.jar

── IANN_FileGPS_UI/

We now begin the Server setup by navigating into the Server folder.

Step 1: Navigate to the Server Directory

cd <Install_dir>/IANN_FileGPS_x_x_x/IANN_FileGPS_Server/

·       Replace <Install_dir> with the actual server path where the zip was extracted (e.g., /opt, /var, etc.). Avoid hardcoding home—this allows flexibility based on server preferences.

 

Step 2: File Structure Overview

·       Inside the Server/ folder, you should see:

IANN_FileGPS_Server/

├── bin/          # Core server binaries or executables

├── config/       # Configuration files (config.ini ,schedulers.sql)

├── logs/         # Logs generated during server execution

└── scripts/      # Shell scripts to trigger server jobs

Step 3: Configuration Setup

·       Step 1: Navigate to  config folder

config.ini

scheduler.sql

 Inside the config folder, you’ll find

·       Step 2: Update Essential Fields

·       Time Zone Configuration

timezone = America/Chicago

         All services (UI, server, scheduler, database) should follow the same Zone ID.

·       Log Path

logs_path = <absolute_path_to_logs>

 

 

·       Scheduler SQL Path

[queries]

path = <full_path_to>/IANN_FileGPS_Server/config/schedulers.sql

 

 

 

 

·       This tells the system where to pick up job scheduling data from.

·       SMTP Settings that are required to send alert and error notifications via email.

 

smtp_host = smtp.yourdomain.com

smtp_port = 587

from_email = noreply@yourdomain.com

to_email = admin@yourdomain.com

email_authentication = true

username = your_smtp_username

password = <encrypted_password>

           🛈 If authentication is enabled, the password should be securely encrypted      and    placed in the password field.        

Step 4: Configure Database Connections

·       All schema names in the config must match what’s configured in your application (e.g., application.yml).

·       Update config.ini with PostgreSQL, Oracle, and their purged database details:

·       PostgreSQL (Primary)

 

[postgres_db]

host = db-test -1.rds.amazonaws.com

port = 5432

database = < database_name>

username =  < database _username>

password = <encrypted_password>

schema = Example_poc

driver_name = postgresql

connection_type = cursor

  …

 

 

 

 

 

 

·       PostgreSQL (Purged)

      This database is used to archive older data as part of the retention policy          process.

[postgres_purged_db]

host = <host>

port = 5432

database = < database_name>

purged_schema = test_db

username =  < database _username>

password = <encrypted_password>

 …

·       Oracle DB (if used)

[oracle_db]

host = <host>

port = 1521

database = ORCL

schema = <schema_name>

username = <username_of_DB>

password = <encrypted_password>

·       Oracle Purged DB

[oracle_purged_db]

host = <host>

port = 1521

database = ORCL

purged_schema = < purged_schema_name>

username = < username_of_DB >

password = <encrypted_password>

·       Ensure encrypted credentials and accurate schema names are used.

 

Step 5: Save Changes

To save and exit on Notepad

·       Go to the top-left corner and click:

·       File Save

·       Or simply press Ctrl + S on your keyboard.

·       Now click the X button in the top-right corner to close Notepad.

 

Step 6: Load Scheduled Jobs

·       A default job scheduler setup is provided in schedulers.sql.

Inside the config folder, locate the file:

schedulers.sql

1. Open the File for Editing Using Notepad

·       Right-click on schedulers.sql.

·       Select:

·       Open with Notepad

·       If installed, right-click and choose:

 

2. Update Schema Name

·       Look for a line in the SQL file that looks like this:

INSERT INTO <schema_name>.petpe_schedulers …

·       Replace <schema_name> with the actual schema name that your database uses.

Example:

INSERT INTO filegps_db.petpe_schedulers …

3. Save and Close the File

After editing:

In Notepad:

Go to:

·       File Save

·       Or press Ctrl + S.

·       Then click the X at the top-right to close.

 

Step 7:  Install Server Jobs as Windows Services Using NSSM

The IANN FileGPS Server includes multiple Python/Java-based jobs (like agent_down_alert, SLA, TRA, Retention Policy, etc.).
Each job must be installed as a separate Windows Service so that it can run automatically in the background—even after a system reboot.

We’ll use NSSM (Non-Sucking Service Manager) to install all these jobs one by one.

1. Open NSSM win64 via Command Prompt

  • Press Windows + E to open File Explorer.
  • Navigate to the following folder (where NSSM was extracted):

C:\Users\YourName\Downloads\nssm-2.24\win64

  • Click on the address bar at the top of the window, type:
  • Press Enter.

This opens Command Prompt in the win64 folder—ready to run NSSM installation commands.

2. Install Agent Down Alert Job

2.1 Run the Install Command

·       In the Command Prompt window, type the following:

·       nssm install agent_alert_down

·       This opens the NSSM Service Installer popup window.

2.2 Fill in NSSM Fields

·       Path:

Click the “…” next to the Path field.



·       Navigate to:

 

IANN_FileGPS_Server\bin\agent_down_alert\

·       Select:

 

agent_down_alert.exe



 

·       Click Open

·       Startup Directory:
Set the same folder:

IANN_FileGPS_Server\bin\agent_down_alert




·       Arguments:
Enter your config.ini path (update based on your folder location):

 

C:\Users\YourName\Downloads\IANN_FileGPS_x_x_x\IANN_FileGPS_Server\config\config.ini

2.3 Install and Start the Service

  • Click Install Service in the NSSM window.
  • Open Task Manager (Ctrl + Shift + Esc).
  • Go to the Services tab Click Open Services.
  • Search for: agent_alert_down
  • Right-click Start.

If successful, the status will show “Running”.

2.4 Check Agent Alert Logs

  • Open the logs folder:

IANN_FileGPS_Server\logs\

  • Look for:

agent_down_alert.log

If the file exists and updates are seen inside, the service is working correctly.

3. Deploy the Remaining Server Jobs

You’ll now repeat the exact same process for each of the following jobs. Each has its own .exe file inside:

IANN_FileGPS_Server\bin\<job_folder>\

3.1 Jobs to Install

Job Name

Executable File

Suggested Service Name

calculate_sla

calculate_sla.exe

calculate_sla_service

calculate_transaction_sla

calculate_transaction_sla.exe

calculate_transaction_sla_service

encrypt

encrypt.exe

encrypt_service

events_correlation

events_correlation.exe

events_correlation_service

fnr_alert_groups_job

fnr_alert_groups_job.exe

fnr_alert_groups_service

fnr_alert_job

fnr_alert_job.exe

fnr_alert_service

ka_si_queue_depth_alert

ka_si_queue_depth_alert.exe

ka_si_queue_depth_service

mq_queue_depth_alert

mq_queue_depth_alert.exe

mq_queue_depth_service

retention_purge

retention_purge.exe

retention_purge_service

schedulers_insert

schedulers_insert.exe

schedulers_insert_service

sla_alert_job

sla_alert_job.exe

sla_alert_service

sla_client

 

sla_client.exe

sla_client

sla_client_group

sla_client_group.exe

sla_client_group_service

subscription_alert

subscription_alert.exe

subscription_alert_service

subscription_alert_group

subscription_alert_group.exe

subscription_alert_group_service

tnr_alert

tnr_alert.exe

tnr_alert_service

tnr_alert_group

tnr_alert_group.exe

tnr_alert_group_service

tra_group

 

tra_group.exe

tra_group_service

tra_alert

 

tra_alert.exe

tra_alert_service

 transaction_duration

transaction_duration.exe

transaction_duration_service

 update_context

update_context.exe

update_context_service

3.2 For Each Job:

  • Run the command:

nssm install <job_name>

       Example:

nssm install sla

  • In the NSSM window:

Field

What to Enter

Path

Navigate to the corresponding .exe in IANN_FileGPS_Server\bin\<job_folder>\

Startup Dir

Same folder as the .exe

Arguments

“C:\Users\YourName\Downloads\IANN_FileGPS_x_x_x\IANN_FileGPS_Server\config\config.ini”

  • Click Install Service.
  • Open Services and Start the job by name.
  • Check the logs inside:

            IANN_FileGPS_Server\logs\

Final Reminders:

  • Install and start each job one at a time using the correct .exe and same config.ini.
  • You should see individual logs for each job (e.g., sla.log, retention_policy.log).
  • Make sure the service status is “Running” in Services Manager.
  • You can also restart or stop services later via the same Services window.

7. IANN FileGPS Rest Consumer Deployment

This section outlines the standardized Steps to deploy the IANN FileGPS Rest Consumer Service. It includes all configuration requirements and connection settings for PostgreSQL, Oracle and other databases.

7.1 Deployment Steps for IANN FileGPS Rest Consumer

Step 1: Navigate to the Rest Consumer Directory

·       Press Windows + E to open File Explorer.

·       Go to the extracted folder location:

C:\Users\<YourName>\Downloads\IANN_FileGPS_x_x_x\IANN_FileGPS_Rest_Consumer

 

·       Tip: Replace <YourName> with your Windows username.

 

Step 2: Verify File Structure

·       Run ls to ensure the correct files and folders are present:

·       Expected output:

IANN_FileGPS_Rest_Consumer/

config.ini           # Configuration file

rest_consumer        # Binary to start the service

logs/                # Directory to store logs

 

 

 

 

 

Step 3: Edit config.ini File in Notepad

This file contains critical configurations like timezone, authentication, database info, etc.

How to Open:

·       Inside the IANN_FileGPS_Rest_Consumer folder:

·       Locate the file: config.ini

·       Right-click on config.ini and select:

·       Open with Notepad

·       Required Config Sections

[filegps]

zoneid = America/Chicago   # Set the Zone ID

 

·       All services (UI, server, scheduler, database) should follow the same Zone ID.

·       [authentication]

[authentication]

auth_type = basic

username = <your_username>

password = <your_encrypted_password>

path = <absolute_path_to_ssl_certificate.pem>

cert_password = <your_cert_password>

use_ssl = true

use_ssl_password = false

 

·       [logs]

[logs]

path = <absolute_path_to_logs_directory>

 ·       Example: /opt/filegps/logs/rest_consumer/

·    [rest_consumer_network]

[rest_consumer_network]

host = 0.0.0.0

port = <your_port_number>

Example: 8086  

If port 8086 is already being used by another Application, make sure to configure a different available port.

·       [postgres_db]

[postgres_db]

database = <your_database>

host = <your_db_host>

username = <your_db_username>

password = <your_encrypted_password>

schema = <schema_used_in_application_config>

port = 5432

driver_name = postgresql

chunksize = 5000

Step_table_name = Step_events_data

order_table_name = order_events_data

table_name = queue_depth_alert

uncorrelated_table_name = uncorrelated_events_data

connection_type = cursor

 ·       [oracle_db] (Optional – if Oracle is used)

[oracle_db]

driver_name = oracle

host = <your_oracle_host>

port = 1521

database = <your_oracle_service_name>

username = <your_oracle_username>

password = <your_encrypted_password>

schema = <your_oracle_schema>

connection_type = cursor

Step_table_name = Step_events_data

order_table_name = order_events_data

queue_table_name = queue_depth_data

table_name = queue_depth_alert

petpe_all_alerts_table_name = petpe_all_alerts

 

Step 4: Save and Exit

In Notepad:

·       Go to the menu:

·       File Save

·       or press Ctrl + S on your keyboard.

·       Then click the X in the top-right corner to close Notepad.   

Step 5: Install REST Consumer as a Windows Service (Using NSSM)

·       The REST Consumer is a component of IANN FileGPS responsible for handling incoming data and integrating it with configured databases.

·       To ensure it runs in the background and automatically restarts after system reboots, we will install it as a Windows Service using NSSM (Non-Sucking Service Manager).

 

 5.1 Open Command Prompt in NSSM’s win64 Directory

Before installing the service, let’s open Command Prompt inside the NSSM directory.

Steps:

·       Press Windows + E to open File Explorer.

·       Go to:

C:\Users\<YourName>\Downloads\nssm-2.24\win64

·       Click on the address bar at the top of the window.

·       Type:

 cmd

·       Press Enter.

 A Command Prompt window will open, already set to the win64 directory where nssm.exe is located.

 

 5.2 Install the REST Consumer Service

Now we’ll install the REST Consumer as a Windows Service.

 Steps:

·       In the Command Prompt (already open in win64), type the following command:

 nssm install rest_consumer

·       Press Enter.

This opens the NSSM Service Installer window where we’ll configure the service.

 

 5.3 Configure the NSSM Service Fields

In the NSSM window, fill in the following fields:

1. Path

·       Click the “…” button next to the Path field.

·       Navigate to the following location:

C:\Users\<YourName>\Downloads\IANN_FileGPS_x_x_x\IANN_FileGPS_Rest_Consumer

 

·       Select the file:

rest_consumer.exe

·       Click Open.

2. Startup Directory

·       Set the Startup directory as:

C:\Users\<YourName>\Downloads\IANN_FileGPS_x_x_x\IANN_FileGPS_Rest_Consumer

 

3. Arguments

·       In the Arguments field, enter the path to your config.ini file:

“C:\Users\<YourName>\Downloads\IANN_FileGPS_x_x_x\IANN_FileGPS_Rest_Consumer\config.ini”

 

5.4 Install the Service

·       After all fields are filled in correctly, click the Install Service button at the bottom of the NSSM window.

·       You’ve now registered REST Consumer as a Windows Service.

 

5.5 Start the REST Consumer Service

     To start the service and verify that it runs:

Steps:

1.    Press Ctrl + Shift + Esc to open Task Manager.

2.    Click on the Services tab.

3.    At the bottom, click on:

              Open Services

4.    In the Services window, scroll and look for:

              rest_consumer

5.    Right-click on it Click Start.

 The service should now change its Status to: Running.

 

5.6 Check the Logs

To confirm that REST Consumer is working:

1.    Go to:

C:\Users\<YourName>\Downloads\IANN_FileGPS_x_x_x\IANN_FileGPS_Rest_Consumer\logs\

 

2.    Look for newly generated .log files inside the logs folder.

If the log file is being created and updating, the REST Consumer is successfully deployed.

Conclusion of Deployment

By this point, you have successfully:

·       Deployed the IANN FileGPS UI using NSSM

·       Installed and verified all Server Background Jobs (21+ services)

·       Configured and deployed the REST Consumer

·       Verified that all services are running and generating logs

 

8. IANN FileGPS Client Server Deployment

This section walks you through installing and configuring the IANN FileGPS Client on Windows Server 2019/2022 using NSSM (Non-Sucking Service Manager). This ensures that the client runs as a background service, starts automatically after reboot, and logs data as expected.

8.1 System and Software Requirements

Server OS

CPU (Cores)

RAM

Storage

Java

Python

NSSM (Service Manager)

Windows Server 2019/2022

4 Cores

16 GB

200 GB

IBM Semeru OpenJDK 17.0.8+7 (LTS)

Python 3.11.4 (or any 3.11+ version)

https://nssm.cc/ (Latest)

8.2 Installation Steps

Step 1: Unzip the Client Package

·       Locate the delivered ZIP package: IANN_FileGPS_Client_x_x_x.zip

 

·       Right-click > Select Extract All > Choose a destination (e.g., C:\IANN_FileGPS_Client_x_x_x)

 

·       Navigate into the extracted folder.

 

·       Expected contents:

 

 

IANN_FileGPS_Client_x_x_x\

├── filegps_client.exe

├── filegps_client_config.ini

├── logs\

8.3 Configuration – filegps_client_config.ini

·       Navigate to:

 

C:\IANN_FileGPS_Client_x_x_x\filegps_client_config.ini

·       Right-click > Open with > Notepad

 

·       Make your necessary updates (do not change the provided SQL and structure).

 

Input Section

·       Set the number of input sources you’re reading data from:

 

[inputs]

no_of_inputs = 3  # Set to 3 for the 3 input queries described below

·       Important:

·       If no_of_inputs = 3, then [input1], [input2], and [input3] blocks must be present and correctly defined.

·       [input1]

[input1]                                     

SELECT

    SEQID,

    CASE WHEN TYPEOFTRANSFER IS NULL THEN ” ELSE TYPEOFTRANSFER END AS TYPE_OF_TRANSFER,

    SRCPROTOCOL,

    DESTPROTOCOL,

    APPLICATION,

    SUBSTR(FILEARRIVED , 1, 10) || ‘T’ || REPLACE(SUBSTR(FILEARRIVED , 12, 8), ‘.’, ‘:’) || SUBSTR(FILEARRIVED , 20, 4) || ‘-0500’ AS occurred,

    FILEARRIVED,

    CASE WHEN FLOWINOUT IS NULL THEN ” ELSE FLOWINOUT END AS direction,

    CASE WHEN SRCFILENAME IS NULL THEN ” ELSE SRCFILENAME END AS localfilename,

    CASE WHEN DESTFILENAME IS NULL THEN ” ELSE DESTFILENAME END AS remotefilename,

    CASE WHEN PARTNER IS NULL THEN ” ELSE PARTNER END AS clientname,

    CASE WHEN PARTNER IS NULL THEN ” ELSE PARTNER END AS clientid,

    CASE WHEN DOCTRANS IS NULL THEN ” ELSE DOCTRANS END AS transaction,

    ‘PCM/client’ AS nodeid,

    CASE WHEN ADVERRORSTATUS IS NULL THEN ” ELSE ADVERRORSTATUS END AS errorinfo,

    CASE WHEN ERRORSTATUS IS NULL THEN ” ELSE ERRORSTATUS END AS errortype,

    CASE WHEN STATUS IS NULL THEN ” ELSE STATUS END AS STATUS,

    ‘PCM’ AS appId,

    ‘Start’ AS msgTxt,

    CASE WHEN COREBPID IS NULL THEN ” ELSE COREBPID END AS processid,

    CASE WHEN COREBPID IS NULL THEN ‘EMPTY’ ELSE COREBPID END AS co_relation_id,

    CASE WHEN SRCARCFILELOC IS NULL THEN ” ELSE SRCARCFILELOC END AS local_arc_file_loc,

    CASE WHEN DESTARCFILELOC IS NULL THEN ” ELSE DESTARCFILELOC END AS remote_arc_file_loc,

    CASE WHEN DBMS_LOB.SUBSTR(CORRELATION_VALUE_3) IS NULL THEN ” ELSE DBMS_LOB.SUBSTR(CORRELATION_VALUE_3) END AS error_arc_file_loc,

    CASE WHEN DBMS_LOB.SUBSTR(CORRELATION_VALUE_1) IS NULL THEN ” ELSE DBMS_LOB.SUBSTR(CORRELATION_VALUE_1) END AS po_number,

    CASE WHEN GS_CTL IS NULL THEN ” ELSE GS_CTL END AS gs_control_number,

    CASE WHEN SENDERID IS NULL THEN ” ELSE SENDERID END AS sender_id,

    CASE WHEN RECIVERID IS NULL THEN ” ELSE RECIVERID END AS receiver_id,

    CASE WHEN SRC_FILE_SIZE IS NOT NULL THEN SRC_FILE_SIZE ELSE NULL END AS file_size

FROM

    <schema_name>.PETPE_TRANSFERINFO pt

WHERE

    FILEARRIVED > TIMESTAMP ‘sql_last_value’

ORDER BY

    FILEARRIVED ASC

·       [input2]

 

[input2]

SELECT

    SEQID,

    CASE WHEN TYPEOFTRANSFER IS NULL THEN ” ELSE TYPEOFTRANSFER END AS TYPE_OF_TRANSFER,

    SRCPROTOCOL,

    DESTPROTOCOL,

    APPLICATION,

    SUBSTR(FILEARRIVED , 1, 10) || ‘T’ || REPLACE(SUBSTR(FILEARRIVED , 12, 8), ‘.’, ‘:’) || SUBSTR(FILEARRIVED , 20, 4) || ‘-0500’ AS occurred,

    FILEARRIVED,

    CASE WHEN FLOWINOUT IS NULL THEN ” ELSE FLOWINOUT END AS direction,

    CASE WHEN SRCFILENAME IS NULL THEN ” ELSE SRCFILENAME END AS localfilename,

    CASE WHEN DESTFILENAME IS NULL THEN ” ELSE DESTFILENAME END AS remotefilename,

    CASE WHEN PARTNER IS NULL THEN ” ELSE PARTNER END AS clientname,

    CASE WHEN PARTNER IS NULL THEN ” ELSE PARTNER END AS clientid,

    CASE WHEN DOCTRANS IS NULL THEN ” ELSE DOCTRANS END AS transaction,

    ‘client/client’ AS nodeid,

    CASE WHEN ADVERRORSTATUS IS NULL THEN ” ELSE ADVERRORSTATUS END AS errorinfo,

    CASE WHEN ERRORSTATUS IS NULL THEN ” ELSE ERRORSTATUS END AS errortype,

    CASE WHEN STATUS IS NULL THEN ” ELSE STATUS END AS STATUS,

    ‘PCM’ AS appId,

    RTRIM(CASE WHEN STATUS = ‘Success’ THEN ‘Stop’ WHEN STATUS = ‘Failed’ THEN ‘Error’ END) AS msgTxt,

    CASE WHEN COREBPID IS NULL THEN ” ELSE COREBPID END AS processid,

    CASE WHEN COREBPID IS NULL THEN ‘EMPTY’ ELSE COREBPID END AS co_relation_id,

    CASE WHEN SRCARCFILELOC IS NULL THEN ” ELSE SRCARCFILELOC END AS local_arc_file_loc,

    CASE WHEN DESTARCFILELOC IS NULL THEN ” ELSE DESTARCFILELOC END AS remote_arc_file_loc,

    CASE WHEN DBMS_LOB.SUBSTR(CORRELATION_VALUE_3) IS NULL THEN ” ELSE DBMS_LOB.SUBSTR(CORRELATION_VALUE_3) END AS error_arc_file_loc,

    CASE WHEN GS_CTL IS NULL THEN ” ELSE GS_CTL END AS gs_control_number,

    CASE WHEN DBMS_LOB.SUBSTR(CORRELATION_VALUE_1) IS NULL THEN ” ELSE DBMS_LOB.SUBSTR(CORRELATION_VALUE_1) END AS po_number,

    CASE WHEN SENDERID IS NULL THEN ” ELSE SENDERID END AS sender_id,

    CASE WHEN RECIVERID IS NULL THEN ” ELSE RECIVERID END AS receiver_id,

    CASE WHEN STATUS = ‘Success’ THEN DEST_FILE_SIZE WHEN STATUS = ‘Failed’ THEN NULL END AS DEST_FILE_SIZE

FROM

    <schema_name>.PETPE_TRANSFERINFO pt

WHERE

    FILEARRIVED > TIMESTAMP ‘sql_last_value’

ORDER BY

    FILEARRIVED ASC

·       [input3]

 

[input3]

SELECT

    BPID AS processid,

    CASE WHEN RULENAME IS NULL THEN ‘ ‘ ELSE RULENAME END AS RULENAME,

    CASE WHEN BPNAME IS NULL THEN ‘ ‘ ELSE BPNAME END AS BPNAME,

    CASE WHEN DETAILS IS NULL THEN ‘ ‘ ELSE DETAILS END AS DETAILS,

    “SEQUENCE”,

    ACTIVITY_DT,

    ACTIVITY_DT AS occurred,

    CASE WHEN ACTIVITY_BY IS NULL THEN ‘ ‘ ELSE ACTIVITY_BY END AS ACTIVITY_BY,

    CASE WHEN ACT_NAME IS NULL THEN ‘ ‘ ELSE ACT_NAME END AS ACT_NAME,

    ‘Step’ AS msgTxt,

    ‘client/PCM’ AS nodeid

FROM

    <schema_name>.PETPE_TRANSINFOD pt

WHERE

    ACTIVITY_DT IS NOT NULL

    AND ACTIVITY_DT > TIMESTAMP ‘sql_last_value’

ORDER BY

    ACTIVITY_DT, “SEQUENCE” ASC

Output Section

·       Define where the data should be pushed after processing:

[outputs]

no_of_outputs = 1  # Match with the number of defined [outputX] blocks

 

 

 

·       [output1] – API Output (Example)

 

[output1]

output_type = api

auth_type = basic_auth

api_url = http://<rest_consumer_host>:8086/api/ingest

api_username = your_user

api_password = your_encrypted_password

path = /opt/client_outputs/

file_name = restapi_data

timeout = 60

batch_size = 1000

Save and Exit in Notepad:

  • Click File > Save
  • Then close Notepad

8.4 Install FileGPS Client as a Windows Service Using NSSM

 Step 1: Open NSSM win64 in CMD

  1. Open File Explorer
  2. Navigate to:

C:\Users\YourName\Downloads\nssm-2.24\win64

            Click the address bar, type cmd and press Enter

            This opens Command Prompt in the current directory.

Step 2: Run NSSM Install Command

·       In the command prompt:

nssm install filegps_client

Step 3: NSSM Installer Window

Fill in the fields:

C:\IANN_FileGPS_Client_x_x_x\filegps_client.exe

  • Path:
  • Startup Directory:

C:\IANN_FileGPS_Client_x_x_x

  • Arguments:

C:\IANN_FileGPS_Client_x_x_x\filegps_client_config.ini

 Click Install Service.

Step 4: Start the Service

  • Open Task Manager (Ctrl + Shift + Esc)
  • Go to Services tab > Click Open Services
  • Search for filegps_client
  • Right-click > Start
  • Status should change to Running

Step 5: Check Logs

Navigate to:

C:\IANN_FileGPS_Client_x_x_x\logs\

Check for log files to confirm the client is running.

8.5 Stopping the Client Manually (Optional)

To stop the client manually:

  • Open Command Prompt
  • Run:

tasklist | findstr filegps_client

  1. Get the PID and run:

taskkill /PID <your_PID> /F

Or stop it from Services: Right-click filegps_client > Stop

8.6 Restarting the Client with a Clean Start

If the client failed and you want to reload from a specific time:

C:\IANN_FileGPS_Client_x_x_x

  1.  Go to the client directory:
  1. Delete .sql_last_value if it exists
  2. Open filegps_client_config.ini > Find:

  [backup_days]

  days_to_load = <number>

  1. Change the value as needed
  2. Save the file
  3. Restart service from Services tab in Task Manager

8.7 Summary

  • Client runs continuously as a background service
  • NSSM ensures automatic restarts
  • Configuration and logs are centralized for easy management
  • Supports restarts from specific dates for data recovery