Add README.
authorMahlon E. Smith <mahlon@laika.com>
Mon, 12 Feb 2018 12:49:12 -0800
changeset 1 160338bb2822
parent 0 72c9c6f0b713
child 2 7a42e74fb22c
Add README.
README.md
netdata_tsrelay.nim
--- /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.*
+```
+
--- a/netdata_tsrelay.nim	Mon Feb 12 12:26:16 2018 -0800
+++ b/netdata_tsrelay.nim	Mon Feb 12 12:49:12 2018 -0800
@@ -139,8 +139,6 @@
     ## and start serving incoming netdata streams.
     let db = open( "", "", "", conf.dbopts )
     echo "Successfully connected to the backend database."
-    #SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 982384720 * INTERVAL '1 second';'
-    #db.close
     
     var server = newSocket()
     echo "Listening for incoming connections on port ", conf.listen_port, "..."