extends:
  - a10.yaml

selector:
  - sysobjectid:
      include:
        - 1.3.6.1.4.1.22610.1.3.* # A10 Thunder

metadata:
  device:
    fields:
      type:
        value: "ADC"

metric_tags:
  - OID: 1.3.6.1.4.1.22610.2.4.1.6.2.0
    symbol: axSysSerialNumber
    tag: ax_sys_serial_number
  - OID: 1.3.6.1.4.1.22610.2.4.1.6.3.0
    symbol: axSysFirmwareVersion
    tag: ax_sys_firmware_version
  - OID: 1.3.6.1.4.1.22610.2.4.1.6.4.0
    symbol: axSysAFleXEngineVersion
    tag: ax_sys_a_fle_x_engine_version

metrics:
  - MIB: A10-AX-MIB
    symbol:
      name: axSysMemoryTotal
      OID: 1.3.6.1.4.1.22610.2.4.1.2.1.0
      chart_meta:
        family: 'System/Memory/Total'
        description: The total memory
        unit: "By"
      scale_factor: 1024

  - MIB: A10-AX-MIB
    symbol:
      name: axSysMemoryUsage
      OID: 1.3.6.1.4.1.22610.2.4.1.2.2.0
      chart_meta:
        family: 'System/Memory/Used'
        description: The usage memory
        unit: "By"
      scale_factor: 1024

  - MIB: A10-AX-MIB
    symbol:
      name: cpu.usage # axSysAverageCpuUsage
      OID: 1.3.6.1.4.1.22610.2.4.1.3.3.0
      chart_meta:
        family: 'System/CPU/Usage'
        description: The current CPU utilization
        unit: "%"

  - MIB: A10-AX-MIB
    symbol:
      name: axSysDiskTotalSpace
      OID: 1.3.6.1.4.1.22610.2.4.1.4.1.0
      chart_meta:
        family: 'System/Disk/Space/Total'
        description: The total space of the disk
        unit: "By"
      scale_factor: 1048576

  - MIB: A10-AX-MIB
    symbol:
      name: axSysDiskFreeSpace
      OID: 1.3.6.1.4.1.22610.2.4.1.4.2.0
      chart_meta:
        family: 'System/Disk/Space/Free'
        description: The free space of the disk
        unit: "By"
      scale_factor: 1048576

  - MIB: A10-AX-MIB
    symbol:
      name: axSysHwPhySystemTemp
      OID: 1.3.6.1.4.1.22610.2.4.1.5.1.0
      chart_meta:
        family: 'Environment/Temperature/Value'
        description: The physical system temperature in Celsius
        unit: "Cel"
  - MIB: A10-AX-MIB
    symbol:
      name: axAppGlobalTotalCurrentConnections
      OID: 1.3.6.1.4.1.22610.2.4.3.1.2.1.0
      chart_meta:
        family: 'System/Application/Connection/Current/Total'
        description: Total current connections
        unit: "{connection}"
  - MIB: A10-AX-MIB
    symbol:
      name: axAppGlobalTotalNewConnections
      OID: 1.3.6.1.4.1.22610.2.4.3.1.2.2.0
      chart_meta:
        family: 'System/Application/Connection/New/Total'
        description: Total new connections
        unit: "{connection}/s"
  - MIB: A10-AX-MIB
    symbol:
      name: axAppGlobalTotalNewL4Connections
      OID: 1.3.6.1.4.1.22610.2.4.3.1.2.3.0
      chart_meta:
        family: 'System/Application/Connection/New/L4'
        description: Total new L4 connections
        unit: "{connection}/s"
  - MIB: A10-AX-MIB
    symbol:
      name: axAppGlobalTotalNewL7Connections
      OID: 1.3.6.1.4.1.22610.2.4.3.1.2.4.0
      chart_meta:
        family: 'System/Application/Connection/New/L7'
        description: Total new L7 connections
        unit: "{connection}/s"
  - MIB: A10-AX-MIB
    symbol:
      name: axAppGlobalTotalNewIPNatConnections
      OID: 1.3.6.1.4.1.22610.2.4.3.1.2.5.0
      chart_meta:
        family: 'Network/NAT/Connection/New/IP'
        description: Total new IP-NAT connections
        unit: "{connection}/s"
  - MIB: A10-AX-MIB
    symbol:
      name: axAppGlobalTotalSSLConnections
      OID: 1.3.6.1.4.1.22610.2.4.3.1.2.6.0
      chart_meta:
        family: 'Network/SSL/Connection/New'
        description: Total new SSL connections
        unit: "{connection}/s"
  - MIB: A10-AX-MIB
    symbol:
      name: axAppGlobalTotalL7Requests
      OID: 1.3.6.1.4.1.22610.2.4.3.1.2.7.0
      chart_meta:
        family: 'System/Application/Request/L7/Total'
        description: Total L7 requests
        unit: "{request}/s"
  - MIB: A10-AX-MIB
    symbol:
      name: axGlobalAppPacketDrop
      OID: 1.3.6.1.4.1.22610.2.4.3.1.2.8.0
      chart_meta:
        family: 'System/Application/Packet/Dropped/Buffer'
        description: Total number of buffer drops in the last 10 seconds
        unit: "{packet}"
  - MIB: A10-AX-MIB
    symbol:
      name: axGlobalTotalAppPacketDrop
      OID: 1.3.6.1.4.1.22610.2.4.3.1.2.9.0
      chart_meta:
        family: 'System/Application/Packet/Dropped/BufferTotal'
        description: Total number of accumulative buffer drops
        unit: "{packet}/s"
  - MIB: A10-AX-MIB
    symbol:
      name: axGlobalTotalL4Session
      OID: 1.3.6.1.4.1.22610.2.4.3.1.2.10.0
      chart_meta:
        family: 'System/Session/L4/Total'
        description: Total number of L4 sessions
        unit: "{session}"
  - MIB: A10-AX-MIB
    symbol:
      name: axAppGlobalBufferConfigLimit
      OID: 1.3.6.1.4.1.22610.2.4.3.1.3.1.0
      chart_meta:
        family: 'System/Application/Buffer/Limit'
        description: Application buffer configured limit
        unit: "1"
  - MIB: A10-AX-MIB
    symbol:
      name: axAppGlobalBufferCurrentUsage
      OID: 1.3.6.1.4.1.22610.2.4.3.1.3.2.0
      chart_meta:
        family: 'System/Application/Buffer/Used'
        description: Application buffer current usage
        unit: "1"
  - MIB: A10-AX-MIB
    symbol:
      name: axConnReuseStatTotalOpenPersist
      OID: 1.3.6.1.4.1.22610.2.4.3.5.1.0
      chart_meta:
        family: 'System/Session/ConnectionReuse/Open'
        description: The total count of open persistent connection-reuse sessions
        unit: "{session}"
  - MIB: A10-AX-MIB
    symbol:
      name: axConnReuseStatTotalActivePersist
      OID: 1.3.6.1.4.1.22610.2.4.3.5.2.0
      chart_meta:
        family: 'System/Session/ConnectionReuse/Active'
        description: The total count of active persistent connection-reuse sessions
        unit: "{session}"
  - MIB: A10-AX-MIB
    symbol:
      name: axConnReuseStatTotalEstablished
      OID: 1.3.6.1.4.1.22610.2.4.3.5.3.0
      chart_meta:
        family: 'System/Session/ConnectionReuse/Established'
        description: The total count of established connection-reuse sessions
        unit: "{session}"
  - MIB: A10-AX-MIB
    symbol:
      name: axConnReuseStatTotalTerminated
      OID: 1.3.6.1.4.1.22610.2.4.3.5.4.0
      chart_meta:
        family: 'System/Session/ConnectionReuse/Terminated'
        description: The total count of terminated connection-reuse sessions
        unit: "{session}"
  - MIB: A10-AX-MIB
    symbol:
      name: axSessionGlobalStatTCPEstablished
      OID: 1.3.6.1.4.1.22610.2.4.3.19.1.1.0
      chart_meta:
        family: 'Network/Connection/TCP/Established'
        description: The count of TCP established
        unit: "{connection}"
  - MIB: A10-AX-MIB
    symbol:
      name: axSessionGlobalStatTCPHalfOpen
      OID: 1.3.6.1.4.1.22610.2.4.3.19.1.2.0
      chart_meta:
        family: 'Network/Connection/TCP/HalfOpen'
        description: The count of TCP half open
        unit: "{connection}"
  - MIB: A10-AX-MIB
    symbol:
      name: axSessionGlobalStatUDP
      OID: 1.3.6.1.4.1.22610.2.4.3.19.1.3.0
      chart_meta:
        family: 'Network/Connection/UDP/Active'
        description: The count of UDP connections
        unit: "{connection}"
  - MIB: A10-AX-MIB
    symbol:
      name: axSessionGlobalStatNonTcpUdpIPSession
      OID: 1.3.6.1.4.1.22610.2.4.3.19.1.4.0
      chart_meta:
        family: 'Network/Session/IP/Other'
        description: The count of non TCP/UDP IP sessions
        unit: "{session}"
  - MIB: A10-AX-MIB
    symbol:
      name: axSessionGlobalStatOther
      OID: 1.3.6.1.4.1.22610.2.4.3.19.1.5.0
      chart_meta:
        family: 'System/Session/Other/Active'
        description: The count of others
        unit: "{session}"
  - MIB: A10-AX-MIB
    symbol:
      name: axSessionGlobalStatReverseNATTCP
      OID: 1.3.6.1.4.1.22610.2.4.3.19.1.6.0
      chart_meta:
        family: 'Network/NAT/Connection/Reverse/TCP'
        description: The count of reverse NAT TCP
        unit: "{connection}"
  - MIB: A10-AX-MIB
    symbol:
      name: axSessionGlobalStatReverseNATUDP
      OID: 1.3.6.1.4.1.22610.2.4.3.19.1.7.0
      chart_meta:
        family: 'Network/NAT/Connection/Reverse/UDP'
        description: The count of reverse NAT UDP
        unit: "{connection}"
  - MIB: A10-AX-MIB
    symbol:
      name: axSessionGlobalStatFreeCurrentConns
      OID: 1.3.6.1.4.1.22610.2.4.3.19.1.9.0
      chart_meta:
        family: 'System/Connection/Free'
        description: The count of free current connections
        unit: "{connection}"
  - MIB: A10-AX-MIB
    symbol:
      name: axSessionGlobalStatConnCount
      OID: 1.3.6.1.4.1.22610.2.4.3.19.1.10.0
      chart_meta:
        family: 'System/Connection/Current'
        description: The count of current connections
        unit: "{connection}"
  - MIB: A10-AX-MIB
    symbol:
      name: axSessionGlobalStatConnFree
      OID: 1.3.6.1.4.1.22610.2.4.3.19.1.11.0
      chart_meta:
        family: 'System/Connection/Freed'
        description: The count of freed connections
        unit: "{connection}/s"
  - MIB: A10-AX-MIB
    symbol:
      name: axSessionGlobalStatTCPSynHalfOpen
      OID: 1.3.6.1.4.1.22610.2.4.3.19.1.12.0
      chart_meta:
        family: 'Network/Connection/TCP/SynHalfOpen'
        description: The count of TCP SYN half open
        unit: "{connection}"
  - MIB: A10-AX-MIB
    symbol:
      name: axSessionGlobalStatConnSMPAllocated
      OID: 1.3.6.1.4.1.22610.2.4.3.19.1.13.0
      chart_meta:
        family: 'System/Connection/SMP/Allocated'
        description: The count of allocated SMP connections
        unit: "{connection}"
  - MIB: A10-AX-MIB
    symbol:
      name: axSessionGlobalStatConnSMPFree
      OID: 1.3.6.1.4.1.22610.2.4.3.19.1.14.0
      chart_meta:
        family: 'System/Connection/SMP/Free'
        description: The count of free SMP connections
        unit: "{connection}"
  - MIB: A10-AX-MIB
    table:
      name: axSysFanStatusTable
      OID: 1.3.6.1.4.1.22610.2.4.1.5.9
    symbols:
      - name: axFanSpeed
        OID: 1.3.6.1.4.1.22610.2.4.1.5.9.1.4
        chart_meta:
          family: 'Hardware/Fan/Speed'
          description: The fan's speed
          unit: "{revolution}/min"
      - name: axFanStatus
        OID: 1.3.6.1.4.1.22610.2.4.1.5.9.1.3
        chart_meta:
          family: 'Hardware/Fan/Status'
          description: Fan status
          unit: "{status}"
        mapping:
          0: failed
          4: ok_fixed_high
          5: ok_low_med
          6: ok_med_med
          7: ok_med_high
          -2: not_ready
          -1: unknown
    metric_tags:
      - symbol:
          name: axFanName
          OID: 1.3.6.1.4.1.22610.2.4.1.5.9.1.2
        tag: ax_fan_name

  - MIB: A10-AX-MIB
    table:
      name: axPowerSupplyVoltageTable
      OID: 1.3.6.1.4.1.22610.2.4.1.5.11
    symbols:
      - OID: 1.3.6.1.4.1.22610.2.4.1.5.11.1.2
        name: axPowerSupplyVoltageStatus
        chart_meta:
          family: 'Hardware/Power/Voltage/Status'
          description: Power Supply voltage status
          unit: "{status}"
        mapping:
          0: invalid
          1: normal
          2: unknown
    metric_tags:
      - symbol:
          name: axPowerSupplyVoltageDescription
          OID: 1.3.6.1.4.1.22610.2.4.1.5.11.1.3
        tag: ax_power_supply_voltage_description

  - MIB: A10-AX-MIB
    table:
      name: axSysPowerSupplyStatusTable
      OID: 1.3.6.1.4.1.22610.2.4.1.5.12
    symbols:
      - OID: 1.3.6.1.4.1.22610.2.4.1.5.12.1.3
        name: axPowerSupplyStatus
        chart_meta:
          family: 'Hardware/Power/Status'
          description: Power Supply status
          unit: "{status}"
        mapping:
          0: off
          1: on
          2: absent
          -1: unknown
    metric_tags:
      - symbol:
          name: axPowerSupplyName
          OID: 1.3.6.1.4.1.22610.2.4.1.5.12.1.2
        tag: ax_power_supply_name

  - MIB: A10-AX-MIB
    table:
      name: axServerTable
      OID: 1.3.6.1.4.1.22610.2.4.3.2.1.2
    symbols:
      - OID: 1.3.6.1.4.1.22610.2.4.3.2.1.2.1.3
        name: axServerEnabledState
        chart_meta:
          family: 'LoadBalancer/Server/Admin/Status'
          description: The enabled state for this server
          unit: "{status}"
        mapping:
          0: disabled
          1: enabled
      - OID: 1.3.6.1.4.1.22610.2.4.3.2.1.2.1.5
        name: axServerMonitorState
        chart_meta:
          family: 'LoadBalancer/Server/Operational/Status'
          description: The server monitor status
          unit: "{status}"
        mapping:
          0: disabled
          1: up
          2: down
    metric_tags:
      - symbol:
          name: axServerName
          OID: 1.3.6.1.4.1.22610.2.4.3.2.1.2.1.1
        tag: ax_server_name

  - MIB: A10-AX-MIB
    table:
      name: axServerStatTable
      OID: 1.3.6.1.4.1.22610.2.4.3.2.2.2
    symbols:
      - name: axServerStatServerCurConns
        OID: 1.3.6.1.4.1.22610.2.4.3.2.2.2.1.8
        chart_meta:
          family: 'LoadBalancer/Server/Connection/Current'
          description: The current connections from server side
          unit: "{connection}"
      - name: axServerStatServerTotalCurrL7Reqs
        OID: 1.3.6.1.4.1.22610.2.4.3.2.2.2.1.12
        chart_meta:
          family: 'LoadBalancer/Server/Request/L7/Current'
          description: The number of current L7 requests if applicable
          unit: "{request}"
      - OID: 1.3.6.1.4.1.22610.2.4.3.2.2.2.1.10
        name: axServerStatServerStatus
        chart_meta:
          family: 'LoadBalancer/Server/Operational/Status'
          description: Server status
          unit: "{status}"
        mapping:
          0: disabled
          1: up
          2: down
    metric_tags:
      - symbol:
          name: axServerStatName
          OID: 1.3.6.1.4.1.22610.2.4.3.2.2.2.1.2
        tag: ax_server_stat_name

  - MIB: A10-AX-MIB
    table:
      name: axServiceGroupTable
      OID: 1.3.6.1.4.1.22610.2.4.3.3.1.2
    symbols:
      - OID: 1.3.6.1.4.1.22610.2.4.3.3.1.2.1.4
        name: axServiceGroupDisplayStatus
        chart_meta:
          family: 'LoadBalancer/ServiceGroup/Status'
          description: Service group status
          unit: "{status}"
        mapping:
          1: all_up
          2: functional_up
          3: partial_up
          4: stopped
    metric_tags:
      - symbol:
          name: axServiceGroupName
          OID: 1.3.6.1.4.1.22610.2.4.3.3.1.2.1.1
        tag: ax_service_group_name
      - symbol:
          name: axServiceGroupType
          OID: 1.3.6.1.4.1.22610.2.4.3.3.1.2.1.2
        tag: ax_service_group_type
        mapping:
          1: firewall
          2: tcp
          3: udp
      - symbol:
          name: axServiceGroupLbAlgorithm
          OID: 1.3.6.1.4.1.22610.2.4.3.3.1.2.1.3
        tag: ax_service_group_lb_algorithm
        mapping:
          0: round_robin
          1: weight_round_robin
          2: least_connection
          3: weight_least_connection
          4: service_least_connection
          5: service_weight_least_connection
          6: fast_response_time
          7: least_request
          8: round_robin_strict

  - MIB: A10-AX-MIB
    table:
      name: axVirtualServerTable
      OID: 1.3.6.1.4.1.22610.2.4.3.4.1.2
    symbols:
      - OID: 1.3.6.1.4.1.22610.2.4.3.4.1.2.1.5
        name: axVirtualServerDisplayStatus
        chart_meta:
          family: 'LoadBalancer/VirtualServer/Status'
          description: Display status of the virtual server
          unit: "{status}"
        mapping:
          0: disabled
          1: all_up
          2: functional_up
          3: partial_up
          4: stopped
    metric_tags:
      - symbol:
          name: axVirtualServerName
          OID: 1.3.6.1.4.1.22610.2.4.3.4.1.2.1.1
        tag: ax_virtual_server_name
      - symbol:
          name: axVirtualServerHAGroup
          OID: 1.3.6.1.4.1.22610.2.4.3.4.1.2.1.4
        tag: ax_virtual_server_ha_group
      - symbol:
          OID: 1.3.6.1.4.1.22610.2.4.3.4.1.2.1.3
          name: axVirtualServerEnabled
        tag: ax_virtual_server_enabled
        mapping:
          0: disabled
          1: enabled

  - MIB: A10-AX-MIB
    table:
      name: axVirtualServerStatTable
      OID: 1.3.6.1.4.1.22610.2.4.3.4.2.1
    symbols:
      - name: axVirtualServerStatPktsIn
        OID: 1.3.6.1.4.1.22610.2.4.3.4.2.1.1.3
        chart_meta:
          family: 'LoadBalancer/VirtualServer/Packet/In'
          description: The number of packets received from client to server
          unit: "{packet}/s"
      - name: axVirtualServerStatBytesIn
        OID: 1.3.6.1.4.1.22610.2.4.3.4.2.1.1.4
        chart_meta:
          family: 'LoadBalancer/VirtualServer/Traffic/In'
          description: The number of bytes received from client to server
          unit: "By/s"
      - name: axVirtualServerStatPktsOut
        OID: 1.3.6.1.4.1.22610.2.4.3.4.2.1.1.5
        chart_meta:
          family: 'LoadBalancer/VirtualServer/Packet/Out'
          description: The number of packets sent from server to client
          unit: "{packet}/s"
      - name: axVirtualServerStatBytesOut
        OID: 1.3.6.1.4.1.22610.2.4.3.4.2.1.1.6
        chart_meta:
          family: 'LoadBalancer/VirtualServer/Traffic/Out'
          description: The number of bytes sent from server to client
          unit: "By/s"
      - name: axVirtualServerStatPersistConns
        OID: 1.3.6.1.4.1.22610.2.4.3.4.2.1.1.7
        chart_meta:
          family: 'LoadBalancer/VirtualServer/Connection/Persistent'
          description: The persistent connections from client side
          unit: "{connection}"
      - name: axVirtualServerStatTotConns
        OID: 1.3.6.1.4.1.22610.2.4.3.4.2.1.1.8
        chart_meta:
          family: 'LoadBalancer/VirtualServer/Connection/Total'
          description: The total connections from client side
          unit: "{connection}/s"
      - name: axVirtualServerStatCurConns
        OID: 1.3.6.1.4.1.22610.2.4.3.4.2.1.1.9
        chart_meta:
          family: 'LoadBalancer/VirtualServer/Connection/Current'
          description: The current connections from client side
          unit: "{connection}"
      - name: axVirtualServerStatTotalL7Reqs
        OID: 1.3.6.1.4.1.22610.2.4.3.4.2.1.1.12
        chart_meta:
          family: 'LoadBalancer/VirtualServer/Request/L7/Total'
          description: The total number of L7 requests if applicable
          unit: "{request}/s"
      - name: axVirtualServerStatTotalCurrL7Reqs
        OID: 1.3.6.1.4.1.22610.2.4.3.4.2.1.1.13
        chart_meta:
          family: 'LoadBalancer/VirtualServer/Request/L7/Current'
          description: The number of current L7 requests if applicable
          unit: "{request}"
      - name: axVirtualServerStatTotalSuccL7Reqs
        OID: 1.3.6.1.4.1.22610.2.4.3.4.2.1.1.14
        chart_meta:
          family: 'LoadBalancer/VirtualServer/Request/L7/Successful'
          description: The number of successful L7 requests if applicable
          unit: "{request}/s"
      - OID: 1.3.6.1.4.1.22610.2.4.3.4.2.1.1.10
        name: axVirtualServerStatStatus
        chart_meta:
          family: 'LoadBalancer/VirtualServer/Operational/Status'
          description: Virtual server status
          unit: "{status}"
        mapping:
          1: up
          2: down
          3: disabled
    metric_tags:
      - symbol:
          name: axVirtualServerStatAddress
          OID: 1.3.6.1.4.1.22610.2.4.3.4.2.1.1.1
        tag: ax_virtual_server_stat_address
      - symbol:
          name: axVirtualServerStatName
          OID: 1.3.6.1.4.1.22610.2.4.3.4.2.1.1.2
        tag: ax_virtual_server_stat_name

  - MIB: A10-AX-MIB
    table:
      name: axVirtualServerPortStatTable
      OID: 1.3.6.1.4.1.22610.2.4.3.4.4.1
    symbols:
      - name: axVirtualServerPortStatCurConns
        OID: 1.3.6.1.4.1.22610.2.4.3.4.4.1.1.12
        chart_meta:
          family: 'LoadBalancer/VirtualServer/ServicePort/Connection/Current'
          description: Current connections from client side
          unit: "{connection}"
      - OID: 1.3.6.1.4.1.22610.2.4.3.4.4.1.1.13
        name: axVirtualServerStatPortDisplayStatus
        chart_meta:
          family: 'LoadBalancer/VirtualServer/ServicePort/Status'
          description: Virtual server port display status
          unit: "{status}"
        mapping:
          0: disabled
          1: all_up
          2: functional_up
          4: stopped
      - OID: 1.3.6.1.4.1.22610.2.4.3.4.4.1.1.5
        name: axVirtualServerStatPortStatus
        chart_meta:
          family: 'LoadBalancer/VirtualServer/ServicePort/Operational/Status'
          description: Virtual server port status
          unit: "{status}"
        mapping:
          1: up
          2: down
          3: disabled
    metric_tags:
      - symbol:
          name: axVirtualServerPortStatAddress
          OID: 1.3.6.1.4.1.22610.2.4.3.4.4.1.1.1
        tag: ax_virtual_server_port_stat_address
      - symbol:
          name: axVirtualServerStatPortType
          OID: 1.3.6.1.4.1.22610.2.4.3.4.4.1.1.2
        tag: ax_virtual_server_stat_port_type
        mapping:
          1: firewall
          2: tcp
          3: udp
          8: rtsp
          9: ftp
          10: mms
          12: fast_http
          14: http
          15: https
          16: ssl_proxy
          17: smtp
          11: sip
          19: sips
          18: sip_tcp
          5: others
      - symbol:
          name: axVirtualServerStatPortNum
          OID: 1.3.6.1.4.1.22610.2.4.3.4.4.1.1.3
        tag: ax_virtual_server_stat_port_num
      - symbol:
          name: axVirtualServerPortStatName
          OID: 1.3.6.1.4.1.22610.2.4.3.4.4.1.1.4
        tag: ax_virtual_server_port_stat_name
