Dear friends
First off, I only started discovery Zabbix some two months ago and did it all self-taught, but so far I am very impressed with what you can achieve with this piece of beauty.
I am currently struggling with LLD of my network interfaces https://www.zabbix.com/documentation/current/manual/discovery/low_level_discovery/network_interfaces.
However, I must admit that I am slightly confused why I am getting WMI info also (see below) - but this is probably not the biggest issue.
Setup:
We have the following setup (only relevant parts):
- Hardware: Fujitsu PRIMERGY RX2530 M2 => 6 Ethernet Interfaces used
- Host-OS: Windows Server 2016
=> Zabbix agent (passive)
=> iRMC (-> IPMI)
=> Hyper-V
- Guest-OS: Ubuntu 18.04
=> Zabbix 4.4.7
=> using "Template Module Windows network by Zabbix agent"
When looking at Windows Server 2016: Control Panel => Network and Internet => Network Connections, we have the following situation (sorted by Device Name):
Please note that for *some* reason, the subnet mask is /28 - so these interfaces are all in different subnets, with the exception of the last interface "USV (10.y.z.10).
This can be confirmed with PowerShell => Get-NetAdapter (altough the number of characters is too long, so there are a few ... in between).
What it does right:
- History of Zabbix raw items => "Network interfaces WMI get" displays the raw data containing all the expected info like Name, Alias, Status, etc.
- for each item, 3 interface-items will be created (expected would be 6 interface-items)
BUT...
The "Name" (which will be translated into Zabbix #IFNAME, I assume) in this "Network interfaces WMI get" is not unique:
Intel(R) Ethernet Server Adapter I350-T4 => 3 times
Intel(R) Ethernet Server Adapter I350-T4 #4 => 1 time
Fujitsu DynamicLoM Emulex OCl1400-LOM => 2 times
What it does not:
- discovers only three interfaces instead of six, for the rest:
Discovery Rules (4) => Network interfaces WMI get: Network interfaces discovery => Info: "Cannot create item: item with same key "net.if.in["Intel(R) Ethernet Server Adapter I350-T4",dropped]" already exists
- mixes up the correspondance of #IFAlias and status information (I assume the status info matches the #IFNAME, but not 100% certain).
What have I tried so far:
As a clueless novice, I fiddled around with the template and created additional discovery rule => item prototypes. these revealed some (to me) interesting information:
I know that the default name would contain #IFNAME instead of #IFALIAS, but basically the same behaviour already existed before.
For some reason, in my current setting it seems to be discovering more interfaces (items) when using #IFALIAS (because this is unique) compared to using #IFNAME (which is not unique from Zabbix' point of view).
Unfortunately, Zabbix is not able to resolve the information based on #IFALIAS to further successfully create the items.
Going further:
My feeling is that it might be related to the # in the interface name. But I have no clue how to futher debug...
=> Is it a Zabbix issue?
=> Do I have to resolve it in Windows Server? (How exactly?)
=> Is there a transaltion issue since Zabbix is running on Ubuntu, but WMI-requesting the interface names? (How would I find out?)
And most importantly:
=> How am I going further into debugging this?
=> Can I provide any additional information? How exactly?
First off, I only started discovery Zabbix some two months ago and did it all self-taught, but so far I am very impressed with what you can achieve with this piece of beauty.
I am currently struggling with LLD of my network interfaces https://www.zabbix.com/documentation/current/manual/discovery/low_level_discovery/network_interfaces.
However, I must admit that I am slightly confused why I am getting WMI info also (see below) - but this is probably not the biggest issue.
Setup:
We have the following setup (only relevant parts):
- Hardware: Fujitsu PRIMERGY RX2530 M2 => 6 Ethernet Interfaces used
- Host-OS: Windows Server 2016
=> Zabbix agent (passive)
=> iRMC (-> IPMI)
=> Hyper-V
- Guest-OS: Ubuntu 18.04
=> Zabbix 4.4.7
=> using "Template Module Windows network by Zabbix agent"
When looking at Windows Server 2016: Control Panel => Network and Internet => Network Connections, we have the following situation (sorted by Device Name):
| Name (in Zabbix: #IFALIAS) |
Device Name (in Zabbix: almost #IFNAME) |
Status |
| Repl 10.x.x.33 | Fujitsu DynamicLoM Emulex OCl1400-LOM | Enabled |
| NAS 10.x.x.17 | Fujitsu DynamicLoM Emulex OCl1400-LOM #2 | Enabled |
| vEthernet (MGW01) | Hyper-V Virtual Ethernet Adapter | Unidentified network |
| vEthernet (MGW02) | Hyper-V Virtual Ethernet Adapter #2 | Unidentified network |
| vEthernet (MGW03) | Hyper-V Virtual Ethernet Adapter #3 | Unidentified network |
| vEthernet (NAS) | Hyper-V Virtual Ethernet Adapter #4 | Unidentified network |
| vEthernet (Repl) | Hyper-V Virtual Ethernet Adapter #5 | Unidentified network |
| MGW02 (10.x.x.67) | Intel(R) Ethernet Server Adapter I350-T4 | Enabled |
| MGW01 (10.x.x.49) | Intel(R) Ethernet Server Adapter I350-T4 #2 | Enabled |
| MGW03 (10.x.x.83) | Intel(R) Ethernet Server Adapter I350-T4 #3 | Enabled |
| USV (10.y.z.10) | Intel(R) Ethernet Server Adapter I350-T4 #4 | Enabled |
This can be confirmed with PowerShell => Get-NetAdapter (altough the number of characters is too long, so there are a few ... in between).
What it does right:
- History of Zabbix raw items => "Network interfaces WMI get" displays the raw data containing all the expected info like Name, Alias, Status, etc.
- for each item, 3 interface-items will be created (expected would be 6 interface-items)
BUT...
The "Name" (which will be translated into Zabbix #IFNAME, I assume) in this "Network interfaces WMI get" is not unique:
Intel(R) Ethernet Server Adapter I350-T4 => 3 times
Intel(R) Ethernet Server Adapter I350-T4 #4 => 1 time
Fujitsu DynamicLoM Emulex OCl1400-LOM => 2 times
What it does not:
- discovers only three interfaces instead of six, for the rest:
Discovery Rules (4) => Network interfaces WMI get: Network interfaces discovery => Info: "Cannot create item: item with same key "net.if.in["Intel(R) Ethernet Server Adapter I350-T4",dropped]" already exists
- mixes up the correspondance of #IFAlias and status information (I assume the status info matches the #IFNAME, but not 100% certain).
What have I tried so far:
As a clueless novice, I fiddled around with the template and created additional discovery rule => item prototypes. these revealed some (to me) interesting information:
| Name | Key | Item: Status |
| Interface {#IFALIAS}: Bits received | net.if.in["{#IFNAME}"] | 3 items: "Enabled" |
| Interface {#IFALIAS}: Bits received | net.if.in["{#IFALIAS}"] | 6 items: "Not supported" / Canot obtain network interface information |
| Interface {#IFALIAS}: Bits received | net.if.in2["{#IFNAME}"] | 3 items: "Not supported" / Unsupported item key |
| Interface {#IFALIAS}: Bits received | net.if.in2["{#IFALIAS}"] | 6 items: "Not supported" / Unsupported item key |
For some reason, in my current setting it seems to be discovering more interfaces (items) when using #IFALIAS (because this is unique) compared to using #IFNAME (which is not unique from Zabbix' point of view).
Unfortunately, Zabbix is not able to resolve the information based on #IFALIAS to further successfully create the items.
Going further:
My feeling is that it might be related to the # in the interface name. But I have no clue how to futher debug...
=> Is it a Zabbix issue?
=> Do I have to resolve it in Windows Server? (How exactly?)
=> Is there a transaltion issue since Zabbix is running on Ubuntu, but WMI-requesting the interface names? (How would I find out?)
And most importantly:
=> How am I going further into debugging this?
=> Can I provide any additional information? How exactly?
Comment