Articles in this section

On-premise agents: Troubleshooting and FAQs

This guide helps you identify, diagnose, and resolve common issues related to the Celigo on-premise agent (OPA). It serves as a reference for system administrators, support engineers, and developers who manage or rely on OPA-based connections to integrate on-premise systems with cloud applications.

When to use this guide: 

  • The on-premise agent appears offline or unresponsive in integrator.io.

  • Flows using OPA-based connections fail or stall unexpectedly.

  • You're installing, upgrading, or migrating the OPA and encounter errors.

  • You need to verify OPA configuration, logs, network access, or token issues.

  • You want to perform preventive checks or validate OPA readiness after environment changes, such as an OS upgrade or firewall rule updates.

Legacy production and sandbox licenses

In legacy Production and Sandbox environments, changes in one environment affect both environments. The Production and Sandbox environments share the same underlying resources. Any resource you create, edit, or delete in one environment is immediately reflected in the other.

This includes connections, imports, exports, flows, scripts, and API tokens. Use caution when editing resources in either environment.

This behavior doesn't apply to accounts on the multi-environment license, where each environment maintains its own isolated resources.

Migrations from the legacy Production/Sandbox license to the new multi-environment license are underway. Your account has not migrated to the new multi-environment license if you can toggle between environments.

Toggle to Sandbox environment.png

On-premise agent configuration checklist

Follow this checklist to ensure that the on-premise agent's base configurations are correct. If you've completed the checklist and your OPA isn't working as expected, continue to follow the troubleshooting steps in this article.

  • Verify the OPA's status 

    1. Navigate to ResourcesOn-premise agents in integrator.io.

    2. Determine if the OPA is Online (green) or Offline (red). If the OPA is offline, note the last check-in time.

    3. Note the Last heartbeat timestamp — it should be recent if the OPA is live.

  • Confirm that the OPA is running locally 

    Windows: 

    1. Press Win + R, type services.msc, and hit Enter.

    2. Locate Celigo Agent in the list.

    3. Validate that the OPA's Status is 'Running' and the Startup type is 'Automatic'.

    – OR – 

    1. Navigate to Task ManagerProcesses.

    2. Verify that agent-windows.exe is running.

    Linux: 

    Run the following command: systemctl status celigo-agent. The status should be 'Active (running)'.

  • Check your network connectivity 

    1. Test your network's outbound access to https://api.integrator.io using the following curl command: curl -I https://api.integrator.io.

    2. Confirm that your firewall allows outbound port 443 (HTTPS). If your firewall is behind a proxy:

      1. Windows: Check Internet OptionsConnectionsLAN settings.

      2. Linux: Check the following environment variables: HTTP_PROXY and HTTPS_PROXY

  • Verify the OPA's token configuration: You must verify that the OPA's token in your on-prem server and integrator.io are identical.

    Windows:

    1. In your Windows server, navigate to C:\Users\<user>\AppData\Roaming\Agent\ and open the Settings file.

    2. Note the OPA's token.

    3. In your browser, navigate to integrator.io and sign in.

    4. Click ResourcesOn-premise agentsShow token.

    5. Compare the OPA tokens.

    Linux:

    1. Execute the sudo cat /root/.config/agent/Settings command.

    2. Search the Settings file for the OPA's token.

    3. In your browser, navigate to integrator.io and sign in.

    4. Click ResourcesOn-premise agentsShow token.

    5. Compare the OPA tokens.

  • Confirm your OPA's version 

    Windows:

    1. In your server, navigate to Control PanelProgramsPrograms and Features.

    2. Find Celigo Agent in the list.

    3. Your OPA version must be 3.7.0 or later. If you haven't updated your OPA, it isn't receiving automatic updates, which may be causing your issues.

      Exception

      Celigo has ended support for users running Windows Server 2012 R2 with the Celigo on-prem agent. If your server is on this Windows version, you must download agent version 4.3.0. Failure to do so will trigger automatic updates that will break your on-prem agent configuration and cause your flows to fail. Note that version 4.3.0 does not support automatic updates since Celigo has ended support for Windows Server 2012 R2.

    Linux:

    If you're using the packaged version, run: sudo find / -type f -name "*.log" 2>/dev/null | sudo xargs grep -i "latest version" 2>/dev/null.

    If not, check the version in the Linux OPA logs by running: journalctl -u celigoagent.service -n 1000 -f.

  • Validate connection settings 

    In integrator.io, open an OPA-based connection verify the following:

    • Your connection is using the correct OPA.

    • The Base URI is reachable from the OPA host (ex, localhost or the target system's IP address).

  • Review logs (optional for early signs) 

    Follow the steps below to inspect the OPA logs in either Windows or Linux operating systems. If the logs are not available, check for missing or empty log files.

    Windows:

    1. Open the Celigo Agent in your Windows server.

    2. Click View logs.

    3. Search for:

      1. Connection errors

      2. Authentication failures

      3. Unexpected restarts or shutdowns

    – OR – 

    1. Navigate to C:\Users\<user>\AppData\Roaming\Agent\.

    2. Search for server-{{Current Date timestamp}} and open the corresponding file.

    3. In the logs, search for:

      1. Connection errors

      2. Authentication failures

      3. Unexpected restarts or shutdowns

    Linux:

    1. Open your terminal.

    2. Run journalctl -u celigoagent.service -f.

    3. Review the logs for:

      1. Connection errors

      2. Authentication failures

      3. Unexpected restarts or shutdowns

    To review a large number of older logs, use journalctl -u celigoagent.service -n 1000 -f. You can increase and decrease the number "1000" to retrieve more or less log data.

  • Verify system resources: Ensure the host meets requirements.

    • 2–4 GB RAM minimum

    • 2 CPU cores

    • 64-bit OS

    Windows:

    1. Navigate to Task Manager → Performance.

    2. Check the OPA's CPU and RAM usage to determine if it's performance is degraded.

    3. Make sure no other heavy processes are affecting the OPA.

    Linux:

    • Run the top free -m command to verify the OPA's CPU and RAM usage.

Once these checks are complete, if the issue persists, move on to targeted troubleshooting steps (ex, connection errors, failed flow execution, network misconfigurations).

Delete and reinstall your on-premise agent

In some cases, deleting the existing OPA and installing a new one can solve an unknown issue.

Windows

Delete the existing OPA and install a new one:

  1. Uninstall the OPA as a service through the Task Manager.

    1. Press Win + R, type services.msc, and hit Enter.

    2. Locate Celigo Agent in the list and stop the service.

    3. Navigate to the OPA UI and uninstall the service.

  2. Open the Task Manager and end all running OPA-specific tasks.

  3. Open the Control Panel and uninstall the OPA.

  4. Delete all existing OPA installers and updaters from the User folder.

  5. Install a new OPA using the steps in Integrate data through firewall with Windows on-premise agent.

Linux

Delete the existing OPA and install a new one:

Important

The commands must be executed in the listed order.

  1. Stop the OPA: sudo systemctl stop celigoagent.service

  2. Remove the service: sudo rm /etc/systemd/system/celigo-agent.service

  3. Delete old OPA files: rm -rf /path/to/old-agent-folder

  4. Install a new OPA using the steps in Integrate data through firewall with Linux on-premise agent.

Common errors and solutions

There are some common errors that can be fixed without assistance from the Celigo Support team.

Offline (red) status in integrator.io

There are generally three reasons why the OPA is offline in integrator.io. Before contacting Celigo Support, check the following:

If these are all working as expected, check your logs for any of the common errors and solutions listed below. If none of the errors appear, contact Celigo Support.

On-premise agent automatic upgrades not working

Issue: In some cases, the OPA won't automatically upgrade when a new version is released.

Root cause and Solution: This occurs if the OPA isn't running as a service or if you're missing administrator privileges (Windows only).

Exception

Celigo has ended support for users running Windows Server 2012 R2 with the Celigo on-prem agent. If your server is on this Windows version, you must download agent version 4.3.0. Failure to do so will trigger automatic updates that will break your on-prem agent configuration and cause your flows to fail. Note that version 4.3.0 does not support automatic updates since Celigo has ended support for Windows Server 2012 R2.

No logs or empty log files

Issue: Can't find logs or the log files are empty.

Root cause: You may have an OPA running with incorrect permissions, or a misconfigured or inaccessible log path.

Troubleshooting: Determine if the log files exist.

Windows:

  1. Navigate to C:\Users\<user>\AppData\Roaming\Agent\.

  2. Search for server-{{Current Date timestamp}}.

  3. If the logs are missing entirely, delete and reinstall the agent.

Linux:

Logs are created in the /root/.config/agent/ folder of your Linux machine.

  1. Use this command to determine if log files exist in your root directory: sudo find / -type f -name "*.log" 2>/dev/null

  2. If the logs are missing entirely, delete and reinstall the agent.

Failed to uninstall old application files. Please try running the installer again.: 2

Issue: You may encounter the following pop-up error dialog when using the Celigo OPA, particularly after an automatic update.

Error: Failed to uninstall old application files. Please try running the installer again.: 2

ea4c601e-6d48-42fd-b8cb-3de84da27087.png

Root cause: This issue is typically triggered when the Windows system PATH environment variable is in a corrupted or inconsistent state following the OPA's auto-update process.

Solution: Restart the system. A full Windows restart often resolves the issue, as the operating system will attempt to automatically repair or reload critical environment variables (such as the PATH variable) during startup.

On-premise agent service not running

Symptom: The Celigo on-prem agent service is not running in the Services application.

Root Cause / Additional Information: The on-prem agent can be executed in three modes:

  • Through the OPA UI – When launched directly from the desktop, the OPA runs with a visible user interface.

  • Run in Background – When this option is enabled, the UI is hidden, but the OPA continues running in the background. It can be verified via Task Manager.

  • As a Windows Service – The OPA can be installed and run as a Windows service.

Warning

Only one instance of the OPA can run at a time. Once the service is installed through the UI, it is important to close the UI completely before attempting to start the OPA.

If the service fails to start or stops unexpectedly, determine if the OPA is running in Background mode or via the UI. Ensure that the OPA is not running and terminate running instances before restarting the service.

On-premise agent heartbeat failure

In some cases, the OPA's heartbeat could fail during normal operations. Heartbeats are sent periodically (approximately every 60 seconds). Long gaps between heartbeat logs could indicate the OPA stopped or lost connectivity. There are several potential causes for failed heartbeats:

  • The OPA process isn't running

  • You have an expired or invalid access token

  • There are network connectivity issues

  • A firewall or proxy is blocking the OPA

  • The OPA crashed or hung

  • There's a time skew between the OPA and the server

To determine if your OPA is functioning properly, check your logs (Windows, Linux). Use a text editor or command-line tool (grep, findstr) to find success or error logs.

A successful heartbeat can appear with any of the following success log messages:

  • [INFO] Heartbeat sent successfully 

  • [INFO] Agent heartbeat acknowledged by integrator.io 

A failed heartbeat can appear with any of the following error log messages:

  • [ERROR] Failed to send heartbeat: Connection timeout 

  • [ERROR] Unable to reach https://api.integrator.io 

  • [ERROR] Invalid token while sending heartbeat 

  • [ERROR] Socket timeout during heartbeat 

  • level=error, logName=heartbeatFailed, err=Error: getaddrinfo ENOTFOUND api.integrator.io at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26) { errno: -3008, code: 'ENOTFOUND', syscall: 'getaddrinfo', hostname: 'api.integrator.io' } 

If you find any of the above errors, check the logs again to determine if the OPA was able to connect to a tunnel. Successful tunnel messages usually look as follows:

  • 2025-05-06T12:08:22.172Z: level=info, logName=tunnelCreated 

  • 2025-05-06T12:08:23.346Z: level=info, logName=tunnelReadyForUse 

If your log isn't able to connect to a tunnel, it could mean that the server was not able to establish a connection to the Internet. Check for the following entries in the logs:

  • level=error 

  • logName=noInternet 

If noInternet appears, inspect nearby log entries for: heartbeatFailed. If both noInternet and heartbeatFailed are logged around the same time, it strongly suggests a network connectivity issue on your machine or server. There are generally two causes for network connectivity issues:

  1. Temporary Network Glitch: Your server may experience a brief loss of internet connectivity — lasting anywhere from a few seconds to a minute. These are typically self-resolving.

  2. Instance Resource Limitations (eg. AWS EC2): If you're using a low-tier EC2 instance such as t2.micro, t3.micro, or t3.small, it may be hitting:

    1. Network bandwidth limits

    2. Packet per second (PPS) caps

    3. CPU credit exhaustion

Sample logs:

level=error, logName=heartbeatFailed, err=Error: connect ETIMEDOUT 72.44.45.92:443
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1300:16) {
  errno: -4039,
  code: 'ETIMEDOUT',
  syscall: 'connect',
  address: '72.44.45.92',
  port: 443
}
level=error, logName=requestTunnel, requesting tunnel failed 
error={"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"api.integrator.io"}

Forward in errors not allowing to connect with tunnel (integrator.io server)

You can expect to see this log error approximately three times before the OPA connects to the tunnel, since sometimes the OPA tries to switch ports to find a free one. It may be an issue with Celigo's infrastructure if it's happening often and and in continuous intervals, leading to the OPA appearing Offline (red) in integrator.io. There are several other potential causes:

  • Temporary network instability: Brief network hiccups could cause occasional connection failures.

  • Server load fluctuations: If the server experiences periodic high load, it might occasionally reject new connections or fail to bind ports.

  • Stale connections are not being cleared quickly: If the system doesn't immediately free up ports from closed connections, we can hit these stale ports occasionally.

  • Race conditions leading to stale ports assignment.

To determine if your OPA is functioning properly, check your logs (Windows, Linux). Use a text editor or command-line tool (grep, findstr) to find the following log:

2025-05-01T22:59:50.176Z: level=error, logName=forwardInError, code=undefined, message=Unable to bind to 0.0.0.0:7017, stack=Error: 

If you see the logged error, contact Celigo Support.

Configuration and setup issues (while setting up database and HTTP connections)

If you are using on-prem JDBC connections, make sure JDK 17 is installed.

For Oracle database on-premise connections, the Oracle instant client must be installed on the user's computer.

Find uncaught exceptions

In some cases, you'll need to use the OPA logs to search for uncaught exceptions or other errors. An uncaught exception is an error that occurs during program execution but is not handled by any try/catch or equivalent exception-handling mechanism in the code. As a result, the program typically terminates abnormally, and a stack trace is often printed or logged to indicate where the error occurred. Uncaught exceptions can occur due to:

  • File descriptor or memory limits

  • Out of Memory (OOM): A condition where a system runs out of memory resources, leading to failures in executing processes. This situation often results in the operating system terminating processes to reclaim memory, which can cause unexpected crashes or degraded performance in applications. OOM conditions are typically associated with memory leaks or unbounded resource retention, which can impact system stability.

  • Missing environment variables

Sometimes the error isn't found in the OPA's logs. In those cases, you'll need to analyze your system-level logs.

Analyze stack traces

A stack trace is a report that provides information about the active stack frames at a specific point in time during the execution of a program. It is typically generated when an exception or error occurs and helps developers understand the sequence of function or method calls that led to the failure. Stack traces will often show:

  • The file name & line number of the source.

  • The function or method involved.

  • Whether it's during: startup, token validation, request forwarding, etc.

All of this data can be used to resolve your errors or sent to Celigo Support if you are unable to resolve them on your own. You can find stack trace errors easily in either Windows or Linux using the steps below:

Windows

To find your OPA's logs and analyze uncaught exceptions:

  1. Navigate to C:\Users\<YourUsername>\AppData\Roaming\Agent\.

  2. Open the log folder.

    1. In the Settings file, find uncaughtExceptionHappenedOnService and determine if it's set to True.

    2. Open the uncaughtException file.

  3. Search for common keywords, preferably using a log viewer or CLI tool. You can also use commands if you don't want to use your native search feature.

    Command: 

    Select-String -Path "C:\Users\<User>\AppData\Roaming\Agent\logs\agent.log" -Pattern "exception","error","uncaught","stack" 

    Common keywords:

    1. Uncaught Exception 

    2. UnhandledPromiseRejection 

    3. TypeError 

    4. ReferenceError 

    5. SocketTimeoutException 

    6. Stack traces 

To check for system-level triggers, use the Windows Event Viewer to search for:

  1. System logs: eventvwr.msc > Windows Logs > System

  2. Application logs

  3. Security logs

You can also use PowerShell commands like: Get-EventLog -LogName System

Linux

Logs are created in the /root/.config/agent/ folder. To find your OPA's logs and analyze uncaught exceptions:

  1. Use this command to determine if log files exist in your root directory:

    sudo find / -type f -name "*.log" 2>/dev/null 

  2. If the files exist, use this command to open the logs: ~/.agent/logs/

    – OR – 

    Open the files directly from the OPA directory.

  3. Open the Settings file by executing sudo cat /root/.config/agent/Settings.

    1. Find uncaughtExceptionHappenedOnService and determine if it's set to True.

  4. Search the log file for common keywords, preferably using a log viewer or CLI tool. You can also use commands if you don't want to use your native search feature.

    Command:

    sudo find / -type f -name "server-{{Current Date timestamp}}.log" -exec grep -iE 'exception|error|uncaught|stack' {} + 2>/dev/null 

    Example command: sudo find / -type f -name "server-2025-07-29.log" -exec grep -iE 'exception|error|uncaught|stack' {} + 2>/dev/null

    Common keywords:

    1. Uncaught Exception 

    2. UnhandledPromiseRejection 

    3. TypeError 

    4. ReferenceError 

    5. SocketTimeoutException 

    6. Stack traces 

  5. In the returned search list, find the following log entries:

    1. uncaughtException 

To check for system-level triggers, execute any of the following commands: /var/log/syslog, /var/log/messages, dmesg.

EPERM: Uncaught exception while uninstalling on-premise agent service

After uninstalling the OPA service, you may get an uncaught exception error and your OPA may crash. The error will include Error: EPERM: operation not permitted, unlink.

To uninstall the OPA service properly after receiving this error, click Uninstall service again in the OPA UI.

When to contact Celigo Support

You can create a support ticket at any time, but we especially recommend it if you run into any of the following:

  • An uncaught exception isn't self-explanatory.

  • The OPA crashes immediately after start.

  • The issue is reproducible but not logged clearly.

Before you contact Celigo Support, gather:

  • OPA log files 

  • If there is an uncaught exception, retrieve the uncaughtException file.

  • OPA version

  • OS details

  • Flow or connection details that trigger the error

Frequently Asked Questions (FAQs)

On-premise agent setup and configuration tips

How many instances of an OPA can I set up? 

You can run only one instance of the OPA on a machine. However, the same OPA can be used to allow integrator.io to talk to multiple databases and applications on the same network as the OPA.

Does the on-premise agent need to be installed on the same machine as the system to be integrated? 

Typically, OPAs can be installed on any machine within the same network as the server running the system to be integrated. However, there can be exceptions such as when setting up a JDBC connection.

Which IP addresses does the on-premise agent use to communicate with integrator.io? 

The OPA uses several IP addresses to communicate with integrator.io. If you need to open up outbound traffic for an OPA running in your environment:

  • Whitelist the integrator.io IP addresses for the US or the EU for the HTTPS protocol.

  • Whitelist the agent-extension server IP addresses for the US or the EU for the SSH protocol.

How can I reopen the on-premise agent window and make changes, after it's set to run in the background? 

Most OPA installations choose to Run in background, in which case the program, On-Premise Agent – integrator.io, is not visible in the Windows taskbar. To restore the OPA user interface and make changes or view activity logs, double-click the program's shortcut.

How can I keep my on-premise agent from stopping unexpectedly? 

To stop your OPA from closing unexpectedly, use a small and dedicated Windows server, then run the agent in the background. We recommend you don't use that machine for anything else, though you technically can.

Will there be any difference to my entitlements when I move from current setup to multi-environments?

Resources are not shared between environments. A new OPA needs to be configured for each non-production environment after migration.

Can I use the same on-premise agent across multiple environments?

It depends on which environment setup your account uses.

Legacy Production/Sandbox: If your account is on the legacy Production/Sandbox license, resources — including on-premise agents — are shared between your Production and Sandbox environments. You can use the same OPA for connections in both.

Multi-environment: If your account has migrated to the multi-environment setup, environments are fully isolated by design and resources cannot be shared across them. Each environment — Production, Dev, Sandbox, or any other non-production environment — requires its own agent instance, created separately under ResourcesOn-premise AgentsCreate Agent. Each instance generates its own unique token and must be installed independently.

If you're migrating from a legacy Sandbox to multi-environment: Your existing OPA will not carry over to the new non-production environment. After migration, you'll need to create and configure a new agent for each non-production environment.

Audit logs

To view activity logs, double-click the program's shortcut and click View logs in the desktop application, or you can browse the folder C:\users\<UserName>\AppData\Roaming\Agent.

360071137811-agent-ui.png