# Send respondd request to update information [respondd] enable = true # Delay startup until a multiple of the period since zero time synchronize = "1m" # how often request per multicast collect_interval = "1m" # on which interface interfaces = ["eth0"] # define a port to listen # if not set or set to 0 the kernel will use a random free port at its own #port = 10001 # A little build-in webserver, which statically serves a directory. # This is useful for testing purposes or for a little standalone installation. [webserver] enable = false bind = "127.0.0.1:8080" webroot = "/var/www/html/meshviewer" [nodes] enable = true # Cache file # a json file to cache all data collected directly from respondd state_path = "/var/lib/yanic/state.json" # prune data in RAM, cache-file and output json files (i.e. nodes.json) # that were inactive for longer than prune_after = "7d" # Export nodes and graph periodically save_interval = "5s" # Set node to offline if not seen within this period offline_after = "10m" ## [[nodes.output.-]] # every output: # needs to be enabled just adding: # enable = true # could filter the nodes by using a there filter entry (see output meshviewer) # [nodes.output.-.filter] # could be used multiple times (suggested by the "[[...]]" instatt of "[...]") # it is useful for e.g. filter by different array and use multiple meshviewers [[nodes.output.meshviewer]] enable = true # The structure version of the output which should be generated (i.e. nodes.json) # version 1 is accepted by the legacy meshviewer (which is the master branch) # i.e. https://github.com/ffnord/meshviewer/tree/master # version 2 is accepted by the new versions 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 version = 2 # path where to store 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" [nodes.output.meshviewer.filter] # no_owner = true has_location = true blacklist = ["vpnid"] [nodes.output.meshviewer.filter.in_area] latitude_min = 34.30 latitude_max = 71.85 longitude_min = -24.96 longitude_max = 39.72 [[nodes.output.nodelist]] enable = true path = "/var/www/html/meshviewer/data/nodelist.json" [[nodes.output.meshviewer-ffrgb]] enable = true path = "/var/www/html/meshviewer/data/meshviewer.json" [database] # this will send delete commands to the database to prune data # which is older than: delete_after = "7d" # how often run the cleaning delete_interval = "1h" ## [[database.connection.-]] # every output: # needs to be enabled just adding: # enable = true # could be used multiple times (suggested by the "[[...]]" instatt of "[...]") # it is useful for e.g. save into a database before and behind a firewall # Save collected data to InfluxDB. # There are the following measurments: # node: store node specific data i.e. clients memory, airtime # global: store global data, i.e. count of clients and nodes # firmware: store the count of nodes tagged with firmware # model: store the count of nodes tagged with hardware model [[database.connection.influxdb]] enable = false address = "http://localhost:8086" database = "ffhb" username = "" password = "" # Tagging of the data (optional) [database.connection.influxdb.tags] # Tags used by Yanic would override the tags from this config # nodeid, hostname, owner, model and firmware are tags which are already used #tagname1 = "tagvalue 1" # some usefull e.g.: #system = "productive" #site = "ffhb" # Logging [[database.connection.logging]] enable = false path = "/var/log/yanic.log" # Graphite settings [[database.connection.graphite]] enable = false address = "localhost:2003" # Graphite is replacing every "." in the metric name with a slash "/" and uses # that for the file system hierarchy it generates. it is recommended to at least # move the metrics out of the root namespace (that would be the empty prefix). # If you only intend to run one community and only freifunk on your graphite node # then the prefix can be set to anything (including the empty string) since you # probably wont care much about "polluting" the namespace. prefix = "freifunk"