Open mwiget opened 6 years ago
Turns out, the shell script based conversion from xpath to influxdb rest format works equally well and without any change when using another shema: snabb-softwire-v2:
snabb config get-state -s snabb-softwire-v2 -f xpath $HOSTNAME / \
| tr '/' ' ' | tr '[|]' ' ' | awk '{print $4 "," $2 "," $1 "=" $3 " value=" $5}' \
|grep -v 'value=$' \
| curl -i -XPOST 'http://influxdb:8086/write?db=lwaftr' --data-binary @-
Adding an example output using snabb-softwire-v2 schema. The device key contains the interface name, making it very easy to select individual interfaces or stack them in Grafana.
~ # snabb config get-state -s snabb-softwire-v2 -f xpath lwaftr1 / | tr '/' ' ' | tr '[|]' ' ' | awk '{print $4 "," $2 "," $1 "=" $3 " value=" $5}' \
> |grep -v 'value=$'
drop-all-ipv4-iface-bytes,device=eth4,instance=softwire-state value=14284
drop-all-ipv4-iface-packets,device=eth4,instance=softwire-state value=98
drop-all-ipv6-iface-bytes,device=eth4,instance=softwire-state value=10552
drop-all-ipv6-iface-packets,device=eth4,instance=softwire-state value=88
drop-bad-checksum-icmpv4-bytes,device=eth4,instance=softwire-state value=0
drop-bad-checksum-icmpv4-packets,device=eth4,instance=softwire-state value=0
drop-in-by-policy-icmpv4-bytes,device=eth4,instance=softwire-state value=0
drop-in-by-policy-icmpv4-packets,device=eth4,instance=softwire-state value=0
drop-in-by-policy-icmpv6-bytes,device=eth4,instance=softwire-state value=0
drop-in-by-policy-icmpv6-packets,device=eth4,instance=softwire-state value=0
drop-in-by-rfc7596-icmpv4-bytes,device=eth4,instance=softwire-state value=0
drop-in-by-rfc7596-icmpv4-packets,device=eth4,instance=softwire-state value=0
drop-ipv4-frag-disabled,device=eth4,instance=softwire-state value=0
drop-ipv4-frag-invalid-reassembly,device=eth4,instance=softwire-state value=0
drop-ipv4-frag-random-evicted,device=eth4,instance=softwire-state value=0
drop-ipv6-frag-disabled,device=eth4,instance=softwire-state value=0
drop-ipv6-frag-invalid-reassembly,device=eth4,instance=softwire-state value=0
drop-ipv6-frag-random-evicted,device=eth4,instance=softwire-state value=0
drop-misplaced-not-ipv4-bytes,device=eth4,instance=softwire-state value=14284
drop-misplaced-not-ipv4-packets,device=eth4,instance=softwire-state value=98
drop-misplaced-not-ipv6-bytes,device=eth4,instance=softwire-state value=9782
drop-misplaced-not-ipv6-packets,device=eth4,instance=softwire-state value=81
drop-no-dest-softwire-ipv4-bytes,device=eth4,instance=softwire-state value=0
drop-no-dest-softwire-ipv4-packets,device=eth4,instance=softwire-state value=0
drop-no-source-softwire-ipv6-bytes,device=eth4,instance=softwire-state value=0
drop-no-source-softwire-ipv6-packets,device=eth4,instance=softwire-state value=0
drop-out-by-policy-icmpv4-packets,device=eth4,instance=softwire-state value=0
drop-out-by-policy-icmpv6-packets,device=eth4,instance=softwire-state value=0
drop-over-mtu-but-dont-fragment-ipv4-bytes,device=eth4,instance=softwire-state value=0
drop-over-mtu-but-dont-fragment-ipv4-packets,device=eth4,instance=softwire-state value=0
drop-over-rate-limit-icmpv6-bytes,device=eth4,instance=softwire-state value=0
drop-over-rate-limit-icmpv6-packets,device=eth4,instance=softwire-state value=0
drop-over-time-but-not-hop-limit-icmpv6-bytes,device=eth4,instance=softwire-state value=0
drop-over-time-but-not-hop-limit-icmpv6-packets,device=eth4,instance=softwire-state value=0
drop-too-big-type-but-not-code-icmpv6-bytes,device=eth4,instance=softwire-state value=0
drop-too-big-type-but-not-code-icmpv6-packets,device=eth4,instance=softwire-state value=0
drop-ttl-zero-ipv4-bytes,device=eth4,instance=softwire-state value=0
drop-ttl-zero-ipv4-packets,device=eth4,instance=softwire-state value=0
drop-unknown-protocol-icmpv6-bytes,device=eth4,instance=softwire-state value=0
drop-unknown-protocol-icmpv6-packets,device=eth4,instance=softwire-state value=0
drop-unknown-protocol-ipv6-bytes,device=eth4,instance=softwire-state value=770
drop-unknown-protocol-ipv6-packets,device=eth4,instance=softwire-state value=7
hairpin-ipv4-bytes,device=eth4,instance=softwire-state value=0
hairpin-ipv4-packets,device=eth4,instance=softwire-state value=0
in-ipv4-bytes,device=eth4,instance=softwire-state value=8946
in-ipv4-frag-needs-reassembly,device=eth4,instance=softwire-state value=0
in-ipv4-frag-reassembled,device=eth4,instance=softwire-state value=0
in-ipv4-frag-reassembly-unneeded,device=eth4,instance=softwire-state value=170
in-ipv4-packets,device=eth4,instance=softwire-state value=63
in-ipv6-bytes,device=eth4,instance=softwire-state value=770
in-ipv6-frag-needs-reassembly,device=eth4,instance=softwire-state value=0
in-ipv6-frag-reassembled,device=eth4,instance=softwire-state value=0
in-ipv6-frag-reassembly-unneeded,device=eth4,instance=softwire-state value=108
in-ipv6-packets,device=eth4,instance=softwire-state value=7
ingress-packet-drops,device=eth4,instance=softwire-state value=0
memuse-ipv4-frag-reassembly-buffer,device=eth4,instance=softwire-state value=463482888
memuse-ipv6-frag-reassembly-buffer,device=eth4,instance=softwire-state value=464549592
out-icmpv4-bytes,device=eth4,instance=softwire-state value=0
out-icmpv4-packets,device=eth4,instance=softwire-state value=0
out-icmpv6-bytes,device=eth4,instance=softwire-state value=0
out-icmpv6-packets,device=eth4,instance=softwire-state value=0
out-ipv4-bytes,device=eth4,instance=softwire-state value=0
out-ipv4-frag,device=eth4,instance=softwire-state value=0
out-ipv4-frag-not,device=eth4,instance=softwire-state value=9
out-ipv4-packets,device=eth4,instance=softwire-state value=0
out-ipv6-bytes,device=eth4,instance=softwire-state value=11466
out-ipv6-frag,device=eth4,instance=softwire-state value=0
out-ipv6-frag-not,device=eth4,instance=softwire-state value=72
out-ipv6-packets,device=eth4,instance=softwire-state value=63
drop-all-ipv4-iface-bytes,device=eth0,instance=softwire-state value=814507
drop-all-ipv4-iface-packets,device=eth0,instance=softwire-state value=849
drop-all-ipv6-iface-bytes,device=eth0,instance=softwire-state value=4083757
drop-all-ipv6-iface-packets,device=eth0,instance=softwire-state value=1158
drop-bad-checksum-icmpv4-bytes,device=eth0,instance=softwire-state value=0
drop-bad-checksum-icmpv4-packets,device=eth0,instance=softwire-state value=0
drop-in-by-policy-icmpv4-bytes,device=eth0,instance=softwire-state value=0
drop-in-by-policy-icmpv4-packets,device=eth0,instance=softwire-state value=0
drop-in-by-policy-icmpv6-bytes,device=eth0,instance=softwire-state value=0
drop-in-by-policy-icmpv6-packets,device=eth0,instance=softwire-state value=0
drop-in-by-rfc7596-icmpv4-bytes,device=eth0,instance=softwire-state value=0
drop-in-by-rfc7596-icmpv4-packets,device=eth0,instance=softwire-state value=0
drop-ipv4-frag-disabled,device=eth0,instance=softwire-state value=0
drop-ipv4-frag-invalid-reassembly,device=eth0,instance=softwire-state value=0
drop-ipv4-frag-random-evicted,device=eth0,instance=softwire-state value=0
drop-ipv6-frag-disabled,device=eth0,instance=softwire-state value=0
drop-ipv6-frag-invalid-reassembly,device=eth0,instance=softwire-state value=0
drop-ipv6-frag-random-evicted,device=eth0,instance=softwire-state value=0
drop-misplaced-not-ipv4-bytes,device=eth0,instance=softwire-state value=43424
drop-misplaced-not-ipv4-packets,device=eth0,instance=softwire-state value=264
drop-misplaced-not-ipv6-bytes,device=eth0,instance=softwire-state value=4083317
drop-misplaced-not-ipv6-packets,device=eth0,instance=softwire-state value=1154
drop-no-dest-softwire-ipv4-bytes,device=eth0,instance=softwire-state value=771083
drop-no-dest-softwire-ipv4-packets,device=eth0,instance=softwire-state value=585
drop-no-source-softwire-ipv6-bytes,device=eth0,instance=softwire-state value=0
drop-no-source-softwire-ipv6-packets,device=eth0,instance=softwire-state value=0
drop-out-by-policy-icmpv4-packets,device=eth0,instance=softwire-state value=585
drop-out-by-policy-icmpv6-packets,device=eth0,instance=softwire-state value=0
drop-over-mtu-but-dont-fragment-ipv4-bytes,device=eth0,instance=softwire-state value=0
drop-over-mtu-but-dont-fragment-ipv4-packets,device=eth0,instance=softwire-state value=0
drop-over-rate-limit-icmpv6-bytes,device=eth0,instance=softwire-state value=0
drop-over-rate-limit-icmpv6-packets,device=eth0,instance=softwire-state value=0
drop-over-time-but-not-hop-limit-icmpv6-bytes,device=eth0,instance=softwire-state value=0
drop-over-time-but-not-hop-limit-icmpv6-packets,device=eth0,instance=softwire-state value=0
drop-too-big-type-but-not-code-icmpv6-bytes,device=eth0,instance=softwire-state value=0
drop-too-big-type-but-not-code-icmpv6-packets,device=eth0,instance=softwire-state value=0
drop-ttl-zero-ipv4-bytes,device=eth0,instance=softwire-state value=0
drop-ttl-zero-ipv4-packets,device=eth0,instance=softwire-state value=0
drop-unknown-protocol-icmpv6-bytes,device=eth0,instance=softwire-state value=0
drop-unknown-protocol-icmpv6-packets,device=eth0,instance=softwire-state value=0
drop-unknown-protocol-ipv6-bytes,device=eth0,instance=softwire-state value=440
drop-unknown-protocol-ipv6-packets,device=eth0,instance=softwire-state value=4
hairpin-ipv4-bytes,device=eth0,instance=softwire-state value=0
hairpin-ipv4-packets,device=eth0,instance=softwire-state value=0
in-ipv4-bytes,device=eth0,instance=softwire-state value=802323
in-ipv4-frag-needs-reassembly,device=eth0,instance=softwire-state value=0
in-ipv4-frag-reassembled,device=eth0,instance=softwire-state value=0
in-ipv4-frag-reassembly-unneeded,device=eth0,instance=softwire-state value=1089
in-ipv4-packets,device=eth0,instance=softwire-state value=805
in-ipv6-bytes,device=eth0,instance=softwire-state value=440
in-ipv6-frag-needs-reassembly,device=eth0,instance=softwire-state value=0
in-ipv6-frag-reassembled,device=eth0,instance=softwire-state value=0
in-ipv6-frag-reassembly-unneeded,device=eth0,instance=softwire-state value=1189
in-ipv6-packets,device=eth0,instance=softwire-state value=4
ingress-packet-drops,device=eth0,instance=softwire-state value=0
memuse-ipv4-frag-reassembly-buffer,device=eth0,instance=softwire-state value=463482888
memuse-ipv6-frag-reassembly-buffer,device=eth0,instance=softwire-state value=464549592
out-icmpv4-bytes,device=eth0,instance=softwire-state value=0
out-icmpv4-packets,device=eth0,instance=softwire-state value=0
out-icmpv6-bytes,device=eth0,instance=softwire-state value=0
out-icmpv6-packets,device=eth0,instance=softwire-state value=0
out-ipv4-bytes,device=eth0,instance=softwire-state value=0
out-ipv4-frag,device=eth0,instance=softwire-state value=0
out-ipv4-frag-not,device=eth0,instance=softwire-state value=9
out-ipv4-packets,device=eth0,instance=softwire-state value=0
out-ipv6-bytes,device=eth0,instance=softwire-state value=40040
out-ipv6-frag,device=eth0,instance=softwire-state value=0
out-ipv6-frag-not,device=eth0,instance=softwire-state value=229
out-ipv6-packets,device=eth0,instance=softwire-state value=220
drop-all-ipv4-iface-bytes,device=eth2,instance=softwire-state value=2748
drop-all-ipv4-iface-packets,device=eth2,instance=softwire-state value=34
drop-all-ipv6-iface-bytes,device=eth2,instance=softwire-state value=1412
drop-all-ipv6-iface-packets,device=eth2,instance=softwire-state value=22
drop-bad-checksum-icmpv4-bytes,device=eth2,instance=softwire-state value=0
drop-bad-checksum-icmpv4-packets,device=eth2,instance=softwire-state value=0
drop-in-by-policy-icmpv4-bytes,device=eth2,instance=softwire-state value=0
drop-in-by-policy-icmpv4-packets,device=eth2,instance=softwire-state value=0
drop-in-by-policy-icmpv6-bytes,device=eth2,instance=softwire-state value=0
drop-in-by-policy-icmpv6-packets,device=eth2,instance=softwire-state value=0
drop-in-by-rfc7596-icmpv4-bytes,device=eth2,instance=softwire-state value=0
drop-in-by-rfc7596-icmpv4-packets,device=eth2,instance=softwire-state value=0
drop-ipv4-frag-disabled,device=eth2,instance=softwire-state value=0
drop-ipv4-frag-invalid-reassembly,device=eth2,instance=softwire-state value=0
drop-ipv4-frag-random-evicted,device=eth2,instance=softwire-state value=0
drop-ipv6-frag-disabled,device=eth2,instance=softwire-state value=0
drop-ipv6-frag-invalid-reassembly,device=eth2,instance=softwire-state value=0
drop-ipv6-frag-random-evicted,device=eth2,instance=softwire-state value=0
drop-misplaced-not-ipv4-bytes,device=eth2,instance=softwire-state value=2748
drop-misplaced-not-ipv4-packets,device=eth2,instance=softwire-state value=34
drop-misplaced-not-ipv6-bytes,device=eth2,instance=softwire-state value=752
drop-misplaced-not-ipv6-packets,device=eth2,instance=softwire-state value=16
drop-no-dest-softwire-ipv4-bytes,device=eth2,instance=softwire-state value=0
drop-no-dest-softwire-ipv4-packets,device=eth2,instance=softwire-state value=0
drop-no-source-softwire-ipv6-bytes,device=eth2,instance=softwire-state value=0
drop-no-source-softwire-ipv6-packets,device=eth2,instance=softwire-state value=0
drop-out-by-policy-icmpv4-packets,device=eth2,instance=softwire-state value=0
drop-out-by-policy-icmpv6-packets,device=eth2,instance=softwire-state value=0
drop-over-mtu-but-dont-fragment-ipv4-bytes,device=eth2,instance=softwire-state value=0
drop-over-mtu-but-dont-fragment-ipv4-packets,device=eth2,instance=softwire-state value=0
drop-over-rate-limit-icmpv6-bytes,device=eth2,instance=softwire-state value=0
drop-over-rate-limit-icmpv6-packets,device=eth2,instance=softwire-state value=0
drop-over-time-but-not-hop-limit-icmpv6-bytes,device=eth2,instance=softwire-state value=0
drop-over-time-but-not-hop-limit-icmpv6-packets,device=eth2,instance=softwire-state value=0
drop-too-big-type-but-not-code-icmpv6-bytes,device=eth2,instance=softwire-state value=0
drop-too-big-type-but-not-code-icmpv6-packets,device=eth2,instance=softwire-state value=0
drop-ttl-zero-ipv4-bytes,device=eth2,instance=softwire-state value=0
drop-ttl-zero-ipv4-packets,device=eth2,instance=softwire-state value=0
drop-unknown-protocol-icmpv6-bytes,device=eth2,instance=softwire-state value=0
drop-unknown-protocol-icmpv6-packets,device=eth2,instance=softwire-state value=0
drop-unknown-protocol-ipv6-bytes,device=eth2,instance=softwire-state value=660
drop-unknown-protocol-ipv6-packets,device=eth2,instance=softwire-state value=6
hairpin-ipv4-bytes,device=eth2,instance=softwire-state value=0
hairpin-ipv4-packets,device=eth2,instance=softwire-state value=0
in-ipv4-bytes,device=eth2,instance=softwire-state value=0
in-ipv4-frag-needs-reassembly,device=eth2,instance=softwire-state value=0
in-ipv4-frag-reassembled,device=eth2,instance=softwire-state value=0
in-ipv4-frag-reassembly-unneeded,device=eth2,instance=softwire-state value=42
in-ipv4-packets,device=eth2,instance=softwire-state value=0
in-ipv6-bytes,device=eth2,instance=softwire-state value=660
in-ipv6-frag-needs-reassembly,device=eth2,instance=softwire-state value=0
in-ipv6-frag-reassembled,device=eth2,instance=softwire-state value=0
in-ipv6-frag-reassembly-unneeded,device=eth2,instance=softwire-state value=41
in-ipv6-packets,device=eth2,instance=softwire-state value=6
ingress-packet-drops,device=eth2,instance=softwire-state value=0
memuse-ipv4-frag-reassembly-buffer,device=eth2,instance=softwire-state value=463482888
memuse-ipv6-frag-reassembly-buffer,device=eth2,instance=softwire-state value=464549592
out-icmpv4-bytes,device=eth2,instance=softwire-state value=0
out-icmpv4-packets,device=eth2,instance=softwire-state value=0
out-icmpv6-bytes,device=eth2,instance=softwire-state value=0
out-icmpv6-packets,device=eth2,instance=softwire-state value=0
out-ipv4-bytes,device=eth2,instance=softwire-state value=0
out-ipv4-frag,device=eth2,instance=softwire-state value=0
out-ipv4-frag-not,device=eth2,instance=softwire-state value=8
out-ipv4-packets,device=eth2,instance=softwire-state value=0
out-ipv6-bytes,device=eth2,instance=softwire-state value=0
out-ipv6-frag,device=eth2,instance=softwire-state value=0
out-ipv6-frag-not,device=eth2,instance=softwire-state value=9
out-ipv6-packets,device=eth2,instance=softwire-state value=0
drop-all-ipv4-iface-bytes,device=eth1,instance=softwire-state value=14214
drop-all-ipv4-iface-packets,device=eth1,instance=softwire-state value=97
drop-all-ipv6-iface-bytes,device=eth1,instance=softwire-state value=10442
drop-all-ipv6-iface-packets,device=eth1,instance=softwire-state value=87
drop-bad-checksum-icmpv4-bytes,device=eth1,instance=softwire-state value=0
drop-bad-checksum-icmpv4-packets,device=eth1,instance=softwire-state value=0
drop-in-by-policy-icmpv4-bytes,device=eth1,instance=softwire-state value=0
drop-in-by-policy-icmpv4-packets,device=eth1,instance=softwire-state value=0
drop-in-by-policy-icmpv6-bytes,device=eth1,instance=softwire-state value=0
drop-in-by-policy-icmpv6-packets,device=eth1,instance=softwire-state value=0
drop-in-by-rfc7596-icmpv4-bytes,device=eth1,instance=softwire-state value=0
drop-in-by-rfc7596-icmpv4-packets,device=eth1,instance=softwire-state value=0
drop-ipv4-frag-disabled,device=eth1,instance=softwire-state value=0
drop-ipv4-frag-invalid-reassembly,device=eth1,instance=softwire-state value=0
drop-ipv4-frag-random-evicted,device=eth1,instance=softwire-state value=0
drop-ipv6-frag-disabled,device=eth1,instance=softwire-state value=0
drop-ipv6-frag-invalid-reassembly,device=eth1,instance=softwire-state value=0
drop-ipv6-frag-random-evicted,device=eth1,instance=softwire-state value=0
drop-misplaced-not-ipv4-bytes,device=eth1,instance=softwire-state value=14214
drop-misplaced-not-ipv4-packets,device=eth1,instance=softwire-state value=97
drop-misplaced-not-ipv6-bytes,device=eth1,instance=softwire-state value=9782
drop-misplaced-not-ipv6-packets,device=eth1,instance=softwire-state value=81
drop-no-dest-softwire-ipv4-bytes,device=eth1,instance=softwire-state value=0
drop-no-dest-softwire-ipv4-packets,device=eth1,instance=softwire-state value=0
drop-no-source-softwire-ipv6-bytes,device=eth1,instance=softwire-state value=0
drop-no-source-softwire-ipv6-packets,device=eth1,instance=softwire-state value=0
drop-out-by-policy-icmpv4-packets,device=eth1,instance=softwire-state value=0
drop-out-by-policy-icmpv6-packets,device=eth1,instance=softwire-state value=0
drop-over-mtu-but-dont-fragment-ipv4-bytes,device=eth1,instance=softwire-state value=0
drop-over-mtu-but-dont-fragment-ipv4-packets,device=eth1,instance=softwire-state value=0
drop-over-rate-limit-icmpv6-bytes,device=eth1,instance=softwire-state value=0
drop-over-rate-limit-icmpv6-packets,device=eth1,instance=softwire-state value=0
drop-over-time-but-not-hop-limit-icmpv6-bytes,device=eth1,instance=softwire-state value=0
drop-over-time-but-not-hop-limit-icmpv6-packets,device=eth1,instance=softwire-state value=0
drop-too-big-type-but-not-code-icmpv6-bytes,device=eth1,instance=softwire-state value=0
drop-too-big-type-but-not-code-icmpv6-packets,device=eth1,instance=softwire-state value=0
drop-ttl-zero-ipv4-bytes,device=eth1,instance=softwire-state value=0
drop-ttl-zero-ipv4-packets,device=eth1,instance=softwire-state value=0
drop-unknown-protocol-icmpv6-bytes,device=eth1,instance=softwire-state value=0
drop-unknown-protocol-icmpv6-packets,device=eth1,instance=softwire-state value=0
drop-unknown-protocol-ipv6-bytes,device=eth1,instance=softwire-state value=660
drop-unknown-protocol-ipv6-packets,device=eth1,instance=softwire-state value=6
hairpin-ipv4-bytes,device=eth1,instance=softwire-state value=0
hairpin-ipv4-packets,device=eth1,instance=softwire-state value=0
in-ipv4-bytes,device=eth1,instance=softwire-state value=8946
in-ipv4-frag-needs-reassembly,device=eth1,instance=softwire-state value=0
in-ipv4-frag-reassembled,device=eth1,instance=softwire-state value=0
in-ipv4-frag-reassembly-unneeded,device=eth1,instance=softwire-state value=169
in-ipv4-packets,device=eth1,instance=softwire-state value=63
in-ipv6-bytes,device=eth1,instance=softwire-state value=660
in-ipv6-frag-needs-reassembly,device=eth1,instance=softwire-state value=0
in-ipv6-frag-reassembled,device=eth1,instance=softwire-state value=0
in-ipv6-frag-reassembly-unneeded,device=eth1,instance=softwire-state value=106
in-ipv6-packets,device=eth1,instance=softwire-state value=6
ingress-packet-drops,device=eth1,instance=softwire-state value=0
memuse-ipv4-frag-reassembly-buffer,device=eth1,instance=softwire-state value=463482888
memuse-ipv6-frag-reassembly-buffer,device=eth1,instance=softwire-state value=464549592
out-icmpv4-bytes,device=eth1,instance=softwire-state value=0
out-icmpv4-packets,device=eth1,instance=softwire-state value=0
out-icmpv6-bytes,device=eth1,instance=softwire-state value=0
out-icmpv6-packets,device=eth1,instance=softwire-state value=0
out-ipv4-bytes,device=eth1,instance=softwire-state value=0
out-ipv4-frag,device=eth1,instance=softwire-state value=0
out-ipv4-frag-not,device=eth1,instance=softwire-state value=9
out-ipv4-packets,device=eth1,instance=softwire-state value=0
out-ipv6-bytes,device=eth1,instance=softwire-state value=11466
out-ipv6-frag,device=eth1,instance=softwire-state value=0
out-ipv6-frag-not,device=eth1,instance=softwire-state value=72
out-ipv6-packets,device=eth1,instance=softwire-state value=63
drop-all-ipv4-iface-bytes,device=eth3,instance=softwire-state value=36214
drop-all-ipv4-iface-packets,device=eth3,instance=softwire-state value=219
drop-all-ipv6-iface-bytes,device=eth3,instance=softwire-state value=27572
drop-all-ipv6-iface-packets,device=eth3,instance=softwire-state value=208
drop-bad-checksum-icmpv4-bytes,device=eth3,instance=softwire-state value=0
drop-bad-checksum-icmpv4-packets,device=eth3,instance=softwire-state value=0
drop-in-by-policy-icmpv4-bytes,device=eth3,instance=softwire-state value=0
drop-in-by-policy-icmpv4-packets,device=eth3,instance=softwire-state value=0
drop-in-by-policy-icmpv6-bytes,device=eth3,instance=softwire-state value=0
drop-in-by-policy-icmpv6-packets,device=eth3,instance=softwire-state value=0
drop-in-by-rfc7596-icmpv4-bytes,device=eth3,instance=softwire-state value=0
drop-in-by-rfc7596-icmpv4-packets,device=eth3,instance=softwire-state value=0
drop-ipv4-frag-disabled,device=eth3,instance=softwire-state value=0
drop-ipv4-frag-invalid-reassembly,device=eth3,instance=softwire-state value=0
drop-ipv4-frag-random-evicted,device=eth3,instance=softwire-state value=0
drop-ipv6-frag-disabled,device=eth3,instance=softwire-state value=0
drop-ipv6-frag-invalid-reassembly,device=eth3,instance=softwire-state value=0
drop-ipv6-frag-random-evicted,device=eth3,instance=softwire-state value=0
drop-misplaced-not-ipv4-bytes,device=eth3,instance=softwire-state value=36214
drop-misplaced-not-ipv4-packets,device=eth3,instance=softwire-state value=219
drop-misplaced-not-ipv6-bytes,device=eth3,instance=softwire-state value=26822
drop-misplaced-not-ipv6-packets,device=eth3,instance=softwire-state value=201
drop-no-dest-softwire-ipv4-bytes,device=eth3,instance=softwire-state value=0
drop-no-dest-softwire-ipv4-packets,device=eth3,instance=softwire-state value=0
drop-no-source-softwire-ipv6-bytes,device=eth3,instance=softwire-state value=0
drop-no-source-softwire-ipv6-packets,device=eth3,instance=softwire-state value=0
drop-out-by-policy-icmpv4-packets,device=eth3,instance=softwire-state value=0
drop-out-by-policy-icmpv6-packets,device=eth3,instance=softwire-state value=0
drop-over-mtu-but-dont-fragment-ipv4-bytes,device=eth3,instance=softwire-state value=0
drop-over-mtu-but-dont-fragment-ipv4-packets,device=eth3,instance=softwire-state value=0
drop-over-rate-limit-icmpv6-bytes,device=eth3,instance=softwire-state value=0
drop-over-rate-limit-icmpv6-packets,device=eth3,instance=softwire-state value=0
drop-over-time-but-not-hop-limit-icmpv6-bytes,device=eth3,instance=softwire-state value=0
drop-over-time-but-not-hop-limit-icmpv6-packets,device=eth3,instance=softwire-state value=0
drop-too-big-type-but-not-code-icmpv6-bytes,device=eth3,instance=softwire-state value=0
drop-too-big-type-but-not-code-icmpv6-packets,device=eth3,instance=softwire-state value=0
drop-ttl-zero-ipv4-bytes,device=eth3,instance=softwire-state value=0
drop-ttl-zero-ipv4-packets,device=eth3,instance=softwire-state value=0
drop-unknown-protocol-icmpv6-bytes,device=eth3,instance=softwire-state value=0
drop-unknown-protocol-icmpv6-packets,device=eth3,instance=softwire-state value=0
drop-unknown-protocol-ipv6-bytes,device=eth3,instance=softwire-state value=750
drop-unknown-protocol-ipv6-packets,device=eth3,instance=softwire-state value=7
hairpin-ipv4-bytes,device=eth3,instance=softwire-state value=0
hairpin-ipv4-packets,device=eth3,instance=softwire-state value=0
in-ipv4-bytes,device=eth3,instance=softwire-state value=25986
in-ipv4-frag-needs-reassembly,device=eth3,instance=softwire-state value=0
in-ipv4-frag-reassembled,device=eth3,instance=softwire-state value=0
in-ipv4-frag-reassembly-unneeded,device=eth3,instance=softwire-state value=411
in-ipv4-packets,device=eth3,instance=softwire-state value=183
in-ipv6-bytes,device=eth3,instance=softwire-state value=750
in-ipv6-frag-needs-reassembly,device=eth3,instance=softwire-state value=0
in-ipv6-frag-reassembled,device=eth3,instance=softwire-state value=0
in-ipv6-frag-reassembly-unneeded,device=eth3,instance=softwire-state value=228
in-ipv6-packets,device=eth3,instance=softwire-state value=7
ingress-packet-drops,device=eth3,instance=softwire-state value=0
memuse-ipv4-frag-reassembly-buffer,device=eth3,instance=softwire-state value=463482888
memuse-ipv6-frag-reassembly-buffer,device=eth3,instance=softwire-state value=464549592
out-icmpv4-bytes,device=eth3,instance=softwire-state value=0
out-icmpv4-packets,device=eth3,instance=softwire-state value=0
out-icmpv6-bytes,device=eth3,instance=softwire-state value=0
out-icmpv6-packets,device=eth3,instance=softwire-state value=0
out-ipv4-bytes,device=eth3,instance=softwire-state value=0
out-ipv4-frag,device=eth3,instance=softwire-state value=0
out-ipv4-frag-not,device=eth3,instance=softwire-state value=9
out-ipv4-packets,device=eth3,instance=softwire-state value=0
out-ipv6-bytes,device=eth3,instance=softwire-state value=33306
out-ipv6-frag,device=eth3,instance=softwire-state value=0
out-ipv6-frag-not,device=eth3,instance=softwire-state value=192
out-ipv6-packets,device=eth3,instance=softwire-state value=183
snabb gained yang based configuration and state information via snabb config. Counters are nicely exposed via snabb config get-state using two display output formats: yang or xpath.
I was in need to display near real-time telemetry data of running snabb lwaftr instances via a web page and reverted to Grafana with InfluxDB backend. Starting from the xpath format, I translated it via tr/awk into the required InfluxDB HTTP API:
Granted, not very nice, but functional for the demo. I open this issue to discuss ways to extend get-state to adhere to various output formats for easy consumption of third party time series databases.
Does it make sense to add DB specific output formats to get-state? If so, what are the most common programmatic API's in use?
A running lwaftr installation with 5 interfaces reports these stats:
converted to InfluxDB consumable output via HTTP API: