[Xymon] Where is the linux client name set?

John Thurston john.thurston at alaska.gov
Mon Sep 18 19:30:53 CEST 2017


On 9/18/2017 8:30 AM, Jeremy Ruffer wrote:
> I'm on RHEL 6 which is probably the same.
>
> In /etc/sysconfig/xymon-client there is a CLIENTHOSTNAME= line.

Are you, perhaps, running the terabitha package of Xymon? I have no such 
file here. As mentioned earlier, I've compiled from source.

For my machine, I have borrowed the terabithia systemd service-file. It 
fires off xymonlaunch with:

> ExecStart=/opt/xymon/server/bin/xymoncmd /opt/xymon/server/bin/xymonlaunch --no-daemon $XYMONLAUNCHOPTS

My tasks.cfg has the client to be run with:
>   ENVFILE /opt/xymon/client/etc/xymonclient.cfg
>   CMD /opt/xymon/client/bin/xymonclient.sh
>   LOGFILE $XYMONSERVERLOGS/xymonclient.log
>   INTERVAL 5m

The xymonclient.sh contains the pertinent line:
> echo "client $MACHINE.$SERVEROSTYPE $CONFIGCLASS"  >>  $MSGTMPFILE

When I change $MACHINE to $MACHINEDOTS, the client behaves as expected, 
and sends messages under its fully qualified domain name.

It looks to me like the behavior of uname on my host isn't relevant. The 
xymonclient.sh is specifically writing the short name rather than the long.

Now what isn't clear to me, is where $MACHINE is picking up the short 
name. I had expected it to hold the old-school "comma name". The only 
place I can fine $MACHINE being assigned a value is in runclient.sh. As 
far as I can tell, my chain of commands does not invoke that script but 
goes straight for xymonclient.sh.

Right now, it looks like I have two options:
A) Modify xymonclient.sh to use MACHINEDOTS
B) Use a CLIENT tag in my hosts.cfg to accept the short name

I dislike the use of CLIENT tags, but in this case prefer it to 
remembering to patch the client script if I ever rebuild my software.


-- 
    Do things because you should, not just because you can.

John Thurston    907-465-8591
John.Thurston at alaska.gov
Department of Administration
State of Alaska



More information about the Xymon mailing list