Some doku
This commit is contained in:
parent
2e9f6fa459
commit
8a5f907cbe
21
README.md
21
README.md
|
@ -4,25 +4,30 @@
|
||||||
[![Coverage Status](https://coveralls.io/repos/github/FreifunkBremen/respond-collector/badge.svg?branch=master)](https://coveralls.io/github/FreifunkBremen/respond-collector?branch=master)
|
[![Coverage Status](https://coveralls.io/repos/github/FreifunkBremen/respond-collector/badge.svg?branch=master)](https://coveralls.io/github/FreifunkBremen/respond-collector?branch=master)
|
||||||
|
|
||||||
`respond-collector` is a respondd client that fetches, stores and publishes information about a Freifunk network. The goals:
|
`respond-collector` is a respondd client that fetches, stores and publishes information about a Freifunk network. The goals:
|
||||||
* Generating JSON for [MeshViewer](https://github.com/ffnord/meshviewer) (Works with branch [JSONv2](https://github.com/FreifunkBremen/meshviewer/tree/JSONv2))
|
* Generating JSON for [Meshviewer](https://github.com/ffrgb/meshviewer)
|
||||||
* Storing statistics in [InfluxDB](https://influxdata.com/) to be analyzed by [Grafana](http://grafana.org/)
|
* Storing statistics in [InfluxDB](https://influxdata.com/) to be analyzed by [Grafana](http://grafana.org/)
|
||||||
* Provide information via JSON-APIs
|
* Provide a little webserver for a standalone installation with a meshviewer
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
```
|
```
|
||||||
Usage of ./respond-collector:
|
Usage of ./respond-collector:
|
||||||
-config path/to/config.toml
|
-config path/to/config.toml
|
||||||
```
|
```
|
||||||
|
## Configuration
|
||||||
|
Read comments in [config_example.toml](config_example.toml) for more information.
|
||||||
|
|
||||||
|
## Live
|
||||||
|
* [meshviewer](https://map.bremen.freifunk.net) **Freifunk Bremen** with a patch to show state-version of `nodes.json`
|
||||||
|
* [grafana](https://grafana.bremen.freifunk.net) **Freifunk Bremen** show data of InfluxDB
|
||||||
|
|
||||||
|
## How it works
|
||||||
|
|
||||||
## Development
|
|
||||||
### respond
|
|
||||||
It sends the `gluon-neighbour-info` request and collects the answers.
|
It sends the `gluon-neighbour-info` request and collects the answers.
|
||||||
|
|
||||||
It will send UDP packets with multicast group `ff02:0:0:0:0:0:2:1001` and port `1001`.
|
It will send UDP packets with multicast group `ff02:0:0:0:0:0:2:1001` and port `1001`.
|
||||||
|
|
||||||
### nodes.Nodes
|
If a node does not answer, it will request with the last know address under the port `1001`.
|
||||||
It caches the information of the nodes and will save them periodical to a JSON file.
|
|
||||||
The current nodes are saved default under `nodes.json`.
|
|
||||||
|
|
||||||
## Related projects
|
## Related projects
|
||||||
|
|
||||||
|
@ -31,5 +36,5 @@ Collecting data from respondd:
|
||||||
* [HopGlass Server](https://github.com/plumpudding/hopglass-server) written in Node.js
|
* [HopGlass Server](https://github.com/plumpudding/hopglass-server) written in Node.js
|
||||||
|
|
||||||
Respondd for servers:
|
Respondd for servers:
|
||||||
* [respondd branch of ffnord-alfred-announce](https://github.com/ffnord/ffnord-alfred-announce/tree/respondd) from FreiFunkNord
|
* [ffnord-alfred-announce](https://github.com/ffnord/ffnord-alfred-announce) from FreiFunkNord
|
||||||
* [respondd](https://github.com/Sunz3r/ext-respondd) from Sunz3r
|
* [respondd](https://github.com/Sunz3r/ext-respondd) from Sunz3r
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
|
# Send respondd request to update information
|
||||||
[respondd]
|
[respondd]
|
||||||
enable = true
|
enable = true
|
||||||
interface = "eth0"
|
# how oftern request per multicast
|
||||||
collect_interval = "1m"
|
collect_interval = "1m"
|
||||||
|
# on which interface
|
||||||
|
interface = "eth0"
|
||||||
|
|
||||||
|
|
||||||
|
# A little build-in webserver
|
||||||
[webserver]
|
[webserver]
|
||||||
enable = false
|
enable = false
|
||||||
bind = "127.0.0.1:8080"
|
bind = "127.0.0.1:8080"
|
||||||
|
@ -12,9 +16,20 @@ webroot = "webroot"
|
||||||
|
|
||||||
[nodes]
|
[nodes]
|
||||||
enable = true
|
enable = true
|
||||||
|
# structur of nodes.json, which to support
|
||||||
|
# version 1 is to support legacy meshviewer (which are in master branch)
|
||||||
|
# i.e. https://github.com/ffnord/meshviewer/tree/master
|
||||||
|
# version 2 is to support new version of meshviewer (which are in legacy develop branch or newer)
|
||||||
|
# i.e. https://github.com/ffnord/meshviewer/tree/dev
|
||||||
|
# https://github.com/ffrgb/meshviewer/tree/develop
|
||||||
nodes_version = 2
|
nodes_version = 2
|
||||||
|
# path where to store nodes.json
|
||||||
nodes_path = "/var/www/html/meshviewer/data/nodes.json"
|
nodes_path = "/var/www/html/meshviewer/data/nodes.json"
|
||||||
|
# path where to store graph.json
|
||||||
graph_path = "/var/www/html/meshviewer/data/graph.json"
|
graph_path = "/var/www/html/meshviewer/data/graph.json"
|
||||||
|
|
||||||
|
# state-version of nodes.json to store cached data,
|
||||||
|
# these is the directly collected respondd data
|
||||||
state_path = "/var/lib/collector/state.json"
|
state_path = "/var/lib/collector/state.json"
|
||||||
|
|
||||||
# Export nodes and graph periodically
|
# Export nodes and graph periodically
|
||||||
|
@ -27,9 +42,20 @@ offline_after = "10m"
|
||||||
prune_after = "7d"
|
prune_after = "7d"
|
||||||
|
|
||||||
|
|
||||||
|
# Save collected data to InfluxDB
|
||||||
|
# there would be the following measurments:
|
||||||
|
# node: store node spezific data i.e. clients memory, airtime
|
||||||
|
# global: store global data, i.e. count of clients and nodes
|
||||||
|
# firmware: store count of nodes tagged with firmware
|
||||||
|
# model: store count of nodes tagged with hardware model
|
||||||
[influxdb]
|
[influxdb]
|
||||||
enable = false
|
enable = false
|
||||||
address = "http://localhost:8086"
|
address = "http://localhost:8086"
|
||||||
database = "ffhb"
|
database = "ffhb"
|
||||||
username = ""
|
username = ""
|
||||||
password = ""
|
password = ""
|
||||||
|
# cleaning data of measurement node,
|
||||||
|
# which are older than 7d
|
||||||
|
delete_after = "7d"
|
||||||
|
# how often run the cleaning
|
||||||
|
delete_interval = "1h"
|
||||||
|
|
Loading…
Reference in New Issue