Source code for routeros_telegraf_exporter.probe_cli
"""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
"""
import argparse
import logging
import os
import routeros_api
logging.basicConfig(level=logging.DEBUG,
format='%(message)s',
datefmt='%m-%d %H:%M',
filemode='w')
[docs]def main():
"""Main probe function
Returns:
int: 0 if ok, 100 if fail
"""
parser = argparse.ArgumentParser()
parser.add_argument("-u", "--user", dest="user", default=os.getenv("ROUTEROS_API_USERNAME", 'api_read_user'))
parser.add_argument("-p", "--password", dest="password",
default=os.getenv("ROUTEROS_API_PASSWORD", 'do_not_expose_password_here'))
parser.add_argument("-P", "--port", dest="port", type=int, default=os.getenv("ROUTEROS_API_PORT", 8728))
parser.add_argument("-H", "--host", required=True, dest="host")
parser.add_argument("--path", required=True, dest="path")
args = parser.parse_args()
try:
api = routeros_api.RouterOsApiPool(args.host,
port=args.port,
username=args.user,
password=args.password,
plaintext_login=True).get_api()
for address in api.get_resource(args.path).get():
logging.info(address)
except Exception as e:
logging.error(e)
return 100
return 0
if __name__ == "__main__":
pass # pragma: no cover