Yet another node info collector - for respondd to be used with meshviewer to Grafana (with influxdb or graphite) https://www.gitbook.com/book/freifunkbremen/yanic/details
Go to file
kb-light fd7e712282 influxdb: replace log.Fatal() by log.Print()
Fatal() calls os.Exit(1), which causes yanic.service to fail if database is not reachable.
2017-06-29 12:40:27 +02:00
cmd [TASK] Delay startup until a multiple of the period since zero time (#68) 2017-06-14 09:44:15 +02:00
contrib [BUGFIX] yanic-import-timestamp: properly parse timestamps with strptime (#67) 2017-06-14 09:47:41 +02:00
data Fix airtime calculation 2017-04-09 05:23:03 +02:00
database influxdb: replace log.Fatal() by log.Print() 2017-06-29 12:40:27 +02:00
jsontime improve complete code with comments and co (thanks linter) 2017-01-20 22:27:44 +01:00
meshviewer Remove Gateway field 2017-04-18 03:08:09 +02:00
respond Rename and move database methods 2017-04-18 02:42:26 +02:00
rrd fix bugs rrd importer -> clients are no nodes :) 2016-10-04 15:00:54 +02:00
runtime [TASK] Delay startup until a multiple of the period since zero time (#68) 2017-06-14 09:44:15 +02:00
webserver Remove API and simplify webserver 2017-01-29 20:35:50 +01:00
.gitignore Make configuration more intuitive and consistent 2017-01-29 20:35:50 +01:00
.gitmodules switch to config-file 2016-03-07 09:52:52 +01:00
.test-coverage Add Coveralls 2016-03-20 13:51:54 +01:00
.travis.yml [TASK] travis test with more Go versions (#55) 2017-04-16 09:07:28 +02:00
INSTALL.md [TASK] Make yanic more modular for multiple databases (#33) 2017-04-10 18:54:12 +02:00
README.md [DOC] update README 2017-06-14 21:33:15 +02:00
config_example.toml [TASK] Delay startup until a multiple of the period since zero time (#68) 2017-06-14 09:44:15 +02:00

README.md

Yanic

__   __          _
\ \ / /_ _ _ __ (_) ___
 \ V / _` | '_ \| |/ __|
  | | (_| | | | | | (__
  |_|\__,_|_| |_|_|\___|
Yet another node info collector

Build Status Coverage Status Go Report Card

yanic is a respondd client that fetches, stores and publishes information about a Freifunk network. The goals:

  • Generating JSON for Meshviewer
  • Storing statistics in InfluxDB or Graphite to be analyzed by Grafana
  • Provide a little webserver for a standalone installation with a meshviewer

How it works

In the first step Yanic sends a multicast message to the group ff02:0:0:0:0:0:2:1001 and port 1001. Recently seen nodes that does not reply are requested via a unicast message.

Documentation

Quick startup

Usage

Usage of ./yanic:
  -config path/to/config.toml

Configuration

Read comments in config_example.toml for more information.

Live

  • meshviewer Freifunk Bremen with a patch to show state-version of nodes.json
  • grafana Freifunk Bremen show data of InfluxDB

Collecting data from respondd:

Respondd for servers: