Of Course, here is an example of an working english windows netstat page:
2014-Jan-29 08:34:01 [ALBUQUERQUE] win32
ipPacketsReceived=65817490 ipReceivedHeaderErrors=1835 ipReceivedAddressErrors=9547541 ipDatagramsForwarded=0 ipUnknownProtocolsReceived=0 ipReceivedPacketsDiscarded=319190 ipReceivedPacketsDelivered=55957246 ipOutputRequests=28346844 ipRoutingDiscards=0 ipDiscardedOutputPackets=7532 ipOutputPacketNoRoute=0 ipReassemblyRequired=0 ipReassemblySuccessful=0 ipReassemblyFailures=0 ipDatagramsSuccessfullyFragmented=0 ipDatagramsFailingFragmentation=0 ipFragmentsCreated=0
ipv6PacketsReceived=5965227 ipv6ReceivedHeaderErrors=0 ipv6ReceivedAddressErrors=0 ipv6DatagramsForwarded=0 ipv6UnknownProtocolsReceived=0 ipv6ReceivedPacketsDiscarded=249 ipv6ReceivedPacketsDelivered=5965226 ipv6OutputRequests=74141187 ipv6RoutingDiscards=0 ipv6DiscardedOutputPackets=4 ipv6OutputPacketNoRoute=2 ipv6ReassemblyRequired=0 ipv6ReassemblySuccessful=0 ipv6ReassemblyFailures=0 ipv6DatagramsSuccessfullyFragmented=0 ipv6DatagramsFailingFragmentation=0 ipv6FragmentsCreated=0
tcpActiveOpens=81899 tcpPassiveOpens=49180 tcpFailedConnectionAttempts=1260 tcpResetConnections=2886 tcpCurrentConnections=27 tcpSegmentsReceived=55058680 tcpSegmentsSent=35587178 tcpSegmentsRetransmitted=532258
tcpv6ActiveOpens=48 tcpv6PassiveOpens=79 tcpv6FailedConnectionAttempts=0 tcpv6ResetConnections=61 tcpv6CurrentConnections=0 tcpv6SegmentsReceived=5784810 tcpv6SegmentsSent=74123719 tcpv6SegmentsRetransmitted=110
udpDatagramsReceived=890509 udpNoPorts=317287 udpReceiveErrors=358 udpDatagramsSent=107044
udpv6DatagramsReceived=181456 udpv6NoPorts=243 udpv6ReceiveErrors=7 udpv6DatagramsSent=18799
And here is an example of a failing german windows netstat page:
2014-Jan-29 08:35:25 [GANGNAM]
win32
EmpfangenePakete=51670686
EmpfangeneVorspannfehler=181
EmpfangeneAdressfehler=9724227
WeitergeleiteteDatagramme=0
EmpfangeneunbekannteProtokolle=0
EmpfangeneverworfenePakete=323091
EmpfangenebermitteltePakete=41627068
Ausgabeanforderungen=7232984
VerworfeneRoutingpakete=0
VerworfeneAusgabepakete=27
AusgabepaketeohneRouting=0
Reassemblierungerforderlich=0
Reassemblierungerfolgreich=0
Reassemblierungerfolglos=0
ErfolgreicheDatagrammfragmentierung=0
ErfolgloseDatagrammfragmentierung=0
ErzeugteFragmente=0
EmpfangenePakete=186529
EmpfangeneVorspannfehler=0
EmpfangeneAdressfehler=0
WeitergeleiteteDatagramme=0
EmpfangeneunbekannteProtokolle=0
EmpfangeneverworfenePakete=125
EmpfangenebermitteltePakete=187004
Ausgabeanforderungen=23684
VerworfeneRoutingpakete=0
VerworfeneAusgabepakete=2
AusgabepaketeohneRouting=2
Reassemblierungerforderlich=0
Reassemblierungerfolgreich=0
Reassemblierungerfolglos=0
ErfolgreicheDatagrammfragmentierung=0
ErfolgloseDatagrammfragmentierung=0
ErzeugteFragmente=0
Aktivge"ffnet=3713
Passivge"ffnet=47
ErfolgloseVerbindungsversuche=17
ZurckgesetzteVerbindungen=635
AktuelleVerbindungen=5
EmpfangeneSegmente=40802713
GesendeteSegmente=7320026
ErneutbertrageneSegmente=16999
Aktivge"ffnet=230
Passivge"ffnet=348
ErfolgloseVerbindungsversuche=0
ZurckgesetzteVerbindungen=2
AktuelleVerbindungen=0
EmpfangeneSegmente=8823
GesendeteSegmente=8467
ErneutbertrageneSegmente=0
EmpfangeneDatagramme=819860
KeineAnschlsse=323089
Empfangsfehler=3
GesendeteDatagramme=4924
EmpfangeneDatagramme=184690
KeineAnschlsse=125
Empfangsfehler=2
GesendeteDatagramme=19489
b.r. T.K.
Von: Jeremy Laidman [mailto:jlaidman at rebel-it.com.au] Gesendet: Mittwoch, 29. Januar 2014 07:31 An: Körfer, Thomas Cc: xymon at xymon.com<mailto:xymon at xymon.com> Betreff: Re: [Xymon] netstat column and netstat.rrd with german windows
On 29 January 2014 02:55, Körfer, Thomas <t.koerfer at gevasys.de<mailto:t.koerfer at gevasys.de>> wrote: I think the test expects the english words for the counters. Is it possible to add multi language support?
Can you show examples of the [netstat] section from both English and German windows?
The code specifically looks for strings like "udpReceiveErrors" and "tcpActiveOpens". If the client data doesn't show these, then it's not going to work. The strings are hard-coded in xymond/rrd/do_netstat.c in a struct variable called "netstat_win32_markers".
I would think that it's a big job to make Xymon multi-lingual with regards to input from clients. There are several places where Xymon expects certain strings in client data (not just for netstat), and for each one, there would need to be a block of strings for an array (literally) of languages. To support this, the data structures would need to be redefined.
I suspect that many UNIX systems present netstat output in English, and that's what Xymon expects. I think work-arounds for language-dependent strings on the client are probably best addressed on the client. To do so probably means that the client must change the way it collects the data, so that instead of simply using the strings provided by the "netstat -s" output, it might need to get the data by the row number.
Another option might be to tweak the client's Windows installation, so that the German language file cannot be found (perhaps temporarily) for the netstat command, so that it falls back to EN-US. To do so, I think you can just rename (or change permissions on) %SYSTEMROOT%\System32\de-de\netstat.exe.mui.
It might be that if %SYSTEMROOT% is changed to something else, during the execution of the netstat command (eg in a batch file), then netstat will run correctly, but not find the .mui language file, and similarly fall-back to EN-US.
Cheers Jeremy
participants (1)
-
t.koerfer@gevasys.de