- COPYRIGHT AND LICENSE
Measure::Everything::Adapter::InfluxDB::TCP - Send stats to Influx via TCP using Telegraf
Measure::Everything::Adapter->set( 'InfluxDB::TCP', host => 'localhost', # default port => 8094, # default precision => 'ms' # default is ns (nanoseconds) ); use Measure::Everything qw($stats); $stats->write('metric', 1);
If TCP listener is not available when
set is called, an error will be written via
write will silently discard all metrics, no data will be sent to Telegraf / InfluxDB.
If a request fails no further error handling is done. The metric will be lost.
Set these options when setting your adapter via
Name of the host where your Telegraf is running. Default to
Port your Telegraf is listening. Defaults to
A valid InfluxDB precision. Default to undef (i.e. nanoseconds). Do not set it if you're talking with Telegraf, as Telegraf will always interpret the timestamp as nanoseconds.
Measure::Everything::Adapter::InfluxDB::TCP installs a
local handler for
SIGPIPE to handle a disconnect from the server. If the server goes away,
InfluxDB::TCP will try to reconnect every time a stat is written. As of now (1.003), this behavior is hardcoded.
You might want to check out Measure::Everything::Adapter::InfluxDB::UDP for an even lossier, but more failure tolerant way to send your stats.
See also this blog post, where HJansen provided the correct solution to my problem. Nicholas Clark also pointed me in the right direction (in #Austria.pm)
See "send_metrics.pl" in example for a working example.
Thomas Klausner <email@example.com>
This software is copyright (c) 2016 by Thomas Klausner.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.