Перейти к содержанию

Address Resolver

Интерфейс служит для определения (resolve) IP адреса устройства (ManagedObject) по полю FQDN. Определение адреса запускается перед опросом и пытается определить IP адрес по DNS. Обработчик реализует собственный алгоритм определения IP адреса устройства.

Address Resolver применяется в начале опроса Discovery.

address_resolver(fqdn):
    Implements Address Resolver

    :param fqdn: Managed Object Instance FQDN field 
    :returns:

Примеры

Определение адреса из локального файла

При старте опроса проверяет локальный файл (должен находиться на одном хосте с процессом Discovery) и возвращает найденный IP адрес

import os

FILENAME = "/tmp/device_addresses.txt"


def address_resolver(fqdn):
    if os.path.exists(FILENAME):
        with open(FILENAME, "r") as f:
            for ll in f.readlines():
                address, host = ll.split(",")
                if fqdn.startswith(host):
                    return address