Xymon Mailing List Archive search

Clientlog in UTF8

list Luboš Pavlíček
Thu, 23 Mar 2017 17:59:52 +0100
Message-Id: <user-6feb41ad7d37@xymon.invalid>

Hi,

Thank you for your answers.

2017-03-22 23:11 GMT+01:00 David Baldwin <user-cbbf693f2c89@xymon.invalid>:
On 22/3/17 9:03 pm, user-aada0fa38bf8@xymon.invalid wrote:

Hi Luboš


I think you’re talking about the ASCII encoding in function XymonSend.


I don’t know the reason for choosing ASCII encoding, that code was written
before I was involved.

I wrote that code. From memory, the xymon server could only handle the
clientlog message in ASCII at the time, and forcing the translation to
ASCII was a key part to getting it working. If the constraint of ASCII
clientlog message has changed, then by all means feel free to convert to
UTF8, however some users may still be running old servers that can only
handle ASCII, so best to leave it configurable.

You'd need to test that all client-based tests (DISK, SVC, PORT, PROC,
etc) are still working not just eventlog message matching.
I try multiple tests with client messages in UTF8. First, I will describe
our environment. We use two Xymon servers (versions 4.3.25, 4.3.27), both
are running on Linux boxes (CentOS, Debian) with LANG=en_US.UTF-8. Apache
web server has set the default encoding to UTF-8.


Client tests DISK, UP,MEMHYS,MEMSWAP and MEMACT are without problems,
because corresponding sections from clientlog are in English.
CLOCK test are working correctly, because first line "epoch: <number>" from
[clock] section isn't localized.


Tests LOG, PROC, SVC and PORT successfully filter non-ASCII strings.
Examples:

    LOG eventlog_System "%Zpracování zásad skupiny selhalo" COLOR=red
    PROC "%Nový textový dokument"
    PORT "LOCAL=%(:445)$" state=NASLOUCHÁNÍ TEXT=sdílení TRACK
    PORT "REMOTE=%([.:]445)$" state=NAVÁZÁNO min=1 max=10 color=yellow
TRACK=smb_servers TEXT=SMB_servers
    SVC  "Xymončesky" status=started


FILE and DIR: I successfully test file and directory with non-ASCII chars
in filename. File client-local.cfg on xymon server contains next lines:

file:d:\temp\čeština.txt
dir:d:\temp\český

and file analysis.cfg contains tests:

FILE "D:\temp\čeština.txt"      TYPE=file SIZE>100 MTIME<180 yellow TRACK
DIR  "D:\temp\český"  SIZE<1000 TRACK

Bad filenames are in graph: "D:<tab>emp\čeština.txt" and
"D:<tab>temp\český". But this si the slash problem.


Xymon server don't create some graph, e.g. netstat, user. This is a result of
localized messages in output from windows programs netstat, ipconfig or
qwinsta. See http://lists.xymon.com/archive/2014-January/038946.html and
following discussion.


Attached patch adds local setting XymonAcceptUTF8. If value set to 1, then
all client messages are converted to UTF8 before sending to xymon servers.
If value set to 0 or not specified, then script removes diacritics
(accents) from message, converts non-break spaces to normal spaces
(question marks in eventlog summary) and converts to ASCII before sending
to xymon server. The same setting is applied to all specified xymon servers.


Luboš Pavlíček
Attachments (1)