FIDO: RRD writing
A properly formatted status file will cause information to be written to RRDs by the ns-rrd-writer.pl daemon.
This is a simple example of a single update for a file. Regarding filenames, the desired format is
rrdtmp.$(ticks,ideally fractional but not required).$(arbitrary unique id).info
You can optionally gzip these files, so ".info" and ".info.gz" are suitable suffixes. NS::FileUtils::saveFile will auto-gzip if presented with a filename that ends in .gz
For the below, the description is (exampleNSServerName.net.wisc.edu.trope.doit.wisc.edu.monitor_dhcp_leases.pl), which is broken into three components
1: "exampleNSServerName.net.wisc.edu" is the source of the
archive, which is useful for tracking back problem origination
2: "trope.doit.wisc.edu" which is some
additional information
3: "monitor_dhcp_leases.pl" which is the script
$0 basename, again useful for tracking back problem origination
The order of this stuff is arbitrary and is again just used for troubleshooting basically.
retrieving rrdtmp.1527178455.62114.exampleNSServerName.net.wisc.edu.trope.doit.wisc.edu.monitor_dhcp_leases.pl.info.gz { '...rrd_configuration' => { 'envProbeHumidity' => { 'ds_type' => 'GAUGE', 'rrd_path' => '/var/flows/rrds/envProbeHumidity', 'rrd_setup' => '1:2016,12:8670,288:3650', 'update_frequency' => '150' }, 'm-marion-opt.wiscnet.net_humidity_envProbeHumidity.rrd' => { 'rrd_type' => 'envProbeHumidity', 'time' => 1226693418, 'value' => 30 }, }
This is a simple example of a multiple updates for one or more files. Updates are processed in array order.
{ '...files' => [ { 'rrd_file' => '/var/local/rrds/jnxXMLRPF/device=r-uwcbaraboosaukco.uwsys.net_interface=ge-1-1-0-0_family=inet_jnx-xml-RPFPacketCount.rrd', 'rrd_type' => 'jnx-xml-RPFPacketCount', 'time' => '1506438110', 'value' => '8819' }, { 'rrd_file' => '/var/local/rrds/jnxXMLRPF/device=r-uwcbaraboosaukco.uwsys.net_interface=ge-1-1-0-0_family=inet_jnx-xml-RPFByteCount.rrd', 'rrd_type' => 'jnx-xml-RPFByteCount', 'time' => '1506438110', 'value' => '2895862' }, { 'rrd_file' => '/var/local/rrds/jnxXMLRPF/device=r-uwcbaraboosaukco.uwsys.net_interface=ge-1-1-0-0_family=inet_jnx-xml-RPFPacketCount.rrd', 'rrd_type' => 'jnx-xml-RPFPacketCount', 'time' => '1506438167', 'value' => '8819' }, { 'rrd_file' => '/var/local/rrds/jnxXMLRPF/device=r-uwcbaraboosaukco.uwsys.net_interface=ge-1-1-0-0_family=inet_jnx-xml-RPFByteCount.rrd', 'rrd_type' => 'jnx-xml-RPFByteCount', 'time' => '1506438167', 'value' => '2895862' }, .. etc etc ], '...rrd_configuration' => { ... same as simple example ... } }
The following is needed by FIDO:
rrd_writer: Help File