routeros_telegraf_exporter package

Submodules

routeros_telegraf_exporter.cli module

routeros_telegraf_exporter.models module

Models module

Abstraction layer for models

class routeros_telegraf_exporter.models.Args(user='api_read_user', password='do_not_expose_password_here', port=8728, hosts=[], daemon=False, output_type='influx', resource=[], hosts_config_file='hosts_config.yaml', ignore_interval=False)[source]

Bases: object

host = None
hosts = []
ignore_interval = False
password = None
port = 8728
resource = []
sleep = 60
user = None
class routeros_telegraf_exporter.models.JsonData(tags={}, fields={}, measurement=None)[source]

Bases: object

fields = {}
measuremenst = None
tags = {}
time = None
routeros_telegraf_exporter.models.load_config(config_file)[source]
routeros_telegraf_exporter.models.load_hosts_from_config(config)[source]

routeros_telegraf_exporter.probe_cli module

Console script for routeros_telegraf_exporter.

This module is for rte_probe console script entry point.

Example:

$ rte_probe –host router1.example.com –path /system/resource
routeros_telegraf_exporter.probe_cli.main()[source]

Main probe function Returns: int: 0 if ok, 100 if fail

routeros_telegraf_exporter.routeros_exporter module

Main RouterOS API aggregator

This module is used to aggregate RouterOS API values into influx line protocol or JSON

routeros_telegraf_exporter.routeros_exporter.close_connections()[source]

Helper function for closing routeros connections

routeros_telegraf_exporter.routeros_exporter.extract_default_resouces(args)[source]

Helper function to extracts default resources from config file Args: args (object): Arguments object Returns: dict: Default section from config or None

routeros_telegraf_exporter.routeros_exporter.get_connection(args)[source]
routeros_telegraf_exporter.routeros_exporter.get_connections(args)[source]

Helper function for building connection pool for routers

Args:
args (object): Arguments object
routeros_telegraf_exporter.routeros_exporter.get_router_data(args, host, q)[source]

Main RouterOS-API values aggregator

Args:
args (object): Arguments object host (str): Host string q (Queue): Queue object
Returns:
list: Agregated list of values
routeros_telegraf_exporter.routeros_exporter.get_routers_data(args, hosts, q)[source]

Iterates over hosts and returns aggregated values

Args:
args (object): Parameters object hosts (str): Comma separated hosts q (Queue): Queue object
Returns:
list: List of agregated routers values
routeros_telegraf_exporter.routeros_exporter.host_output(args)[source]

Aggregates RouterOS-API path into list

Args:
args (object): Parameters object
Returns:
list: Multidimensional aggregated list
routeros_telegraf_exporter.routeros_exporter.worker(args, q, daemon=True)[source]

Main worker for cli and web application

Args:
args (object): Arguments object q (Queue): Queue object where the results is stored daemon (bool): On True iterates endlessly
Returns:
list: Multidimensional list of agregated values

routeros_telegraf_exporter.utils module

routeros_telegraf_exporter.utils.format_tag(value_str)[source]
routeros_telegraf_exporter.utils.format_value(value_str)[source]
routeros_telegraf_exporter.utils.format_values_to_str(values)[source]

routeros_telegraf_exporter.views module

Cornice services.

routeros_telegraf_exporter.views.get_health(request)[source]

Returns JSON or influx formatted string Args: request: Pylon requests object

routeros_telegraf_exporter.views.get_metrics(request)[source]

Returns JSON or influx formatted string Args: request: Pylon requests object

Module contents

Main entry point

routeros_telegraf_exporter.main(global_config, **settings)[source]