[Xymon] Strange issue when using local scripts (in linux)

David Boyer davieb at gmail.com
Tue Aug 4 04:44:08 CEST 2020


Jeremy,
            So I thought about changing the output..  I compressed the
spaces and then I put a _ in lieu of the spaces.

As you can see below, they both get mangled...

[davieb at xymonsvr ~]$ ~xymon/client/local/dateinfo
dhcp-common,4.3.6,18_Jul_2020,en_US.UTF-8
[davieb at xymonsvr ~]$ ~xymon/server/bin/xymon localhost "clientlog xymonsvr
section=local:dateinfo"
[local:dateinfo]
dhcp-common,4.3.6,Jul_18_17:44:26,en_US.UTF-8

[davieb at xymonsvr ~]$ ~xymon/client/local/dateinfo
dhcp-common,4.3.6,18Jul2020,en_US.UTF-8
[davieb at xymonsvr ~]$ ~xymon/server/bin/xymon localhost "clientlog xymonsvr
section=local:dateinfo"
[local:dateinfo]
dhcp-common,4.3.6,Jul1817:44:26,en_US.UTF-8



On Mon, Aug 3, 2020 at 10:25 PM David Boyer <davieb at gmail.com> wrote:

> Jeremy,
>            You read my mind!  But, it didn't seem to help... :(
>
> [davieb at xymonsvr ~]$ ~xymon/client/local/dateinfo
> dhcp-common,4.3.6,18 Jul 2020,en_US.UTF-8
>
> [davieb at xymonsvr ~]$ ~xymon/server/bin/xymon localhost "clientlog
> xymonsvr section=local:dateinfo"
> [local:dateinfo]
> dhcp-common,4.3.6,Jul 18 17:44:26,en_US.UTF-8
>
> [davieb at xymonsvr ~]$ cat ~xymon/client/local/dateinfo
> #!/bin/sh
>
> OS=`uname -s`
> RPM=dhcp-common
> LANG=en_US.UTF-8;export LANG
>
> if [ ${OS} = "Linux" ]; then
>    VERSION=`rpm -q ${RPM} --qf "%{VERSION}\n"`
>    INSTALLED=`rpm -q ${RPM} --qf "%{INSTALLTIME:date}\n"|awk {'print $2"
> "$3" "$4'}`
> fi
>
> echo "${RPM},${VERSION},${INSTALLED},${LANG}"
>
> Good thing I'm grey already... This is the kinda stuff that would turn me
> grey!
>
> Dave
>
>
> On Mon, Aug 3, 2020 at 9:21 PM Jeremy Laidman <jeremy at laidman.org> wrote:
>
>> Great to see that the problem has been identified.
>>
>> I would recommend forcing LANG in your script to a known value, because
>> that's the code that makes an assumption about the output of rpm.
>>
>> J
>>
>> On Tue, 4 Aug 2020 at 10:56, David Boyer <davieb at gmail.com> wrote:
>>
>>> Jeremy,
>>>        If you notice, both iterations are being run from the xymonsvr.
>>> I've added the LANG to see if the
>>> two report it differently.
>>>
>>> So, by hand it looks:
>>>
>>> [davieb at xymonsvr ~]$ ~xymon/client/local/dateinfo
>>> dhcp-common,4.3.6,18 Jul 2020,en_US.UTF-8
>>>
>>> Pulling the info out of xymon looks:
>>>
>>> [davieb at xymonsvr ~]$ ~xymon/server/bin/xymon localhost "clientlog
>>> xymonsvr section=local:dateinfo"
>>> [local:dateinfo]
>>> dhcp-common,4.3.6,Jul 18 17:44:26,*C*
>>>
>>> Humm, there does appear to be a difference!  Checking the xymon user
>>> itself, it UTF-8.
>>> [xymon at xymonsvr ~]$ echo $LANG
>>> en_US.UTF-8
>>>
>>>
>>> That appears to be the issue though, I set the LANG=C and ran the script
>>> by hand and get the same results when I pull it from xymon!
>>> [davieb at xymonsvr ~]$ LANG=C;export LANG
>>> [davieb at xymonsvr ~]$ ~xymon/client/local/dateinfo
>>> dhcp-common,4.3.6,Jul 18 17:44:26,C
>>>
>>> Looking at the xymon.sh start script, it does not appear to set it
>>> anywhere!  Guess I'll need to run that
>>> to ground in the morning.
>>>
>>> Thanks for pointing me in the right direction!
>>>
>>> Dave
>>>
>>> On Mon, Aug 3, 2020 at 8:11 PM Jeremy Laidman <jeremy at laidman.org>
>>> wrote:
>>>
>>>> David
>>>>
>>>> Update your script to, display the value of the LANG variable in
>>>> addition to the RPM details (perhaps on a separate line), and see if the
>>>> value differs between the script output (run from your shell) and the
>>>> clientlog.
>>>>
>>>> I suspect LANG is set in your shell differently from how it's set in
>>>> the xymon user's shell. RPM (or probably glibc) uses LANG to format the
>>>> date according to the environment's locale. I'm guessing your shell has
>>>> LANG set to something like en_US, whereas the xymon user's LANG is set to
>>>> something like C, or is not set at all.
>>>>
>>>> Cheers
>>>> Jeremy
>>>>
>>>> On Tue, 4 Aug 2020 at 08:32, David Boyer <davieb at gmail.com> wrote:
>>>>
>>>>> Hi,
>>>>>     I've got a strange date issue.  I've written some local scripts to
>>>>> pad information onto the combo message. Here is the background:
>>>>>
>>>>> 1. When you run the script by hand locally (take note of the date):
>>>>>
>>>>> [davieb at xymonsvr ~]$ ~xymon/client/local/dateinfo
>>>>> dhcp-common,4.3.6,18 Jul 2020
>>>>>
>>>>> 2. When I pull the information from xymon server:
>>>>>
>>>>> [davieb at xymonsvr ~]$ ~xymon/server/bin/xymon localhost "clientlog
>>>>> xymonsvr section=local:dateinfo"
>>>>> [local:dateinfo]
>>>>> dhcp-common,4.3.6,Jul 18 17:44:26
>>>>>
>>>>>
>>>>> Notice how the date field gets modified?  I can't figure out why. The
>>>>> only thing I can think of is something within the xymon code, but I don't
>>>>> know why it would?
>>>>>
>>>>> Here's the simple script:
>>>>>
>>>>> [davieb at xymonsvr ~]$ cat ~xymon/client/local/dateinfo
>>>>> #!/bin/sh
>>>>>
>>>>> OS=`uname -s`
>>>>> RPM=dhcp-common
>>>>>
>>>>> if [ ${OS} = "Linux" ]; then
>>>>>    VERSION=`rpm -q ${RPM} --qf "%{VERSION}\n"`
>>>>>    INSTALLED=`rpm -q ${RPM} --qf "%{INSTALLTIME:date}\n"|awk {'print
>>>>> $2" "$3" "$4'}`
>>>>> fi
>>>>>
>>>>> echo "${RPM},${VERSION},${INSTALLED}"
>>>>>
>>>>> Does anybody have any idea what is going on?
>>>>>
>>>>> Thanks,
>>>>> Dave
>>>>> _______________________________________________
>>>>> Xymon mailing list
>>>>> Xymon at xymon.com
>>>>> http://lists.xymon.com/mailman/listinfo/xymon
>>>>>
>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20200803/304225c7/attachment.htm>


More information about the Xymon mailing list