sensu-plugins / sensu-plugins-windows

Sensu Windows Plugins
http://sensu-plugins.io
MIT License
22 stars 46 forks source link

metric-windows-network.rb empty output #93

Closed thomas-breining closed 4 years ago

thomas-breining commented 5 years ago

The network metric script outputs no metric despite the typeperf command providing information.

This seems to be caused by the leading \n in the typeperf output which prevents the CSV.parse function from extracting the headers from the first line.

C:\WINDOWS\system32>typeperf -sc 1 "\Network Interface(*)\*"

"(PDH-CSV 4.0)","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Bytes Total/sec","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Packets/sec","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Packets Received/sec","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Packets Sent/sec","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Current Bandwidth","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Bytes Received/sec","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Packets Received Unicast/sec","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Packets Received Non-Unicast/sec","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Packets Received Discarded","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Packets Received Errors","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Packets Received Unknown","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Bytes Sent/sec","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Packets Sent Unicast/sec","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Packets Sent Non-Unicast/sec","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Packets Outbound Discarded","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Packets Outbound Errors","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Output Queue Length","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\Offloaded Connections","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\TCP Active RSC Connections","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\TCP RSC Coalesced Packets/sec","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\TCP RSC Exceptions/sec","\\GCZC70585WBE\Network Interface(Intel[R] Ethernet Connection [2] I218-LM)\TCP RSC Average Packet Size","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Bytes Total/sec","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Packets/sec","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Packets Received/sec","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Packets Sent/sec","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Current Bandwidth","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Bytes Received/sec","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Packets Received Unicast/sec","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Packets Received Non-Unicast/sec","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Packets Received Discarded","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Packets Received Errors","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Packets Received Unknown","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Bytes Sent/sec","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Packets Sent Unicast/sec","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Packets Sent Non-Unicast/sec","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Packets Outbound Discarded","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Packets Outbound Errors","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Output Queue Length","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\Offloaded Connections","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\TCP Active RSC Connections","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\TCP RSC Coalesced Packets/sec","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\TCP RSC Exceptions/sec","\\GCZC70585WBE\Network Interface(Linksys USB3GIGV1)\TCP RSC Average Packet Size"
"09/12/2019 12:40:58.010","11708.339595","46.227483","32.457595","13.769889","1000000000.000000","5270.916658","11.802762","20.654833","58276.000000","54462.000000","0.000000","6437.422938","13.769889","0.000000","0.000000","0.000000","0.000000","0.000000","7.000000","0.000000","0.000000","5197.000000","2689.062538","21.638396","11.802762","9.835635","100000000.000000","1492.065790","10.819198","0.983563","57.000000","0.000000","0.000000","1196.996748","9.835635","0.000000","0.000000","0.000000","0.000000","0.000000","9.000000","0.000000","0.000000","5197.000000"

The command completed successfully.

C:\WINDOWS\system32>metric-windows-network.rb.bat

C:\WINDOWS\system32>
thomas-breining commented 5 years ago

There is an easy fix consisting of stripping the typeperf command output before parsing its CSV content (see https://github.com/thomas-breining/sensu-plugins-windows/commit/0349d8e83855322129bb87fcdecb44ce91b9ab0f).

majormoses commented 4 years ago

Any chance you could open a PR with that?