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
Martin/Geno 3ef2d1ece9
[TEST] fix testdata of meshviewer-ffrgb (fixes #160)
2019-02-27 02:29:39 +01:00
.circleci Trash Travis-CI 2018-06-22 00:56:35 +02:00
.github Add PR template for communities using Yanic 2018-01-13 16:37:37 +01:00
.gitlab/issue_templates [TASK] add support for gitlab 2018-08-30 10:17:56 +02:00
cmd [TASK] improve logging 2019-01-19 20:58:36 +01:00
contrib [TASK] Add editorconfig & format code (#94) 2017-11-06 00:59:42 +01:00
data [TASK] rename NodeInfo to Nodeinfo (same naming overall) 2019-01-24 02:56:13 +01:00
database [TASK] rename NodeInfo to Nodeinfo (same naming overall) 2019-01-24 02:56:13 +01:00
docs [TASK] allow self-signed certification in influxdb 2018-07-12 16:48:11 +02:00
lib lib/duration: Implement encoding.TextUnmarshaler 2018-01-13 15:06:18 +01:00
output [TEST] fix testdata of meshviewer-ffrgb (fixes #160) 2019-02-27 02:29:39 +01:00
respond [TASK] rename NodeInfo to Nodeinfo (same naming overall) 2019-01-24 02:56:13 +01:00
rrd [TASK] improve logging 2019-01-19 20:58:36 +01:00
runtime [TASK] rename NodeInfo to Nodeinfo (same naming overall) 2019-01-24 02:56:13 +01:00
webserver [TASK] improve logging 2019-01-19 20:58:36 +01:00
.drone.yml add drone 2018-05-05 23:30:24 +02:00
.editorconfig [TASK] Add editorconfig & format code (#94) 2017-11-06 00:59:42 +01:00
.gitignore Add Go Dep 2018-05-15 21:56:28 +02:00
.gitlab-ci.yml [TASK] add support for gitlab 2018-08-30 10:17:56 +02:00
.gitmodules switch to config-file 2016-03-07 09:52:52 +01:00
Gopkg.lock [TASK] update influxdb-client 2019-01-15 20:33:59 +01:00
Gopkg.toml [TASK] update influxdb-client 2019-01-15 20:33:59 +01:00
INSTALL.md [TASK] add rules for documentation, PR and testing 2017-12-31 16:01:19 +01:00
LICENSE Use license from Github template 2018-01-06 15:11:02 +01:00
README.md Readme: alfred-announce was renamed to mesh-announce 2018-08-07 22:34:02 +02:00
SUMMARY.md [TASK] add rules for documentation, PR and testing 2017-12-31 16:01:19 +01:00
book.json [TASK] add rules for documentation, PR and testing 2017-12-31 16:01:19 +01:00
config_example.toml [TASK] do not send multicast request (#121) 2018-05-05 23:30:23 +02:00
main.go [TASK] improve logging 2019-01-19 20:58:36 +01:00

README.md

Yanic

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

CircleCI Coverage Status codecov 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

Take a look at the git or Gitbook

Configuration

Read comments in config_example.toml for more information.

Running

Yanic provides several commands:

Usage

Run Yanic without any arguments to get the usage information:

Usage:
  yanic [command]

Available Commands:
  help        Help about any command
  import      Imports global statistics from the given RRD files, requires InfluxDB
  query       Sends a query on the interface to the destination and waits for a response
  serve       Runs the yanic server

Flags:
  -h, --help         help for yanic
      --timestamps   Enables timestamps for log output

Use "yanic [command] --help" for more information about a command.

Serve

Usage:
  yanic serve [flags]

Examples:
  yanic serve --config /etc/yanic.toml

Flags:
  -c, --config string   Path to configuration file (default "config.toml")
  -h, --help            help for serve

Import

Usage:
  yanic import <file.rrd> [flags]

Examples:
  yanic import --config /etc/yanic.toml olddata.rrd

Flags:
  -c, --config string   Path to configuration file (default "config.toml")
  -h, --help            help for import

Query

Usage:
  yanic query <interface> <destination> [flags]

Examples:
  yanic query wlan0 "fe80::eade:27ff:dead:beef"

Flags:
  -h, --help       help for query
      --wait int   Seconds to wait for a response (default 1)

Communities using Yanic

Do you know someone else using Yanic? Create a pull request!

Collecting data from respondd:

Respondd for servers:

License

This software is licensed under the terms of the AGPL v3 License.