Ad Widget

Collapse

Проблема с history.get (api zabbix)

Collapse
This topic has been answered.
X
X
 
  • Time
  • Show
Clear All
new posts
  • tpk256
    Junior Member
    • Aug 2022
    • 2

    #1

    Проблема с history.get (api zabbix)

    version zabbix 4.0
    os: Astra Linux (Orel 2.12.45)

    json:
    {
    "jsonrpc": "2.0",
    "method": "history.get",
    "params": {
    "output": "extend",
    "history": 0,
    "itemids": item_id,
    "sortfield": "clock",
    "sortorder": "ASC",
    "limit": limit
    },
    "auth": token,
    "id": id_ # id ун
    }

    При верно указанном itemid ничего не выводит, если триггер с таким элементом находится в состоянии проблема.
    При иных указанных элементах данных всё выводит.
    Код в этом репозитории в модуле api.py https://github.com/tpk256/test​
  • Answer selected by tpk256 at 13-12-2022, 11:08.
    Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    Интересующий айтем точно имеет тип "Numeric (float)"? (параметр "history": 0)
    А вообще-то для Python-а есть отличная библиотека py-zabbix, при помощи которой можно писать примерно таким образом:
    Code:
    URL='https://127.0.0.1/'
    USER='ZabbixUser'
    PASS='MyPassword'
    
    import sys
    import logging
    from pyzabbix.api import ZabbixAPI
    
    logger = logging.getLogger("pyzabbix")
    #logger.setLevel(logging.DEBUG)
    handler = logging.StreamHandler(sys.stdout)
    logger.addHandler(handler)
    
    #parameters processing
    ​if (len(sys.argv) != 2):
        sys.exit("There should be parameter: <HostID>")
    host_id = sys.argv[1]
    
    # create ZabbixAPI class instance with logout automatically
    with ZabbixAPI(url=URL,user=USER,password=PASS) as zapi:
        print ("Connected to Zabbix API version %s" % zapi.api_version())
    
        #get the current IP of this host
        result = zapi.hostinterface.get(hostids=host_id,
                                        filter={"type":["1"]},
                                        output=["interfaceid","ip"])
        logger.debug("interfaceid: '%s'" % result[0]["interfaceid"])
        logger.debug("ip: '%s'" % result[0]["ip"])
    [...]

    Comment


    • tpk256
      tpk256 commented
      Editing a comment
      Вы правы тип данных был int, а не float.Слабо обратил внимание на тип данных элемента,так как показалось,что в документации имело в виду возвращаемое представление значения.
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Интересующий айтем точно имеет тип "Numeric (float)"? (параметр "history": 0)
    А вообще-то для Python-а есть отличная библиотека py-zabbix, при помощи которой можно писать примерно таким образом:
    Code:
    URL='https://127.0.0.1/'
    USER='ZabbixUser'
    PASS='MyPassword'
    
    import sys
    import logging
    from pyzabbix.api import ZabbixAPI
    
    logger = logging.getLogger("pyzabbix")
    #logger.setLevel(logging.DEBUG)
    handler = logging.StreamHandler(sys.stdout)
    logger.addHandler(handler)
    
    #parameters processing
    ​if (len(sys.argv) != 2):
        sys.exit("There should be parameter: <HostID>")
    host_id = sys.argv[1]
    
    # create ZabbixAPI class instance with logout automatically
    with ZabbixAPI(url=URL,user=USER,password=PASS) as zapi:
        print ("Connected to Zabbix API version %s" % zapi.api_version())
    
        #get the current IP of this host
        result = zapi.hostinterface.get(hostids=host_id,
                                        filter={"type":["1"]},
                                        output=["interfaceid","ip"])
        logger.debug("interfaceid: '%s'" % result[0]["interfaceid"])
        logger.debug("ip: '%s'" % result[0]["ip"])
    [...]

    Comment


    • tpk256
      tpk256 commented
      Editing a comment
      Вы правы тип данных был int, а не float.Слабо обратил внимание на тип данных элемента,так как показалось,что в документации имело в виду возвращаемое представление значения.
Working...