KPIs

6WIND KPI monitoring provides the ability to monitor and export Turbo Router 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.

By default, the network interfaces that are exported to the InfluxDB server are the fast path ports. This can be changed be specifying the list of interfaces:

vrouter running config# / vrf main kpi interface vlan0
vrouter running config# / vrf main kpi interface vlan1
vrouter running config/# commit

Note

If a list of interfaces is specified, the default will not apply anymore and the fast path ports will have to be added manually to the kpi interface list to be exported.

To display the state:

vrouter running config# show state vrf main kpi
kpi
    interface vlan0
    interface vlan1
    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-times</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">
      <interface>vlan0</interface>
      <interface>vlan1</interface>
      <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>