Monitor FortiEdge cloud infrastructure
Add FortiEdge Cloud orchestrator node for monitoring, monitor performance metrics, access points, and SSIDs for the wireless controller. Also, discover switches to monitor their metrics.
What does NPM monitor?
FortiEdge Cloud entities
Monitored Entity | Metrics |
---|---|
Wireless Controller |
|
Access Point |
|
Client |
|
Rogue Access Point |
|
Monitored device (switches) |
|
FortiEdge Cloud switches
Monitored Device (Switches) Entity | Metrics |
---|---|
Inventory Device |
|
CPU Load |
|
Memory Load |
|
Device Info |
|
Device Status |
|
IP Addresses |
|
Interfaces Status and Discovery |
|
Requirements
API user credentials (API ID, Password and ClientID) with Admin permission for FortiEdge Cloud. See API Users | FortiEdge Cloud User Guide.
Limitations
API Limit
The following rate limits apply to FortiEdge Cloud APIs. For more information, see API Limit.
-
A maximum of 6 authentication request per minute is allowed from the same source IP address. Across different source IP addresses, up to 60 authentication requests per minute are allowed.
-
A maximum of 60 other API request per minute is allowed from the same source IP address. Across different source IP address, up to 600 other API requests per minute are allowed.
Controller node status
The FortiEdge Cloud Status Poller uses API authorization requests to determine whether a node is responsive. Unlike ICMP requests, API calls typically take longer and often exceed the default response time thresholds, which are optimized for ICMP.
As a result, FortiEdge Cloud nodes may appear in a Warning or Critical state, even when there are no connectivity issues (for example, 0% packet loss).
To improve accuracy, consider adjusting the Response Time thresholds for FortiEdge Cloud nodes to better reflect the average response times of the service.
API calls used for polling/discovery
API request | Purpose |
---|---|
/api/v1/oauth/token/ | Authentication |
/api/v1/networks/ | Get networks |
/api/v1/networks/<NetworkID>/fap/access_points/ | Get wireless access points and interfaces |
/api/v1/networks/<NetworkID>/fap/monitor/stations | Get wireless clients |
/api/v1/networks/<NetworkID>/fap/monitor/rogue_aps | Get wireless rogues |
/api/v1/networks/<NetworkID>/fsw/switch/switches | Get switches |
/api/v1/networks/<NetworkID>/fsw/switch/switches/<SwitchSerial> | Get switch details, interfaces, CPU, memory, IP addresses |
Requests count
Requests | API Call Count |
---|---|
Node Status | 1 authentication request + 1 status request |
Wireless Access Points and Interfaces | 1 authentication request + 1 network request + number of networks * number of pages in access point request per network |
Rogue Access Points | 1 authentication request + 1 network request + number of networks * number of pages in rogue access point request per network |
Clients | 1 authentication request + 1 network request + number of networks * number of pages in client request per network |
Inventory Polling | 1 authentication request + 1 network request + number of networks * 1 for switches + number of networks * number of pages in access point request per network |
CPU and Memory Polling | 1 authentication request + 1 request for CPU and memory details |
Device Info | 1 authentication request + 1 network request + number of networks * 1 request |
Device Status | 1 authentication request + 1 network request + number of networks * 1 request |
IP Addresses | 1 authentication request + 1 request |
Interface Discovery and Status | 1 authentication request + 1 request |
Before You Begin
-
Log in to the FortiCloud IAM portal using your account credentials.
-
Create an API user and assign Admin permission for FortiEdge Cloud.
-
Download the API credentials:
- API ID
- Password
- Client ID
See API Users in the FortiEdge Cloud User Guide for details.
Add FortiEdge Cloud Infrastructure to NPM
-
Log in to the SolarWinds Platform Web Console as an administrator.
-
Go to Settings > Manage Nodes, and select Add a Node.
-
In Polling Method, select Orchestrators: API.
-
Select FortiEdge Cloud Devices and enter the required information:
-
API ID
-
Password
-
API URL
FortiEdge Cloud polling uses the global HTTP proxy settings. To change the defaults, click the Configure your HTTP proxy link.
-
-
Review and adjust device properties:
-
Confirm your FortiEdge Cloud user details, client details, and proxy settings.
-
To change how often the node status or statistics are updated, adjust the polling intervals.
By default, node status is polled every 120 seconds and statistics are polled every 10 minutes.
-
Enter values for any custom properties.
The Custom Properties area is empty if you have not defined any custom properties for the monitored nodes. See Custom properties in the SolarWinds Platform.
-
To adjust when the status of the node changes to Warning or Critical, select the Override box and set custom thresholds for the node.
FortiEdge Cloud response times may range from 1-2 seconds. Adjust thresholds accordingly.
-
-
Click OK, Add Node.
The FortiEdge Cloud orchestrator is now added as a node.
After the first poll, data from the device appears in the SolarWinds Platform Web Console.
-
In Manage Nodes, click the added node to view details in the Wireless Controller view.
-
Drill down into thin access points listed on the view.
-
In Node Details, verify that the Machine Type is listed as FortiEdge Cloud Orchestrator.
-
Add FortiEdge Cloud Devices Connected to the Orchestrator (Device Discovery)
After adding the FortiEdge Cloud orchestrator for monitoring, you can discover and add connected switches.
-
In SolarWinds Platform Web Console, click Settings > Manage Nodes.
-
In the Manager Nodes view, click the FortiEdge Cloud orchestrator node you added.
-
In the Orchestrator Details view, in the Management widget, click Discover FortiEdge Cloud Devices.
-
In the Request Hostnames and APIs popup, select the Switches box and click Continue.
The Network Sonar wizard launches to guide you through discovering devices you can poll via API from the orchestrator.
-
Complete the wizard.
-
Adjust the discovery timeout as needed.
-
Select how often to run the discovery and click Discover.
-
Select the device types you want to monitor and click Next.
-
Select the interfaces you want to monitor and click Next.
SolarWinds recommends that you do not monitor VoIP or NULL interfaces.
-
Review the list of elements to be imported and click Import.
-
When the import completes, click Finish. Switches (with interfaces on expanded row) are added as nodes.
-
Relevant widgets
Orchestrator Inventory
This widget displays a list of FortiEdge Cloud Devices connected to the managed orchestrator. Devices managed by SolarWinds Observability Self-Hosted are marked in the Managed by Platform column.
To add unmanaged devices, click Discover FortiEdge Cloud Devices.
Test FortiEdge Cloud Connection
You can test the connection using the Rest Walker Tool.
The tool is available at: C:\Program Files\SolarWinds\Orion\SolarWinds.RestWalkerWpfApp.exe
For Authentication, see API Users in Fortinet documentation.
- API ID - user API ID
- Password - password
Troubleshooting
Job Engine logs
Job Engine is responsible for scheduling and executing logs.
Log paths:
- JobEngine Logs:
C:\ProgramData\SolarWinds\JobEngine.v2\Logs\SolarWinds.JobEngineService_v2_2025_2.log
- JobEngine Worker Logs:
C:\ProgramData\SolarWinds\JobEngine.v2\Logs\SWJobEngineWorker_v2025_2*_SolarWinds.NetPath.Pollers.log
Collector Service logs
The Collector Service handles processing and storing polled data. You can adjust the log level for the Collector Service in the Log Adjuster.
Log path: C:\ProgramData\SolarWinds\Collector\Logs\Collector.Service.log
Interfaces Collector logs
Interface collector logs contain details about interface collector jobs. You can adjust the log level for the Interface Collector logs in the Log Adjuster.
Log path: C:\ProgramData\SolarWinds\Logs\Orion\Interfaces\Interfaces.Collector.Jobs_[%processid].log
Core Poller Jobs logs
Core Poller Jobs logs contain details about API requests execution and core polling jobs.
Log path: C:\ProgramData\SolarWinds\Logs\Orion\Core.Collector.Jobs_[%processid].log