KPIs

6WIND KPI monitoring provides the ability to monitor and export Turbo IPsec KPIs to an InfluxDB time-series database, which can then be integrated with an analytics frontend, such as Grafana. An example of InfluxDB/Grafana setup is described on 6WIND’s github.

Configuring KPIs requires to:

  • enable and configure the KPIs daemon to specify which KPIs to collect

  • enable and configure the Telegraf agent to export the specified KPIs to a remote InfluxDB database

To configure the KPIs daemon with everything it can collect, and the Telegraf agent to send data to the InfluxDB server located at http://1.1.1.1:8086, in the test database, do:

vrouter running config# system kpi
vrouter running kpi# / vrf main kpi telegraf
vrouter running telegraf/# influxdb-output url http://1.1.1.1:8086 database test
vrouter running telegraf/# commit

Note

To connect Telegraf to a secured InfluxDB instance (https URL) that is using a self-signed certificate, you must enable insecure-skip-verify.

For reference, using the deprecated way of configuring KPIs, the configuration would look like:

vrouter running config# vrf main kpi
vrouter running kpi/# telegraf
vrouter running telegraf/# influxdb-output url http://1.1.1.1:8086 database test
vrouter running telegraf/# commit

To display the state:

vrouter running config# show state vrf main kpi
kpi
    telegraf
        interval 10
        enabled true
        influxdb-output url http://1.1.1.1:8086 database test
        ..
    ..

The same configuration can be made using this NETCONF XML configuration:

vrouter running config# show config xml absolute
<config xmlns="urn:6wind:vrouter">
  <system xmlns="urn:6wind:vrouter/system>
    <kpi xmlns="urn:6wind:vrouter/kpi">
      <enabled>true</enabled>
      <service>fp-bridge-stats</service>
      <service>fp-context-switch-stats</service>
      <service>fp-cp-protect-stats</service>
      <service>fp-cpu-usage</service>
      <service>fp-dpvi-stats</service>
      <service>fp-ebtables-stats</service>
      <service>fp-exception-queue-stats</service>
      <service>fp-exceptions-stats</service>
      <service>fp-filling</service>
      <service>fp-filling-cg-nat</service>
      <service>fp-global-stats</service>
      <service>fp-gre-stats</service>
      <service>fp-gro-stats</service>
      <service>fp-ip-stats</service>
      <service>fp-ip6-stats</service>
      <service>fp-ipsec-stats</service>
      <service>fp-ipsec6-stats</service>
      <service>fp-cg-nat-stats</service>
      <service>fp-ports-stats</service>
      <service>fp-status</service>
      <service>fp-vlan-stats</service>
      <service>fp-vxlan-stats</service>
      <service>network-nic-eth-stats</service>
      <service>network-nic-hw-info</service>
      <service>network-nic-traffic-stats</service>
      <service>product-license</service>
      <service>product-version</service>
      <service>system-cpu-usage</service>
      <service>system-disk-usage</service>
      <service>system-memory</service>
      <service>system-numa-stats</service>
      <service>system-processes</service>
      <service>system-soft-interrupts-stats</service>
      <service>system-uptime</service>
      <service>system-user-count</service>
      <service>system-users</service>
  </system>
  <vrf>
    <name>main</name>
    <kpi xmlns="urn:6wind:vrouter/kpi">
      <telegraf xmlns="urn:6wind:vrouter/kpi/telegraf">
        <enabled>true</enabled>
        <interval>10</interval>
        <influxdb-output>
          <url>http://1.1.1.1:8086</url>
          <database>test</database>
        </influxdb-output>
      </telegraf>
      <interface xmlns="urn:6wind:vrouter/interface"/>
    </kpi>
  </vrf>
</config>