diff -r 72c9c6f0b713 -r 160338bb2822 README.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.md Mon Feb 12 12:49:12 2018 -0800 @@ -0,0 +1,68 @@ + +Netdata-TSRelay +=============== + +What's this? +------------ + +This program is designed to accept JSON streams from +[Netdata](http://netdata.io) clients, and write metrics to a PostgreSQL table - +specifically, [Timescale](http://timescale.com) backed tables (though +that's not technically a requirement.) + + +Installation +------------ + +You'll need a working [Nim](http://nim-lang.org) build environment to +create the binary. + +Simply run `make release` to produce the binary. Put it wherever you +please. + + +Configuration +------------- + +There are a few assumptions that should be satisfied before running +this. + +### Database setup + +You'll need to create the destination table. + +```sql +CREATE TABLE netdata ( + time timestamptz default now() not null, + host text not null, + metrics jsonb default '{}'::jsonb not null +); +``` + +Index it however you please based on how you intend to query the data, +including JSON functional indexing, etc. See PostgreSQL documentation +for details. + +Strongly encouraged: Promote this table to a Timescale "hypertable". +See Timescale docs for that. + + + +### Netdata + +You'll likely want to pare down what netdata is sending. Here's an +example configuration for `netdata.conf`: + +``` +[backend] + hostname = your-hostname + enabled = yes + type = json + data source = average + destination = machine-where-netdata-tsrelay-lives:14866 + prefix = n + update every = 10 + buffer on failures = 6 + send charts matching = !cpu.cpu* !ipv6* nfs.rpc net.* net_drops.* net_packets.* !system.interrupts* system.* disk.* disk_space.* disk_ops.* mem.* users.* +``` +