KPIs¶
6WIND KPI monitoring provides the ability to monitor and export Virtual Service 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 such as licensing or network interface
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:
vsr running config# system kpi
vsr running kpi# / vrf main kpi telegraf
vsr running telegraf/# influxdb-output url http://1.1.1.1:8086 database test
vsr 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:
vsr running config# / vrf main kpi interface vlan0
vsr running config# / vrf main kpi interface vlan1
vsr 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:
vsr 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:
vsr 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>