Skip to main content
Version: Next

NFO Server & Controller Logs

Log File Reference

NFO logs are located in $NFO_HOME/logs, while Controller and Tomcat logs are in $NFO_HOME/tomcat/logs.

NFO Engine & Controller Logs

Log File NameSourceDescription
nfc_server.<timestamp>.logEnginePrimary Log. NFO core process events, enabled modules, and processing errors.
server.<timestamp>.logEngineStartup logs and redirected process standard output.
process.log<.#>EngineCPU/Memory usage and statistics for incoming/outgoing traffic (NetFlow and SNMP).
nf2sl.log<.#>ControllerAuth & UI. Controller keep-alive, user logins, configuration changes, and errors.
nfo-output.log<.#>ControllerTelemetry for TCP-based outputs (Kafka, OpenSearch, Azure Log Analytics).
templates.logControllerInformation about received NetFlow v9/IPFIX templates.
localhost_access_log.<date>TomcatAll GUI requests, including source IP address and access time.
catalina.outTomcatTomcat process redirected standard output.
catalina.#.logTomcatDetailed Tomcat process events and startup errors.
nfo_audit.logControllerAudit trail of unresponsive devices placed on the "Skip SNMP polling" list.

EDFN Logs

These logs are located in /opt/nfi-updater/logs/ (Linux) or the updater\logs directory (Windows).

Log File NameModuleDescription
nfi-updater.logCorePrimary Log. Threat feed download status and GeoIP database synchronization.
aws_collector.logCloudAWS VPC Flow Log ingestion status, SQS polling, and S3 access logs.
azure_collector.logCloudAzure NSG/VNet Flow Log ingestion via Event Hubs.
gcp_collector.logCloudGoogle Cloud Platform flow ingestion status via Pub/Sub topics.

Log Levels & Verbosity

NFO logging levels are (from least to most verbose): Error > Debug > Verbose > Flood.

To change the log level:

  1. Navigate to Tracing and Configuration.
  2. Select the desired Tracing verbosity level.
  3. Press Save. (A restart is not required).

Interpreting Error Signatures

Engine (server.log & nfc_server.log)

ProblemWhat to look forProposed Action
OS Stopped Process...flowintegrator.sh: line 90: ... KilledStart NFO Server; ensure "Keep Alive" is enabled. Check OS OOM-Killer logs.
Process Crash...flowintegrator.sh: line 90: ... Segmentation faultRestart NFO. Send logs and any .core files to Support.
Insufficient Memoryout of memoryAdd RAM to the host or VM.
Config FailureON CONFIG: local configuration failed: 22Correct configuration in Web UI; check Status page for specific error.

Controller (nf2sl.log & catalina.log)

ProblemWhat to look forProposed Action
Java Heap Exhaustionjava.lang.OutOfMemoryErrorIncrease -Xmx parameter in tomcat/bin/setenv.sh.
Startup FailureContext [] startup failed due to previous errorsCheck filesystem permissions or port conflicts; restart Controller.
Server Sync IssueNetFlow Integrator server not startedThe Controller cannot reach the Engine on port 20048. Check firewall.
License Issue[ALERT] ... license expirationVerify license in the Web UI.
Unauthorized AccessUnexpected updater User-AgentSomeone is using EDFN credentials over the REST API improperly.

Next Steps

= = = = To effectively troubleshoot NFO, you must understand how its internal processes interact and where they store their event data.

System Internals

NetFlow Optimizer consists of several decoupled components. Understanding which component handles which task is the first step in log analysis:

  • The Controller (Java/Tomcat): Manages the Web UI, user authentication, and high-level logic coordination. It runs as the jsvc process.
  • The Engine (C++): The high-performance core (nfc_svr) responsible for receiving, processing, and sending flow data.
  • The External Data Feeder for NFO (EDFN): Also running as a jsvc process, the EDFN engine plays a crucial role in enriching and transforming raw flow data. It handles external intelligence (GeoIP, Threat Lists) and cloud log ingestion (AWS, Azure, GCP).
  • The Database (HSQLDB): A local service that stores your module configurations, watchlists, and system state.

Next Steps

Use the following guides to dig deeper into system events: