iTop ITSM & CMDB по-русски

Ошибка сборщика данных для vSphere

Добрый день!
Установил сборщик данных для vSphere версии: 1.0.16
Установлен iTop 2.7.3
и расширения TeemIp:
IPAM for iTop Версия: 2.7.0
Network Management Extended Версия: 1.0.0

При синхронизации выходит ошибка:

[Error] Failed to update the Synchro Data Source. Inconsistent data model, the attribute 'speed' does not exist in iTop.
Прикладываю Дэбаг-лог:

root@itop:/home/kasatkin/Downloads/combodo-data-collector-for-vsphere# php exec.php
[2021-03-31 16:27:13] [Info] Detecting if TeemIp is installed on remote iTop server
[2021-03-31 16:27:13] [Info] Yes, TeemIp is installed
[2021-03-31 16:27:13] [Info] IPs will be collected
[2021-03-31 16:27:13] [Info] Logical interfaces will be collected
[2021-03-31 16:27:13] [Debug] OK, the required PHP version to run this application is 5.6.0. The current PHP version is 7.3.27-1~deb10u1.
[2021-03-31 16:27:13] [Debug] OK, the required extension ‘simplexml’ is installed (current version: 7.3.27-1~deb10u1 >= 0.1).
[2021-03-31 16:27:13] [Debug] OK, the required extension ‘dom’ is installed (current version: 20031129 >= 1.0).
[2021-03-31 16:27:13] [Debug] The following configuration files were loaded (in this order):

    1. /home/kasatkin/Downloads/combodo-data-collector-for-vsphere/conf/params.distrib.xml
    2. /home/kasatkin/Downloads/combodo-data-collector-for-vsphere/collectors/params.distrib.xml
    3. /home/kasatkin/Downloads/combodo-data-collector-for-vsphere/conf/params.local.xml

The resulting configuration is:

<?xml version="1.0" encoding="UTF-8"?> http://localhost/itop REST_API Reh201aer@ 7 [Y-m-d H:i:s] -1 %APPROOT%/data 1000 600 no 0 1 Demo 192.168.10.12:443 admin admin $default_org_id$ /Ubuntu/Linux /RedHat/Linux /Debian/Linux /Linux/Linux /Windows/Windows /.*/Other /.*/%1$s /IBM/IBM /Hewlett Packard/Hewlett-Packard /Hewlett-Packard/Hewlett-Packard /Dell/Dell /.*/%1$s /.*/%1$s vSphere 604800 production yes allocated no yes

PHP Warning: array_key_exists() expects parameter 2 to be array, string given in /home/kasatkin/Downloads/combodo-data-collector-for-vsphere/collectors/ConfigurableCollector.class.inc.php on line 36
PHP Warning: array_key_exists() expects parameter 2 to be array, string given in /home/kasatkin/Downloads/combodo-data-collector-for-vsphere/collectors/ConfigurableCollector.class.inc.php on line 36
PHP Warning: array_key_exists() expects parameter 2 to be array, string given in /home/kasatkin/Downloads/combodo-data-collector-for-vsphere/collectors/vSphereHypervisorCollector.class.inc.php on line 134
[2021-03-31 16:27:13] [Debug] Registered collectors:
[2021-03-31 16:27:13] [Debug] Collector: vSphereBrandCollector, version: 1.0.13
[2021-03-31 16:27:13] [Debug] Collector: vSphereModelCollector, version: 1.0.13
[2021-03-31 16:27:13] [Debug] Collector: vSphereOSFamilyCollector, version: 1.0.13
[2021-03-31 16:27:13] [Debug] Collector: vSphereOSVersionCollector, version: 1.0.13
[2021-03-31 16:27:13] [Debug] Collector: vSphereFarmCollector, version: 1.0.13
[2021-03-31 16:27:13] [Debug] Collector: vSphereIPv4AddressCollector, version: 1.0.13
[2021-03-31 16:27:13] [Debug] Collector: vSphereServerTeemIpCollector, version: 1.0.13
[2021-03-31 16:27:13] [Debug] Collector: vSphereHypervisorCollector, version: 1.0.13
[2021-03-31 16:27:13] [Debug] Collector: vSphereVirtualMachineTeemIpCollector, version: 1.0.13
[2021-03-31 16:27:13] [Debug] Collector: vSphereLogicalInterfaceCollector, version: 1.0.13
[2021-03-31 16:27:13] [Debug] Collector: vSpherelnkIPInterfaceToIPAddressCollector, version: 1.0.13
[2021-03-31 16:27:13] [Debug] iTop web services version: 2.0
[2021-03-31 16:27:13] [Debug] Checking the configuration of the data source ‘vSphere:Brand’…
[2021-03-31 16:27:13] [Debug] The configuration of the data source ‘vSphere:Brand’ looks correct.
[2021-03-31 16:27:13] [Debug] RestClient::Get SELECT SynchroAttribute WHERE attcode IN (‘name’) AND sync_source_id = 26
[2021-03-31 16:27:14] [Info] Ok, the Synchro Data Source ‘vSphere:Brand’ exists in iTop and is up to date
[2021-03-31 16:27:14] [Debug] Checking the configuration of the data source ‘vSphere:Model’…
[2021-03-31 16:27:14] [Debug] The configuration of the data source ‘vSphere:Model’ looks correct.
[2021-03-31 16:27:14] [Debug] RestClient::Get SELECT SynchroAttExtKey WHERE attcode IN (‘brand_id’) AND sync_source_id = 27
[2021-03-31 16:27:14] [Debug] RestClient::Get SELECT SynchroAttribute WHERE attcode IN (‘name’,‘type’) AND sync_source_id = 27
[2021-03-31 16:27:14] [Info] Ok, the Synchro Data Source ‘vSphere:Model’ exists in iTop and is up to date
[2021-03-31 16:27:14] [Debug] Checking the configuration of the data source ‘vSphere:OSFamily’…
[2021-03-31 16:27:14] [Debug] The configuration of the data source ‘vSphere:OSFamily’ looks correct.
[2021-03-31 16:27:14] [Debug] RestClient::Get SELECT SynchroAttribute WHERE attcode IN (‘name’) AND sync_source_id = 28
[2021-03-31 16:27:14] [Info] Ok, the Synchro Data Source ‘vSphere:OSFamily’ exists in iTop and is up to date
[2021-03-31 16:27:14] [Debug] Checking the configuration of the data source ‘vSphere:OSVersion’…
[2021-03-31 16:27:14] [Debug] The configuration of the data source ‘vSphere:OSVersion’ looks correct.
[2021-03-31 16:27:14] [Debug] RestClient::Get SELECT SynchroAttribute WHERE attcode IN (‘name’) AND sync_source_id = 29
[2021-03-31 16:27:14] [Debug] RestClient::Get SELECT SynchroAttExtKey WHERE attcode IN (‘osfamily_id’) AND sync_source_id = 29
[2021-03-31 16:27:14] [Info] Ok, the Synchro Data Source ‘vSphere:OSVersion’ exists in iTop and is up to date
[2021-03-31 16:27:14] [Debug] Checking the configuration of the data source ‘vSphere:Farm’…
[2021-03-31 16:27:14] [Debug] The configuration of the data source ‘vSphere:Farm’ looks correct.
[2021-03-31 16:27:15] [Debug] RestClient::Get SELECT SynchroAttLinkSet WHERE attcode IN (‘applicationsolution_list’,‘contacts_list’,‘documents_list’,‘logicalvolumes_list’,‘providercontracts_list’,‘services_list’,‘tickets_list’) AND sync_source_id = 30
[2021-03-31 16:27:15] [Debug] RestClient::Get SELECT SynchroAttribute WHERE attcode IN (‘business_criticity’,‘description’,‘move2production’,‘name’,‘redundancy’,‘status’) AND sync_source_id = 30
[2021-03-31 16:27:15] [Debug] RestClient::Get SELECT SynchroAttExtKey WHERE attcode IN (‘org_id’) AND sync_source_id = 30
[2021-03-31 16:27:15] [Debug] Comparison: Found the extra definition of the non-optional attribute ‘redundancy’ in iTop. Data sources differ.
[2021-03-31 16:27:15] [Info] The Synchro Data Source definition for ‘vSphere:Farm’ must be updated in iTop.
[2021-03-31 16:27:15] [Debug] Updating attribute applicationsolution_list.
[2021-03-31 16:27:15] [Debug] Updating attribute contacts_list.
[2021-03-31 16:27:15] [Debug] Updating attribute documents_list.
[2021-03-31 16:27:15] [Debug] Updating attribute logicalvolumes_list.
[2021-03-31 16:27:16] [Debug] Updating attribute org_id.
[2021-03-31 16:27:16] [Info] Skipping optional attribute providercontracts_list.
[2021-03-31 16:27:16] [Debug] Updating attribute tickets_list.
[2021-03-31 16:27:16] [Debug] Checking the configuration of the data source ‘vSphere:IPv4Address’…
[2021-03-31 16:27:16] [Debug] The configuration of the data source ‘vSphere:IPv4Address’ looks correct.
[2021-03-31 16:27:16] [Debug] RestClient::Get SELECT SynchroAttribute WHERE attcode IN (‘aliases’,‘allocation_date’,‘comment’,‘fqdn’,‘fqdn_from_iplookup’,‘ip’,‘last_discovery_date’,‘release_date’,‘responds_to_iplookup’,‘responds_to_ping’,‘responds_to_scan’,‘short_name’,‘status’) AND sync_source_id = 31
[2021-03-31 16:27:16] [Debug] RestClient::Get SELECT SynchroAttLinkSet WHERE attcode IN (‘contact_list’,‘document_list’,‘ip_list’) AND sync_source_id = 31
[2021-03-31 16:27:16] [Debug] RestClient::Get SELECT SynchroAttExtKey WHERE attcode IN (‘domain_id’,‘org_id’,‘range_id’,‘requestor_id’,‘subnet_id’,‘usage_id’,‘view_id’) AND sync_source_id = 31
[2021-03-31 16:27:16] [Debug] Comparison: Found the extra definition of the non-optional attribute ‘fqdn_from_iplookup’ in iTop. Data sources differ.
[2021-03-31 16:27:16] [Info] The Synchro Data Source definition for ‘vSphere:IPv4Address’ must be updated in iTop.
[2021-03-31 16:27:16] [Debug] Updating attribute contact_list.
[2021-03-31 16:27:17] [Debug] Updating attribute document_list.
[2021-03-31 16:27:17] [Debug] Updating attribute domain_id.
[2021-03-31 16:27:17] [Debug] Updating attribute ip_list.
[2021-03-31 16:27:17] [Debug] Updating attribute org_id.
[2021-03-31 16:27:17] [Debug] Updating attribute range_id.
[2021-03-31 16:27:17] [Debug] Updating attribute requestor_id.
[2021-03-31 16:27:17] [Debug] Updating attribute subnet_id.
[2021-03-31 16:27:17] [Debug] Updating attribute usage_id.
PHP Warning: array_key_exists() expects parameter 2 to be array, string given in /home/kasatkin/Downloads/combodo-data-collector-for-vsphere/collectors/ConfigurableCollector.class.inc.php on line 36
[2021-03-31 16:27:18] [Debug] Checking the configuration of the data source ‘vSphere:Server’…
[2021-03-31 16:27:18] [Debug] The configuration of the data source ‘vSphere:Server’ looks correct.
[2021-03-31 16:27:18] [Debug] RestClient::Get SELECT SynchroAttLinkSet WHERE attcode IN (‘applicationsolution_list’,‘contacts_list’,‘documents_list’,‘logicalvolumes_list’,‘networkdevice_list’,‘providercontracts_list’,‘san_list’,‘services_list’,‘tickets_list’) AND sync_source_id = 32
[2021-03-31 16:27:18] [Debug] RestClient::Get SELECT SynchroAttribute WHERE attcode IN (‘asset_number’,‘business_criticity’,‘cpu’,‘description’,‘end_of_warranty’,‘move2production’,‘name’,‘nb_u’,‘purchase_date’,‘ram’,‘serialnumber’,‘status’) AND sync_source_id = 32
[2021-03-31 16:27:18] [Debug] RestClient::Get SELECT SynchroAttExtKey WHERE attcode IN (‘brand_id’,‘enclosure_id’,‘location_id’,‘managementip_id’,‘model_id’,‘org_id’,‘osfamily_id’,‘oslicence_id’,‘osversion_id’,‘powerA_id’,‘powerB_id’,‘rack_id’) AND sync_source_id = 32
[2021-03-31 16:27:18] [Info] Ok, the Synchro Data Source ‘vSphere:Server’ exists in iTop and is up to date
PHP Warning: array_key_exists() expects parameter 2 to be array, string given in /home/kasatkin/Downloads/combodo-data-collector-for-vsphere/collectors/ConfigurableCollector.class.inc.php on line 36
[2021-03-31 16:27:18] [Debug] Checking the configuration of the data source ‘vSphere:Hypervisor’…
[2021-03-31 16:27:18] [Debug] The configuration of the data source ‘vSphere:Hypervisor’ looks correct.
[2021-03-31 16:27:18] [Debug] RestClient::Get SELECT SynchroAttLinkSet WHERE attcode IN (‘applicationsolution_list’,‘contacts_list’,‘documents_list’,‘logicalvolumes_list’,‘providercontracts_list’,‘services_list’,‘tickets_list’) AND sync_source_id = 33
[2021-03-31 16:27:18] [Debug] RestClient::Get SELECT SynchroAttribute WHERE attcode IN (‘business_criticity’,‘description’,‘move2production’,‘name’,‘status’) AND sync_source_id = 33
[2021-03-31 16:27:18] [Debug] RestClient::Get SELECT SynchroAttExtKey WHERE attcode IN (‘farm_id’,‘org_id’,‘server_id’) AND sync_source_id = 33
[2021-03-31 16:27:19] [Info] Ok, the Synchro Data Source ‘vSphere:Hypervisor’ exists in iTop and is up to date
[2021-03-31 16:27:19] [Debug] Checking the configuration of the data source ‘vSphere:VirtualMachine’…
[2021-03-31 16:27:19] [Debug] The configuration of the data source ‘vSphere:VirtualMachine’ looks correct.
[2021-03-31 16:27:19] [Debug] RestClient::Get SELECT SynchroAttLinkSet WHERE attcode IN (‘applicationsolution_list’,‘contacts_list’,‘documents_list’,‘logicalvolumes_list’,‘providercontracts_list’,‘services_list’,‘tickets_list’) AND sync_source_id = 34
[2021-03-31 16:27:19] [Debug] RestClient::Get SELECT SynchroAttribute WHERE attcode IN (‘business_criticity’,‘cpu’,‘description’,‘move2production’,‘name’,‘ram’,‘status’) AND sync_source_id = 34
[2021-03-31 16:27:19] [Debug] RestClient::Get SELECT SynchroAttExtKey WHERE attcode IN (‘managementip_id’,‘org_id’,‘osfamily_id’,‘oslicence_id’,‘osversion_id’,‘virtualhost_id’) AND sync_source_id = 34
[2021-03-31 16:27:19] [Info] Ok, the Synchro Data Source ‘vSphere:VirtualMachine’ exists in iTop and is up to date
[2021-03-31 16:27:19] [Debug] Checking the configuration of the data source ‘vSphere:LogicalInterface’…
[2021-03-31 16:27:19] [Debug] The configuration of the data source ‘vSphere:LogicalInterface’ looks correct.
[2021-03-31 16:27:19] [Debug] RestClient::Get SELECT SynchroAttribute WHERE attcode IN (‘comment’,‘macaddress’,‘name’,‘status’) AND sync_source_id = 35
[2021-03-31 16:27:19] [Debug] RestClient::Get SELECT SynchroAttExtKey WHERE attcode IN (‘interfacespeed_id’,‘layer2protocol_id’,‘virtualmachine_id’) AND sync_source_id = 35
[2021-03-31 16:27:19] [Debug] RestClient::Get SELECT SynchroAttLinkSet WHERE attcode IN (‘ip_list’,‘vlans_list’,‘vrfs_list’) AND sync_source_id = 35
[2021-03-31 16:27:19] [Debug] Comparison: The definition of the non-optional attribute ‘speed’ is missing. Data sources differ.
[2021-03-31 16:27:19] [Info] The Synchro Data Source definition for ‘vSphere:LogicalInterface’ must be updated in iTop.
[2021-03-31 16:27:20] [Debug] Updating attribute ip_list.
[2021-03-31 16:27:20] [Debug] Updating attribute speed.
[2021-03-31 16:27:20] [Error] Failed to update the Synchro Data Source. Inconsistent data model, the attribute ‘speed’ does not exist in iTop.

Как я понимаю в iTop вместо атрибута “speed” используется “InterfaceSpeed”, но не понимаю где в сборщике это нужно поправить, в файле vSphere:LogicalInterface есть:

                {
                    "attcode": "speed",
                    "update": "0",
                    "reconcile": "0",
                    "update_policy": "master_locked",
                    "finalclass": "SynchroAttribute",
                    "friendlyname": "speed"
            },

Но если здесь меняю, то получаю такую ошибку:

2021-03-31 16:36:23] [Debug] Comparison: The definition of the non-optional attribute ‘InterfaceSpeed’ is missing. Data sources differ.
[2021-03-31 16:36:23] [Info] The Synchro Data Source definition for ‘vSphere:LogicalInterface’ must be updated in iTop.
[2021-03-31 16:36:23] [Debug] Updating attribute ip_list.
[2021-03-31 16:36:23] [Debug] Updating attribute InterfaceSpeed.
[2021-03-31 16:36:23] [Error] Failed to update the Synchro Data Source. Inconsistent data model, the attribute ‘InterfaceSpeed’ does not exist in iTop.

Вроде разобрался, нужно подставлять “interfacespeed_id”, сейчас другая ошибка:

[Critical Error] Failed to connect to https://192.168.4.4 (Error 0: Failed to parse address “192.168.4.4”)
[2021-03-31 17:21:56] [Error] vSphereBrandCollector::Collect() got an exception: Cannot connect to https://192.168.4.4. Aborting.

Ну с этой-то уж точно разобраться будет просто :wink:

да нужно было порт добавить)