· 6 years ago · Apr 09, 2019, 03:48 PM
1# This is the config file for Yanic written in "Tom's Obvious, Minimal Language."
2# syntax: https://github.com/toml-lang/toml
3# (if you need somethink multiple times, checkout out the [[array of table]] section)
4
5# Send respondd request to update information
6[respondd]
7enable = true
8# Delay startup until a multiple of the period since zero time
9synchronize = "1m"
10# how often request per multicast
11collect_interval = "1m"
12
13# table of a site to save stats for (not exists for global only)
14#[respondd.sites.example]
15## list of domains on this site to save stats for (empty for global only)
16#domains = []
17## example
18[respondd.sites.ffhb]
19domains = ["city"]
20
21# interface that has an IP in your mesh network
22#[[respondd.interfaces]]
23# name of interface on which this collector is running
24[[respondd.interfaces]]
25ifname = "bat01"
26[[respondd.interfaces]]
27ifname = "bat02"
28[[respondd.interfaces]]
29ifname = "bat03"
30[[respondd.interfaces]]
31ifname = "bat04"
32
33# ip address which is used for sending
34# (optional - without definition used a address of ifname)
35#ip_address = "fd2f:5119:f2d::5"
36# disable sending multicast respondd request
37# (for receiving only respondd packages e.g. database respondd)
38#send_no_request = false
39# multicast address to destination of respondd
40# (optional - without definition used batman default ff02::2:1001)
41#multicast_address = "ff05::2:1001"
42# define a port to listen
43# if not set or set to 0 the kernel will use a random free port at its own
44#port = 2003
45
46# A little build-in webserver, which statically serves a directory.
47# This is useful for testing purposes or for a little standalone installation.
48[webserver]
49enable = false
50bind = "127.0.0.1:8080"
51webroot = "/opt/meshviewer/build"
52
53[nodes]
54# Cache file
55# a json file to cache all data collected directly from respondd
56state_path = "/opt/meshviewer/build/data/state.json"
57# prune data in RAM, cache-file and output json files (i.e. nodes.json)
58# that were inactive for longer than
59prune_after = "7d"
60# Export nodes and graph periodically
61save_interval = "5s"
62# Set node to offline if not seen within this period
63offline_after = "10m"
64
65
66## [[nodes.output.example]]
67# Each output format has its own config block and needs to be enabled by adding:
68#enable = true
69#
70# For each output format there can be set different filters
71#[nodes.output.example.filter]
72#
73# WARNING: if it is not set, it will publish contact information of other persons
74# Set to true, if you did not want the json files to contain the owner information
75#no_owner = false
76#
77# List of nodeids of nodes that should be filtered out, so they won't appear in output
78#blacklist = ["00112233445566", "1337f0badead"]
79#
80# List of site_codes of nodes that should be included in the output
81#sites = ["ffhb"]
82#
83# replace the site_code with the domain_code in this output
84# e.g. site_code='ffhb',domain_code='city' => site_code='city', domain_code=''
85#domain_as_site = true
86#
87# append on the site_code the domain_code with a '.' in this output
88# e.g. site_code='ffhb',domain_code='city' => site_code='ffhb.city', domain_code=''
89#domain_append_site = true
90#
91# set has_location to true if you want to include only nodes that have geo-coordinates set
92# (setting this to false has no sensible effect, unless you'd want to hide nodes that have coordinates)
93#has_location = true
94
95#[nodes.output.example.filter.in_area]
96# nodes outside this area are not shown on the map but are still listed as a node without coordinates
97#latitude_min = 34.30
98#latitude_max = 71.85
99#longitude_min = -24.96
100#longitude_max = 39.72
101
102
103# definition for the new more compressed meshviewer.json
104[[nodes.output.meshviewer-ffrgb]]
105enable = true
106path = "/opt/meshviewer/build/data/meshviewer.json"
107
108[nodes.output.meshviewer-ffrgb.filter]
109# WARNING: if it is not set, it will publish contact information of other persons
110no_owner = false
111#blacklist = ["00112233445566", "1337f0badead"]
112sites = ["ffowl"]
113#has_location = true
114
115#[nodes.output.meshviewer-ffrgb.filter.in_area]
116#latitude_min = 34.30
117#latitude_max = 71.85
118#longitude_min = -24.96
119#longitude_max = 39.72
120
121
122# definition for nodes.json
123[[nodes.output.meshviewer]]
124enable = false
125# The structure version of the output which should be generated (i.e. nodes.json)
126# version 1 is accepted by the legacy meshviewer (which is the master branch)
127# i.e. https://github.com/ffnord/meshviewer/tree/master
128# version 2 is accepted by the new versions of meshviewer (which are in the legacy develop branch or newer)
129# i.e. https://github.com/ffnord/meshviewer/tree/dev
130# https://github.com/ffrgb/meshviewer/tree/develop
131version = 2
132# path where to store nodes.json
133nodes_path = "/opt/meshviewer/build/data/nodes.json"
134# path where to store graph.json
135graph_path = "/opt/meshviewer/build/data/graph.json"
136
137[nodes.output.meshviewer.filter]
138# WARNING: if it is not set, it will publish contact information of other persons
139no_owner = false
140
141
142# definition for nodelist.json
143[[nodes.output.nodelist]]
144enable = true
145path = "/opt/meshviewer/build/data/nodelist.json"
146
147[nodes.output.nodelist.filter]
148# WARNING: if it is not set, it will publish contact information of other persons
149no_owner = false
150
151
152
153[database]
154# this will send delete commands to the database to prune data
155# which is older than:
156delete_after = "30d"
157# how often run the cleaning
158delete_interval = "1h"
159
160## [[database.connection.example]]
161# Each database-connection has its own config block and needs to be enabled by adding:
162#enable = true
163
164# Save collected data to InfluxDB.
165# There are the following measurments:
166# node: store node specific data i.e. clients memory, airtime
167# global: store global data, i.e. count of clients and nodes
168# firmware: store the count of nodes tagged with firmware
169# model: store the count of nodes tagged with hardware model
170#[[database.connection.influxdb]]
171#enable = false
172#address = "http://statistics.freifunk-lippe.de:8086"
173#database = "fflip"
174#username = ""
175#password = ""
176
177# Tagging of the data (optional)
178[database.connection.influxdb.tags]
179# Tags used by Yanic would override the tags from this config
180# nodeid, hostname, owner, model, firmware_base, firmware_release,frequency11g and frequency11a are tags which are already used
181#tagname1 = "tagvalue 1"
182# some useful e.g.:
183#system = "productive"
184#site = "fflip"
185
186# Graphite settings
187[[database.connection.graphite]]
188enable = true
189address = "195.128.100.197:2003"
190# Graphite is replacing every "." in the metric name with a slash "/" and uses
191# that for the file system hierarchy it generates. it is recommended to at least
192# move the metrics out of the root namespace (that would be the empty prefix).
193# If you only intend to run one community and only freifunk on your graphite node
194# then the prefix can be set to anything (including the empty string) since you
195# probably wont care much about "polluting" the namespace.
196prefix = "ffowl"
197
198# respondd (yanic)
199# forward collected respondd package to a address
200# (e.g. to another respondd collector like a central yanic instance or hopglass)
201[[database.connection.respondd]]
202enable = false
203# type of network to create a connection
204type = "udp6"
205# destination address to connect/send respondd package
206address = "stats.bremen.freifunk.net:11001"
207
208# Logging
209[[database.connection.logging]]
210enable = false
211path = "/var/log/yanic.log"