Xymon Mailing List Archive search

netstat column and netstat.rrd with german windows

7 messages in this thread

list Thomas Körfer · Tue, 28 Jan 2014 15:55:26 +0000 ·
Hi,

some time ago I started to wonder why some of my windows clients generate some netstat charts (netstat.rrd) and some not.

Today I found out, that for all english windows systems the charts are fine, but for the german windows systems there is only a placeholder appearing on the netstat page.
The netstat.rrd file is also missing for german windows systems.

I think the test expects the english words for the counters.
Is it possible to add multi language support?

90% of my hosts are german and it seems this issue is not the only language based one.

b.r.
T.K.
list Jeremy Laidman · Wed, 29 Jan 2014 12:25:17 +1100 ·
quoted from Thomas Körfer
On 29 January 2014 02:55, Körfer, Thomas <user-806b2d0735cc@xymon.invalid> 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
list Thomas Körfer · Wed, 29 Jan 2014 11:31:13 +0000 ·
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

EmpfangenebermitteltePakete=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

EmpfangenebermitteltePakete=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

ZurckgesetzteVerbindungen=635

AktuelleVerbindungen=5

EmpfangeneSegmente=40802713

GesendeteSegmente=7320026

ErneutbertrageneSegmente=16999

Aktivge"ffnet=230

Passivge"ffnet=348

ErfolgloseVerbindungsversuche=0

ZurckgesetzteVerbindungen=2

AktuelleVerbindungen=0

EmpfangeneSegmente=8823

GesendeteSegmente=8467

ErneutbertrageneSegmente=0

EmpfangeneDatagramme=819860

KeineAnschlsse=323089

Empfangsfehler=3

GesendeteDatagramme=4924

EmpfangeneDatagramme=184690

KeineAnschlsse=125

Empfangsfehler=2

GesendeteDatagramme=19489


b.r.
T.K.
quoted from Jeremy Laidman


Von: Jeremy Laidman [mailto:user-71895fb2e44c@xymon.invalid]
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 <user-806b2d0735cc@xymon.invalid<mailto:user-806b2d0735cc@xymon.invalid>> 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
list Jeremy Laidman · Thu, 30 Jan 2014 09:37:58 +1100 ·
quoted from Thomas Körfer
On 29 January 2014 18:50, Körfer, Thomas <user-806b2d0735cc@xymon.invalid> wrote:
Of Course, here is an example of an working english windows netstat page:

Thanks for the screenshots.  Interesting.  What client do you use?

J
list Thomas Körfer · Thu, 30 Jan 2014 13:05:32 +0000 ·
I use bbwin as client:
http://bbwin.sourceforge.net/
quoted from Thomas Körfer

b.r.
T.K.

Von: Jeremy Laidman [mailto:user-71895fb2e44c@xymon.invalid]
Gesendet: Donnerstag, 30. Januar 2014 02:26
An: Körfer, Thomas
Cc: xymon at xymon.com
Betreff: Re: [Xymon] netstat column and netstat.rrd with german windows

On 29 January 2014 18:50, Körfer, Thomas <user-806b2d0735cc@xymon.invalid<mailto:user-806b2d0735cc@xymon.invalid>> wrote:
Of Course, here is an example of an working english windows netstat page:

Thanks for the screenshots.  Interesting.  What client do you use?

J
list Jeremy Laidman · Fri, 31 Jan 2014 10:22:45 +1100 ·
On 31 January 2014 00:05, Körfer, Thomas <user-806b2d0735cc@xymon.invalid> wrote:
I use bbwin as client:

http://bbwin.sourceforge.net/

I had a look at the BBWin source code that runs "netstat -s" and it also
has English-specific string matches related to detecting and presenting
IPv4 vs IPv6 statistics.  You might notice that the IPv4 and IPv6 metrics
are listed with the same names, so EmpfangenePakete is listed twice,
instead of once each for ipEmpfangenePakete and ipv6EmpfangenePakete,
whereas on the English version, you see ipPacketsReceived and
ipv6PacketsReceived listed separately.

For any changes to deal with non-English text to be successful, BBWin would
need to be adjusted.  As it stands, BBWin effectively filters out the lines
related to IPv4/IPv6 ("IPv4 Statistics" etc) when they're not in English,
making it very difficult for Xymon to handle these cases.

Have you tried renaming the netstat.exe.mui file and see if that helps?
 Perhaps BBWin could be adjusted to achieve this effect by modifying
%SYSTEMROOT% for the execution of netstat.

Cheers
Jeremy
list Glauber Ribeiro · Mon, 3 Feb 2014 16:44:56 +0000 ·
This may be a good time to consider moving out of BBWin. BBWin seems to be barely supported; I've had problems with it consuming too much memory. There is a new experimental Powershell based client in the Xymon repository, which seems, to me, to work better than BBWin, and since it's all plain text scripts, it should be easier to customize.

g
quoted from Jeremy Laidman


From: Xymon [mailto:xymon-bounces at xymon.com] On Behalf Of Jeremy Laidman
Sent: Thursday, January 30, 2014 17:23
To: Körfer, Thomas
Cc: xymon at xymon.com
Subject: Re: [Xymon] netstat column and netstat.rrd with german windows

On 31 January 2014 00:05, Körfer, Thomas <user-806b2d0735cc@xymon.invalid<mailto:user-806b2d0735cc@xymon.invalid>> wrote:
I use bbwin as client:
http://bbwin.sourceforge.net/

I had a look at the BBWin source code that runs "netstat -s" and it also has English-specific string matches related to detecting and presenting IPv4 vs IPv6 statistics.  You might notice that the IPv4 and IPv6 metrics are listed with the same names, so EmpfangenePakete is listed twice, instead of once each for ipEmpfangenePakete and ipv6EmpfangenePakete, whereas on the English version, you see ipPacketsReceived and ipv6PacketsReceived listed separately.

For any changes to deal with non-English text to be successful, BBWin would need to be adjusted.  As it stands, BBWin effectively filters out the lines related to IPv4/IPv6 ("IPv4 Statistics" etc) when they're not in English, making it very difficult for Xymon to handle these cases.

Have you tried renaming the netstat.exe.mui file and see if that helps?  Perhaps BBWin could be adjusted to achieve this effect by modifying %SYSTEMROOT% for the execution of netstat.

Cheers
Jeremy