Skip to content

[FEAT] - Enhanced FortiGate app using the FortiOS REST API #1032

Description

@BillyOne971

Describe the what you'd like to have changed

Add an Enhanced integration for FortiGate (new app, not the existing Fortinet vendor tile and not Fortinet FortiMonitor).

After the foundation tile is scaffolded, the enhanced class should poll the FortiOS REST API with a read-only API token and show live stats on the tile, similar to UniFi.

Suggested tile stats:

  • hostname / FortiOS version
  • CPU %
  • memory %
  • active firewall sessions

Auth and config fields:

  • URL of the FortiGate (https://fw.example.tld or https://10.x.x.x)
  • API token (REST API administrator)
  • optional VDOM (default: root)
  • skip TLS verification (self-signed / internal PKI is common)

FortiOS only accepts token auth. Prefer the request header:

Authorization: Bearer <API-TOKEN>

Documented monitor endpoints (read-only):

  • GET /api/v2/monitor/system/status
  • GET /api/v2/monitor/system/resource/usage?resource=cpu&interval=1-min
  • GET /api/v2/monitor/system/resource/usage?resource=mem&interval=1-min
  • GET /api/v2/monitor/system/session

Refs:

Describe alternatives you've considered

Using the existing Fortinet foundation tile — it only bookmarks fortinet.com, no appliance status.
Using Fortinet FortiMonitor — that is Fortinet's cloud DEM product, not a local FortiGate.

A custom private app works, but FortiGate is common enough in homelabs and SMB that a first-party enhanced app would help.

Additional context

FortiOS 7.x. Tested against a hardware FortiGate with a dedicated REST API admin (read-only profile, trusted source = Heimdall host). Same API surface as prometheus-community/fortigate_exporter.

Are you willing to create a PR yourself?

No — requesting the foundation scaffold first. Happy to test an enhanced PR against a live FortiGate.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions