Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Veksler <Mihails.Vekslers@zabbix.com>2021-12-10 18:22:23 +0300
committerAleksejs Sestakovs <aleksejs.sestakovs@zabbix.com>2021-12-10 18:40:15 +0300
commit7b1db3289bfd9f7e43bf1b3e7f360f817873ea20 (patch)
tree7974f35990d506035b37d3cadce8c75a3240cf3d
parent376305698f64626f5d402d1d5deb376d4347e9b5 (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-71001
-rw-r--r--src/zabbix_server/poller/checks_simple_vmware.c2
-rw-r--r--src/zabbix_server/vmware/vmware.c16
-rw-r--r--src/zabbix_server/vmware/vmware.h3
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