FCTEMS-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, enterprises, NOTIFICATION-TYPE FROM SNMPv2-SMI DisplayString FROM SNMPv2-TC OBJECT-GROUP, NOTIFICATION-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF; fctems MODULE-IDENTITY LAST-UPDATED "202506040000Z" ORGANIZATION "Fortinet" CONTACT-INFO "Fortinet " DESCRIPTION "MIB for FortiClient EMS SNMP metrics and notifications." ::= { enterprises 99999 } -- Base metrics cpuUsage OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Base OID for per-service CPU usage metrics" ::= { fctems 10 } memoryUsage OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Base OID for per-service memory usage metrics" ::= { fctems 20 } licUsed OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "License usage per tenant" ::= { fctems 30 } licUsedName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "Tenant name associated with license usage" ::= { fctems 31 } portUsage OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Port usage metric" ::= { fctems 40 } portUsageName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "Port identifier associated with usage" ::= { fctems 41 } emsNodeMon OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "EMS node monitoring metric" ::= { fctems 50 } emsNodeMonName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "EMS node name" ::= { fctems 51 } kaTimeMs OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Keep-alive time in milliseconds" ::= { fctems 60 } kaTimeMsName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "Site name for keep-alive" ::= { fctems 61 } netBytesSent OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Network bytes sent" ::= { fctems 70 } netBytesSentName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "Interface name for bytes sent" ::= { fctems 71 } netBytesRecv OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Network bytes received" ::= { fctems 72 } netBytesRecvName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "Interface name for bytes received" ::= { fctems 73 } emsDbNodeMon OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Database node monitoring" ::= { fctems 80 } emsDbNodeMonName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "Database node name" ::= { fctems 82 } -- Per-service CPU and memory fixed suffixes -- For demonstration, two services shown. You can replicate more as needed. fcemsApacheCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of apache2 service" ::= { cpuUsage 1 } fcemsFcemsAdconnectorCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_adconnector service" ::= { cpuUsage 2 } fcemsFcemsAddaemonCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_addaemon service" ::= { cpuUsage 3 } fcemsFcemsAdevtsrvCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_adevtsrv service" ::= { cpuUsage 4 } fcemsFcemsAdtaskCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_adtask service" ::= { cpuUsage 5 } fcemsFcemsChromebookCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_chromebook service" ::= { cpuUsage 6 } fcemsFcemsDasCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_das service" ::= { cpuUsage 7 } fcemsFcemsDbopCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_dbop service" ::= { cpuUsage 8 } fcemsFcemsDeployCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_deploy service" ::= { cpuUsage 9 } fcemsFcemsEcsocksrvCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_ecsocksrv service" ::= { cpuUsage 10 } fcemsFcemsForensicsCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_forensics service" ::= { cpuUsage 11 } fcemsFcemsFtntdbimpCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_ftntdbimp service" ::= { cpuUsage 12 } fcemsFcemsInstallerCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_installer service" ::= { cpuUsage 13 } fcemsFcemsKaCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_ka service" ::= { cpuUsage 14 } fcemsFcemsMdmCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_mdm service" ::= { cpuUsage 15 } fcemsFcemsMonitorCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_monitor service" ::= { cpuUsage 16 } fcemsFcemsNotifyCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_notify service" ::= { cpuUsage 17 } fcemsFcemsProbeCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_probe service" ::= { cpuUsage 18 } fcemsFcemsRegCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_reg service" ::= { cpuUsage 19 } fcemsFcemsScepCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_scep service" ::= { cpuUsage 20 } fcemsFcemsSipCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_sip service" ::= { cpuUsage 21 } fcemsFcemsTagCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_tag service" ::= { cpuUsage 22 } fcemsFcemsTaskCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_task service" ::= { cpuUsage 23 } fcemsFcemsUpdateCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_update service" ::= { cpuUsage 24 } fcemsFcemsUploadCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_upload service" ::= { cpuUsage 25 } fcemsFcemsZtnaCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of fcems_ztna service" ::= { cpuUsage 26 } fcemsPgbouncerCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of pgbouncer service" ::= { cpuUsage 28 } fcemsRedisServerCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of redis-server service" ::= { cpuUsage 29 } fcemsGrafanaCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of grafana service" ::= { cpuUsage 30 } fcemsInfluxdCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of influx service" ::= { cpuUsage 31 } fcemsTelegrafCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of telegraf service" ::= { cpuUsage 32 } fcemsRotateLogsCpu OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "CPU usage of rotatelogs service" ::= { cpuUsage 33 } fcemsApacheMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of apache2 service" ::= { memoryUsage 1 } fcemsFcemsAdconnectorMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_adconnector service" ::= { memoryUsage 2 } fcemsFcemsAddaemonMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_addaemon service" ::= { memoryUsage 3 } fcemsFcemsAdevtsrvMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_adevtsrv service" ::= { memoryUsage 4 } fcemsFcemsAdtaskMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_adtask service" ::= { memoryUsage 5 } fcemsFcemsChromebookMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_chromebook service" ::= { memoryUsage 6 } fcemsFcemsDasMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_das service" ::= { memoryUsage 7 } fcemsFcemsDbopMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_dbop service" ::= { memoryUsage 8 } fcemsFcemsDeployMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_deploy service" ::= { memoryUsage 9 } fcemsFcemsEcsocksrvMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_ecsocksrv service" ::= { memoryUsage 10 } fcemsFcemsForensicsMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_forensics service" ::= { memoryUsage 11 } fcemsFcemsFtntdbimpMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_ftntdbimp service" ::= { memoryUsage 12 } fcemsFcemsInstallerMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_installer service" ::= { memoryUsage 13 } fcemsFcemsKaMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_ka service" ::= { memoryUsage 14 } fcemsFcemsMdmMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_mdm service" ::= { memoryUsage 15 } fcemsFcemsMonitorMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_monitor service" ::= { memoryUsage 16 } fcemsFcemsNotifyMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_notify service" ::= { memoryUsage 17 } fcemsFcemsProbeMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_probe service" ::= { memoryUsage 18 } fcemsFcemsRegMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_reg service" ::= { memoryUsage 19 } fcemsFcemsScepMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_scep service" ::= { memoryUsage 20 } fcemsFcemsSipMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_sip service" ::= { memoryUsage 21 } fcemsFcemsTagMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_tag service" ::= { memoryUsage 22 } fcemsFcemsTaskMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_task service" ::= { memoryUsage 23 } fcemsFcemsUpdateMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_update service" ::= { memoryUsage 24 } fcemsFcemsUploadMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_upload service" ::= { memoryUsage 25 } fcemsFcemsZtnaMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of fcems_ztna service" ::= { memoryUsage 26 } fcemsPgbouncerMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of pgbouncer service" ::= { memoryUsage 28 } fcemsRedisServerMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of redis-server service" ::= { memoryUsage 29 } fcemsGrafanaMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of grafana service" ::= { memoryUsage 30 } fcemsInfluxdMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of influx service" ::= { memoryUsage 31 } fcemsTelegrafMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of telegraf service" ::= { memoryUsage 32 } fcemsRotateLogsMemory OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Memory usage of rotatelogs service" ::= { memoryUsage 33 } -- TRAP section fctemsTraps OBJECT IDENTIFIER ::= { fctems 200 } fctemsTrapMetricName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Metric name that triggered the trap" ::= { fctemsTraps 1 } fctemsTrapContext OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Context tags (e.g., site name, port)" ::= { fctemsTraps 2 } fctemsTrapCount OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Count value that triggered the trap" ::= { fctemsTraps 3 } fctemsTrapThreshold OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Threshold value" ::= { fctemsTraps 4 } fctemsTrapStatus OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Status: exceeded or normal" ::= { fctemsTraps 5 } fctemsThresholdExceeded NOTIFICATION-TYPE OBJECTS { fctemsTrapMetricName, fctemsTrapContext, fctemsTrapCount, fctemsTrapThreshold, fctemsTrapStatus } STATUS current DESCRIPTION "Trap sent when a metric exceeds or returns below threshold" ::= { fctemsTraps 0 } -- Compliance (optional but needed for validation) fctemsMetricGroup OBJECT-GROUP OBJECTS { cpuUsage, memoryUsage, licUsed, licUsedName, portUsage, portUsageName, emsNodeMon, emsNodeMonName, kaTimeMs, kaTimeMsName, netBytesSent, netBytesSentName, netBytesRecv, netBytesRecvName, emsDbNodeMon, emsDbNodeMonName, fcemsApacheCpu, fcemsApacheMemory, fcemsFcemsAdconnectorCpu, fcemsFcemsAdconnectorMemory, fcemsFcemsAddaemonCpu, fcemsFcemsAddaemonMemory, fcemsFcemsAdevtsrvCpu, fcemsFcemsAdevtsrvMemory, fcemsFcemsAdtaskCpu, fcemsFcemsAdtaskMemory, fcemsFcemsChromebookCpu, fcemsFcemsChromebookMemory, fcemsFcemsDasCpu, fcemsFcemsDasMemory, fcemsFcemsDbopCpu, fcemsFcemsDbopMemory, fcemsFcemsDeployCpu, fcemsFcemsDeployMemory, fcemsFcemsEcsocksrvCpu, fcemsFcemsEcsocksrvMemory, fcemsFcemsForensicsCpu, fcemsFcemsForensicsMemory, fcemsFcemsFtntdbimpCpu, fcemsFcemsFtntdbimpMemory, fcemsFcemsInstallerCpu, fcemsFcemsInstallerMemory, fcemsFcemsKaCpu, fcemsFcemsKaMemory, fcemsFcemsMdmCpu, fcemsFcemsMdmMemory, fcemsFcemsMonitorCpu, fcemsFcemsMonitorMemory, fcemsFcemsNotifyCpu, fcemsFcemsNotifyMemory, fcemsFcemsProbeCpu, fcemsFcemsProbeMemory, fcemsFcemsRegCpu, fcemsFcemsRegMemory, fcemsFcemsScepCpu, fcemsFcemsScepMemory, fcemsFcemsSipCpu, fcemsFcemsSipMemory, fcemsFcemsTagCpu, fcemsFcemsTagMemory, fcemsFcemsTaskCpu, fcemsFcemsTaskMemory, fcemsFcemsUpdateCpu, fcemsFcemsUpdateMemory, fcemsFcemsUploadCpu, fcemsFcemsUploadMemory, fcemsFcemsZtnaCpu, fcemsFcemsZtnaMemory, fcemsPgbouncerCpu, fcemsPgbouncerMemory, fcemsRedisServerCpu, fcemsRedisServerMemory, fcemsGrafanaCpu, fcemsGrafanaMemory, fcemsInfluxdCpu, fcemsInfluxdMemory, fcemsTelegrafCpu, fcemsTelegrafMemory, fcemsRotateLogsCpu, fcemsRotateLogsMemory, } STATUS current DESCRIPTION "All EMS metric objects" ::= { fctemsTraps 10 } fctemsNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { fctemsThresholdExceeded } STATUS current DESCRIPTION "All EMS traps" ::= { fctemsTraps 11 } fctemsCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance for EMS SNMP metrics and traps" MODULE MANDATORY-GROUPS { fctemsMetricGroup, fctemsNotificationGroup } ::= { fctemsTraps 12 } END