Class TelegrafJsonToRecordParser
java.lang.Object
com.arpnetworking.metrics.mad.parsers.TelegrafJsonToRecordParser
- All Implemented Interfaces:
Parser<List<Record>,
ByteBuffer>
public final class TelegrafJsonToRecordParser
extends Object
implements Parser<List<Record>,ByteBuffer>
Parses Telegraf JSON data as a
Record
. As defined here:
https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md#json
Sample MAD configuration:
{ type="com.arpnetworking.metrics.mad.sources.MappingSource" name="telegraftcp_mapping_source" findAndReplace={ "\\."=["/"] } source={ type="com.arpnetworking.metrics.common.sources.TcpLineSource" actorName="telegraf-tcp-source" name="telegraftcp_source" host="0.0.0.0" port="8094" parser={ type="com.arpnetworking.metrics.mad.parsers.TelegrafJsonToRecordParser" timestampUnit="NANOSECONDS" } } }Sample Telegraf configuration:
[agent] interval="1s" flush_interval="1s" round_interval=true omit_hostname=false [global_tags] service="telegraf" cluster="telegraf_local" [[outputs.socket_writer]] address = "tcp://127.0.0.1:8094" data_format = "json" json_timestamp_units = "1ns" keep_alive_period = "5m" [[inputs.cpu]] percpu = true totalcpu = true collect_cpu_time = false report_active = false
- Author:
- Ville Koskela (ville dot koskela at inscopemetrics dot io)
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Builder
implementation forTelegrafJsonToRecordParser
.static enum
Timestamp units for Telegraf JSON data. -
Method Summary
-
Method Details
-
parse
Parses a telegraf JSON record.- Specified by:
parse
in interfaceParser<List<Record>,
ByteBuffer> - Parameters:
record
- a telegraph JSON record- Returns:
- A list of
DefaultRecord.Builder
- Throws:
ParsingException
- if the data is not parsable as telegraf JSON
-