Ad Widget

Collapse

API php mapUpdate Error

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Anhelone1
    Junior Member
    • Jul 2015
    • 2

    #1

    API php mapUpdate Error

    Здравствуйте,
    Zabbix 2.4, не могу добавить на карту узел с помощью API PHP
    Code:
    $map_update = $api->mapUpdate(
        array(
    		'sysmapid'=> 143,	
    		'selements' => array(														
    							'elementid' => '15984',
    							'elementtype' => '0',
    							'iconid_off' => '1',
    							'label' => 'text',							 
    							),
    		),
        ''
    	);
    Пробовал делать mapCreate и сразу создавать хосты - все аналогично.
    Карта - 143, точно существует, Хост с таким ИД - 15984, тоже
    Выдает ошибку:
    Fatal error: Uncaught exception 'ZabbixApi\Exception' with message 'API error -32602: Wrong fields for element.' in Z:\home\192.168.0.2\www\11\map\ZabbixApiAbstract.c lass.php:320 Stack trace: #0 Z:\home\192.168.0.2\www\11\map\ZabbixApiAbstract.c lass.php(7815): ZabbixApi\ZabbixApiAbstract->request('map.update', Array, '', true) #1 Z:\home\192.168.0.2\www\11\map\map.php(72): ZabbixApi\ZabbixApiAbstract->mapUpdate(Array, '') #2 {main} thrown in Z:\home\192.168.0.2\www\11\map\ZabbixApiAbstract.c lass.php on line 320

    При этом пробовали перлом через JSON:
    Code:
    {
        "jsonrpc": "2.0",
        "method": "map.update",
        "params": {
            "sysmapid": "143",        
            "selements": [
                {
                    "elementid": "15984",
                    "elementtype": "0",
                    "iconid_off": "1",
                    "label": "TEST"
                },            
            ],
            
        },
        "auth": "038e1d7b1735c6a5436ee9eae095879e",
        "id": 1
    }
    Все тоже самое, но тут без проблем, добавляет хост на карту.
    Через перл все делать - не вариант, хочется все таки через PHP добить. Может кто сам попробовать добавить так хост? может с классом ZabbixApiAbstract проблема?
    Заранее спасибо за помощь.
  • Anhelone1
    Junior Member
    • Jul 2015
    • 2

    #2
    Может кому понадобится, разобрался, вот рабочий вариант:
    Code:
    $map_update = $api->mapUpdate(
        array(
    		'sysmapid'=> 143,	
    		'selements' =>[B] array (array[/B](														
    							'elementid' => '15984',
    							'elementtype' => '0',
    							'iconid_off' => '1',
    							'label' => 'text',							 
    							)),
    							 
    		),
        ''
    	);

    Comment

    Working...