supported by zabbix_agentd addon

Item key Description Available since
ipfire.services.get Summary of IPFire services, their state, pids and memory usage. Core Update 189 / zabbix_agentd addon v6.0.33
ipfire.net.gateway.pingtime Internet Gateway ping timings. Core Update 170 / zabbix_agentd addon v6.0.6
ipfire.net.gateway.ping Internet Gateway availability. Core Update 170 / zabbix_agentd addon v6.0.6
ipfire.net.fw.hits.raw Firewall Filter Forward chain drops in bytes/chain. Core Update 170 / zabbix_agentd addon v6.0.6
ipfire.dhcpd.clients Number of currently Active DHCP leases Core Update 170 / zabbix_agentd addon v6.0.6
ipfire.captive.clients Number of Captive Portal clients Core Update 170 / zabbix_agentd addon v6.0.6
pakfire.status Pakfire status message containing IPFire Core Update version information and available update information Core Update 132 / zabbix_agentd addon v4.2.1
ipfire.ovpn.clients.discovery Discovery of configured ovpn clients. Core Update 179 / zabbix_agentd addon v6.0.19
ipfire.ovpn.statusreport.get OpenVPN server statusreport. Core Update 179 / zabbix_agentd addon v6.0.19
ipfire.ovpn.clientcert OpenVPN certificate details/validation. Core Update 185 / zabbix_agentd addon v6.0.27
ipfire.ovpn.cacert OpenVPN CA certificate details/validation. Core Update 185 / zabbix_agentd addon v6.0.27

Item key details

Parameters without angle brackets are mandatory. Parameters marked with angle brackets < > are optional.

ipfire.services.get

Summary of IPFire services, their state, pids and memory usage. Can be used for low-level discovery.
Return value: JSON object

This item returns a JSON with information about IPFire builtin and addon services, for example:

[
  {
    "service": "DHCP Server",
    "servicename": "dhcpd",
    "state": 1,
    "pids": [
      3855
    ],
    "memory": 6684672
  },
  {
    "service": "Addon: zabbix_agentd",
    "servicename": "zabbix_agentd",
    "onboot": 1,
    "state": 1,
    "pids": [
      17207
    ],
    "memory": 2740224
  }
]
ipfire.net.gateway.pingtime

Internet Gateway ping timings, can be used to measure "Internet Line Quality"
Return value: Integer

ipfire.net.gateway.ping

Internet Gateway availability, can be used to check Internet connection
Return value: Integer

ipfire.net.fw.hits.raw

Firewall Filter Forward chain drops in bytes/chain, can be used for low-level discovery of firewall chains and monitoring of firewall hits on each chain
Return value: JSON object

This item returns a JSON with Firewall filter chain drops in bytes/chain, for example:

[
  {
    "chain": "CTINVALID",
    "bytes": "739395"
  },
  {
    "chain": "FORWARD",
    "bytes": "12506820"
  },
  {
    "chain": "INPUT",
    "bytes": "1005809"
  },
  {
    "chain": "OUTPUT",
    "bytes": "0"
  }
]
ipfire.dhcpd.clients

Number of currently Active DHCP leases
Return value: Integer

ipfire.captive.clients

Number of Captive Portal clients
Return value: Integer

pakfire.status

Pakfire status message containing IPFire Core Update version information and available update information
Return value: Text

ipfire.ovpn.clients.discovery

Discovery of configured ovpn clients for use with low-level discovery.
Return value: JSON object

This item returns a JSON with configured OpenVPN clients, for example:

[
  {
    "{#NAME}": "Laptop",
    "{#COMMONNAME}": "Ideapad",
    "{#STATE}": "on",
    "{#REMARK}": "",
    "{#TYPE}": "host"
  },
  {
    "{#NAME}": "Gsm",
    "{#COMMONNAME}": "Oneplus",
    "{#STATE}": "on",
    "{#REMARK}": "",
    "{#TYPE}": "host"
  }
]
Supported macros

The following macros are supported for use in the discovery rule filter and prototypes of items, triggers and graphs:

Macro Description
{#NAME} Name of the OpenVPN client as entered in IPFire webUI
{#COMMONNAME} Common name as used in the OpenVPN client certificate
{#STATE} Whether the client is Enabled ("on") or Disabled ("off") in IPFire webUI
{#REMARK} Remark as entered in IPFire webUI
{#TYPE} OpenVPN client type: "host" for Host-to-Net, "net" for Net-to-Net
ipfire.ovpn.statusreport.get

OpenVPN statusreport.
Return value: JSON object

Comments:

  • Can also be called with empty parameters: ipfire.ovpn.statusreport.get[] for use as an item prototype in a discovery rule with an empty {#SINGLETON} macro.

This item parses /var/run/ovpnserver.log and returns a JSON with the parsed result, for example:

{
  "timestamp": 1729283374,
  "clients": [
    {
      "common_name": "Oneplus",
      "real_address": "192.168.1.100:59650",
      "bytes_in": "99023277",
      "bytes_out": "1683354183",
      "connected_since": "1729183106"
    }
  ],
  "routing_table": [
    {
      "common_name": "Oneplus",
      "virtual_address": "10.220.189.18",
      "real_address": "192.168.1.100:59650",
      "last_ref": "1729283354"
    }
  ]
}
ipfire.ovpn.clientcert[ovpn_clientname]

Validates the OpenVPN server or client certificate and returns certificate details.
Return value: JSON object

Parameters:

  • ovpn_clientname - OpenVPN client-name as returned in the {#NAME} macro by ipfire.ovpn.clients.discovery for client certificate or server for the OpenVPN server certificate.

Comments:

  • This item turns unsupported if the resource specified in ovpn_clientname does not exist

Example:

ipfire.ovpn.clientcert[server]     # To get/validate the OpenVPN server certificate
ipfire.ovpn.clientcert[Laptop001]  # To get/validate the OpenVPN client certificate for client "Laptop001"

This item returns a JSON with requested certificate details and validation result, for example:

{
  "x509": {
    "version": "3",
    "serial_number": "1",
    "signature_algorithm": "sha256WithRSAEncryption",
    "issuer": "C=DE, O=IPFire, CN=IPFire appliance CA, emailAddress=info@ipfire.example.domain",
    "not_before": {
      "value": "Feb 13 18:58:17 2022 GMT",
      "timestamp": "1644778697"
    },
    "not_after": {
      "value": "Jan 10 18:58:17 4760 GMT",
      "timestamp": "88044692297"
    },
    "subject": "C=DE, O=IPFire, CN=ipfire.example.domain",
    "public_key_algorithm": "rsaEncryption"
  },
  "result": {
    "value": "valid",
    "message": "certificate verified successfully"
  },
  "sha1_fingerprint": "A4:23:1C:0F:EF:FE:8C:43:F5:14:43:83:BD:5C:E1:3E:AC:5E:A1:E7",
  "sha256_fingerprint": "A5:64:D9:BA:35:4D:43:9E:F0:7D:BC:AD:EC:62:93:BD:C9:82:3B:95:D5:83:78:11:D4:40:60:6D:AF:42:3C:E5"
}
ipfire.ovpn.cacert

Validates the OpenVPN CA certificate and returns certificate details.
Return value: JSON object

Comments:

  • Can also be called with empty parameters: ipfire.ovpn.cacert[] for use as an item prototype in a discovery rule with an empty {#SINGLETON} macro.
  • The returned JSON object has the same format as ipfire.ovpn.clientcert.