diff options
author | Michael Veksler <Mihails.Vekslers@zabbix.com> | 2021-12-10 18:22:23 +0300 |
---|---|---|
committer | Aleksejs Sestakovs <aleksejs.sestakovs@zabbix.com> | 2021-12-10 18:40:15 +0300 |
commit | 7b1db3289bfd9f7e43bf1b3e7f360f817873ea20 (patch) | |
tree | 7974f35990d506035b37d3cadce8c75a3240cf3d | |
parent | 376305698f64626f5d402d1d5deb376d4347e9b5 (diff) |
.......PS. [ZBXNEXT-7100] added new LLD macro HV.NETNAME to vmware.hv.discovery
* commit 'bc549ebc8b2b9ce434a4802db9e858899e3575df':
.......PS. [ZBXNEXT-7100] added new LLD macro HV.NETNAME
(cherry picked from commit 1fea76b578adab188d3e42974872014fbdeb68c6)
-rw-r--r-- | ChangeLog.d/feature/ZBXNEXT-7100 | 1 | ||||
-rw-r--r-- | src/zabbix_server/poller/checks_simple_vmware.c | 2 | ||||
-rw-r--r-- | src/zabbix_server/vmware/vmware.c | 16 | ||||
-rw-r--r-- | src/zabbix_server/vmware/vmware.h | 3 |
4 files changed, 18 insertions, 4 deletions
diff --git a/ChangeLog.d/feature/ZBXNEXT-7100 b/ChangeLog.d/feature/ZBXNEXT-7100 new file mode 100644 index 00000000000..19a46763103 --- /dev/null +++ b/ChangeLog.d/feature/ZBXNEXT-7100 @@ -0,0 +1 @@ +.......PS. [ZBXNEXT-7100] added new LLD macro HV.NETNAME to vmware.hv.discovery (MVekslers) diff --git a/src/zabbix_server/poller/checks_simple_vmware.c b/src/zabbix_server/poller/checks_simple_vmware.c index 2ac09646210..3998e91c081 100644 --- a/src/zabbix_server/poller/checks_simple_vmware.c +++ b/src/zabbix_server/poller/checks_simple_vmware.c @@ -1142,6 +1142,8 @@ int check_vcenter_hv_discovery(AGENT_REQUEST *request, const char *username, con NULL != cluster ? cluster->name : "", ZBX_JSON_TYPE_STRING); zbx_json_addstring(&json_data, "{#PARENT.NAME}", hv->parent_name, ZBX_JSON_TYPE_STRING); zbx_json_addstring(&json_data, "{#PARENT.TYPE}", hv->parent_type, ZBX_JSON_TYPE_STRING); + zbx_json_addstring(&json_data, "{#HV.NETNAME}", + ZBX_NULL2EMPTY_STR(hv->props[ZBX_VMWARE_HVPROP_NET_NAME]), ZBX_JSON_TYPE_STRING); zbx_json_close(&json_data); } diff --git a/src/zabbix_server/vmware/vmware.c b/src/zabbix_server/vmware/vmware.c index ee8ee32993b..bc3b9ec20f3 100644 --- a/src/zabbix_server/vmware/vmware.c +++ b/src/zabbix_server/vmware/vmware.c @@ -375,12 +375,15 @@ static zbx_vmware_propmap_t hv_propmap[] = { {"runtime.healthSystemRuntime.systemHealthInfo", /* ZBX_VMWARE_HVPROP_HEALTH_STATE */ ZBX_XPATH_HV_SENSOR_STATUS("VMware Rollup Health State"), NULL}, ZBX_HVPROPMAP("summary.quickStats.uptime"), /* ZBX_VMWARE_HVPROP_UPTIME */ - ZBX_HVPROPMAP("summary.config.product.version"), /* ZBX_VMWARE_HVPROP_VERSION */ + ZBX_HVPROPMAP("summary.config.product.version"), /* ZBX_VMWARE_HVPROP_VERSION */ ZBX_HVPROPMAP("summary.config.name"), /* ZBX_VMWARE_HVPROP_NAME */ ZBX_HVPROPMAP("overallStatus"), /* ZBX_VMWARE_HVPROP_STATUS */ ZBX_HVPROPMAP("runtime.inMaintenanceMode"), /* ZBX_VMWARE_HVPROP_MAINTENANCE */ ZBX_HVPROPMAP_EXT("summary.runtime.healthSystemRuntime.systemHealthInfo.numericSensorInfo", - zbx_xmlnode_to_json) /* ZBX_VMWARE_HVPROP_SENSOR */ + zbx_xmlnode_to_json), /* ZBX_VMWARE_HVPROP_SENSOR */ + {"config.network.dnsConfig", "concat(" /* ZBX_VMWARE_HVPROP_NET_NAME */ + ZBX_XPATH_PROP_NAME("config.network.dnsConfig") "/*[local-name()='hostName']" ",'.'," + ZBX_XPATH_PROP_NAME("config.network.dnsConfig") "/*[local-name()='domainName'])", NULL} }; static zbx_vmware_propmap_t vm_propmap[] = { @@ -840,7 +843,14 @@ static char **xml_read_props(xmlDoc *xdoc, const zbx_vmware_propmap_t *propmap, if (NULL != (xpathObj = xmlXPathEvalExpression((const xmlChar *)propmap[i].xpath, xpathCtx))) { - if (0 == xmlXPathNodeSetIsEmpty(xpathObj->nodesetval)) + if (XPATH_STRING == xpathObj->type) + { + if (NULL != propmap[i].func) + propmap[i].func((void *)xpathObj->stringval, &props[i]); + else if ('.' != *xpathObj->stringval) + props[i] = zbx_strdup(NULL, (const char *)xpathObj->stringval); + } + else if (0 == xmlXPathNodeSetIsEmpty(xpathObj->nodesetval)) { nodeset = xpathObj->nodesetval; diff --git a/src/zabbix_server/vmware/vmware.h b/src/zabbix_server/vmware/vmware.h index 495be7345de..3715536a6bf 100644 --- a/src/zabbix_server/vmware/vmware.h +++ b/src/zabbix_server/vmware/vmware.h @@ -359,8 +359,9 @@ zbx_vmware_perf_entity_t *zbx_vmware_service_get_perf_entity(zbx_vmware_service_ #define ZBX_VMWARE_HVPROP_STATUS 15 #define ZBX_VMWARE_HVPROP_MAINTENANCE 16 #define ZBX_VMWARE_HVPROP_SENSOR 17 +#define ZBX_VMWARE_HVPROP_NET_NAME 18 -#define ZBX_VMWARE_HVPROPS_NUM 18 +#define ZBX_VMWARE_HVPROPS_NUM 19 /* virtual machine properties */ #define ZBX_VMWARE_VMPROP_CPU_NUM 0 |