Ad Widget

Collapse

Python. Получение узлов сети.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Odil_tal
    Member
    • Jul 2016
    • 60

    #1

    Python. Получение узлов сети.

    Добрый день форумчане.
    Помогите в написании скрипта на Python-е.
    Вот скрипт с документации Zabbix-а https://www.zabbix.com/documentation/4.0/ru/manual/api
    { "jsonrpc": "2.0", "method": "host.get", "params": { "output": [ "hostid", "host" ], "selectInterfaces": [ "interfaceid", "ip" ] }, "id": 2, "auth": "0424bd59b807674191e7d77572075f33" } Никак не получается написать этот скрипт на Питоне.
    Начал типа такого писать, но вижу, что не в том направлении иду.
    groupid = 8
    hosts = z.host.get(groupids=groupid , output=['hostid','name'],selectInterfaces=['interfaceid','ip'])
    #Список имен хостов
    host_names = [host['name'] for host in hosts]
    host_inter = [host['ip'] for host in hosts]
    ...
    Цель: получить список узлов сети (компьютеров) и их последний полученный IP адрес. Обнаружение идёт по DNS имени компьютера, поэтому необходимо получить его IP адрес на данный момент.
  • Alex1987
    Member
    • Nov 2015
    • 55

    #2
    Можно использовать модуль pyzabbix (pip install pyzabbix)
    Code:
    #!/usr/bin/python3 -u
    from pyzabbix import ZabbixAPI
    
    zapi = ZabbixAPI("http://zabbix.lan/zabbix")
    zapi.login("your_login", "your_password")
    for host in zapi.host.get(output = ['hostid','host','name'],  selectInterfaces=['ip','port','dns']):
        print (host)

    Comment


    • Odil_tal
      Odil_tal commented
      Editing a comment
      Огромное спасибо!
Working...