stats_vty_test> en
stats_vty_test# configure terminal
stats_vty_test(config)# list
...
  stats reporter statsd [NAME]
  no stats reporter statsd [NAME]
  stats reporter log [NAME]
  no stats reporter log [NAME]
  stats interval <0-65535>
  stats-tcp interval <0-65535>
...

stats_vty_test(config)# ### No reporters shall be configured by default
stats_vty_test(config)# show running-config
... !stats reporter


stats_vty_test(config)# ### Create a statsd reporter
stats_vty_test(config)# stats reporter statsd
stats_vty_test(config-stats)# list
...
  local-ip ADDR
  no local-ip
  remote-ip ADDR
  remote-port <1-65535>
  mtu <100-65535>
  no mtu
  prefix PREFIX
  no prefix
  level (global|peer|subscriber)
  enable
  disable
  flush-period <0-65535>
...

stats_vty_test(config-stats)# show running-config
...
stats interval 5
stats reporter statsd
  level global
  no prefix
  disable
...

stats_vty_test(config-stats)# level subscriber
stats_vty_test(config-stats)# prefix statsd-prefix
stats_vty_test(config-stats)# show running-config
...
stats reporter statsd
  level subscriber
  prefix statsd-prefix
...

stats_vty_test(config-stats)# remote-ip 192.168.1.200
stats_vty_test(config-stats)# remote-port 6969
stats_vty_test(config-stats)# show running-config
...
stats reporter statsd
  remote-ip 192.168.1.200
  remote-port 6969
... !local-ip

stats_vty_test(config-stats)# local-ip 192.168.1.100
stats_vty_test(config-stats)# show running-config
...
stats reporter statsd
  remote-ip 192.168.1.200
  remote-port 6969
  local-ip 192.168.1.100
...

stats_vty_test(config-stats)# no local-ip
stats_vty_test(config-stats)# show running-config
...
stats reporter statsd
... !local-ip

stats_vty_test(config-stats)# mtu 1337
stats_vty_test(config-stats)# show running-config
...
stats reporter statsd
  remote-ip 192.168.1.200
  remote-port 6969
  mtu 1337
...

stats_vty_test(config-stats)# no mtu
stats_vty_test(config-stats)# show running-config
...
stats reporter statsd
... !mtu

stats_vty_test(config-stats)# flush-period 43556
stats_vty_test(config-stats)# show running-config
...
stats reporter statsd
  remote-ip 192.168.1.200
  remote-port 6969
  level subscriber
  prefix statsd-prefix
  flush-period 43556
...

stats_vty_test(config-stats)# flush-period 0
stats_vty_test(config-stats)# show running-config
...
stats reporter statsd
... !flush-period

stats_vty_test(config-stats)# enable
stats_vty_test(config-stats)# exit
stats_vty_test(config)# show running-config
...
stats reporter statsd
  remote-ip 192.168.1.200
  remote-port 6969
  level subscriber
  prefix statsd-prefix
  enable
...


stats_vty_test(config)# ### Create a statsd reporter
stats_vty_test(config)# stats reporter log
stats_vty_test(config-stats)# level peer
stats_vty_test(config-stats)# prefix log-prefix
stats_vty_test(config-stats)# enable
stats_vty_test(config-stats)# exit
stats_vty_test(config)# show running-config
...
stats reporter statsd
  remote-ip 192.168.1.200
  remote-port 6969
  level subscriber
  prefix statsd-prefix
  enable
stats reporter log
  level peer
  prefix log-prefix
  enable
...


stats_vty_test(config)# ### Create an additional statsd reporter
stats_vty_test(config)# stats reporter statsd statsd-foo
stats_vty_test(config-stats)# level global
stats_vty_test(config-stats)# prefix statsd-one-prefix
stats_vty_test(config-stats)# remote-ip 192.168.2.200
stats_vty_test(config-stats)# remote-port 9696
stats_vty_test(config-stats)# flush-period 1
stats_vty_test(config-stats)# exit

stats_vty_test(config)# ### Create an additional log reporter
stats_vty_test(config)# stats reporter log log-bar
stats_vty_test(config-stats)# level global
stats_vty_test(config-stats)# prefix log-bar-prefix
stats_vty_test(config-stats)# flush-period 2
stats_vty_test(config-stats)# exit

stats_vty_test(config)# ### Create an additional log reporter
stats_vty_test(config)# stats reporter log log-zoo
stats_vty_test(config-stats)# level global
stats_vty_test(config-stats)# prefix log-zoo-prefix
stats_vty_test(config-stats)# flush-period 3
stats_vty_test(config-stats)# exit

stats_vty_test(config)# ### We should have 5 reporters now
stats_vty_test(config)# show running-config
...
stats reporter statsd
  remote-ip 192.168.1.200
  remote-port 6969
  level subscriber
  prefix statsd-prefix
  enable
stats reporter log
  level peer
  prefix log-prefix
  enable
stats reporter statsd statsd-foo
  remote-ip 192.168.2.200
  remote-port 9696
  level global
  prefix statsd-one-prefix
  flush-period 1
  disable
stats reporter log log-bar
  level global
  prefix log-bar-prefix
  flush-period 2
  disable
stats reporter log log-zoo
  level global
  prefix log-zoo-prefix
  flush-period 3
  disable
...


stats_vty_test(config)# ### Test removing reporters
stats_vty_test(config)# no stats reporter statsd statsd-foo
stats_vty_test(config)# no stats reporter log log-bar
stats_vty_test(config)# no stats reporter log log-zoo
stats_vty_test(config)# show running-config
... !(foo|bar|zoo)

stats_vty_test(config)# no stats reporter statsd statsd-foo
% There is no such statsd reporter with name 'statsd-foo'
stats_vty_test(config)# no stats reporter log log-zoo
% There is no such log reporter with name 'log-zoo'


stats_vty_test(config)# stats interval 1337
stats_vty_test(config)# show running-config
...
stats interval 1337
...
