<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:465514873;
        mso-list-type:hybrid;
        mso-list-template-ids:1601706220 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>My company is looking to use Xymon in production.  It’s my job to operationalize it: test it, write about its behavior, document any issues, and create documentation for our run teams.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’ve found a behavior of the Xymon server’s service that I’m trying to understand:  It maintains the host name to OSType mapping until the service is restarted.  For example:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>Edit the server’s hosts.cfg file.  Insert a non-existent server ‘server01’ and give it a fake/real IP.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>Edit the server’s client-local.cfg file.  Create several entries within for different OS types:<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>Linux<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>b.<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>Win32<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>c.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>AIX<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>d.<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>Etc…<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>Make sure that each section for the OSType contains a unique string or command.  You will use this to identify which OSType the Xymon server service identified ‘server01’ as.  <o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>4.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>Wait for ‘server01’ to show up on the web site.  It won’t have any status data to report yet.  This is OK.  NOTE:  Do not restart the Xymon service.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>5.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>Find a computer (real/VM) to pretend to be ‘server01’.  It doesn’t matter which OS the client has, just as long as you are comfortable running custom scripts upon it.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>6.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>From ‘server01’, issue this command, replacing OSType and HostClass with your favorite values:<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>“client server01.<OSType> <HostClass>”<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>7.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>If you’re lucky, the Xymon server will respond back with the appropriate unique string for your OSType from the client-local.cfg file.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>8.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>Now, change OSType and rerun the command from the same client machine.  For example, if you first used “win32”, now use “linux” instead. <o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>“client server01.win32 <HostClass>”<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>b.<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>“client server01.linux <HostClass>”<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>9.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>Did the Xymon server respond with the unique string from the new/second OSType?  I betcha it didn’t.  It’s still responding with the unique string from the first OSType you used, right?<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>10.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Edit the server’s hosts.cfg file.  Insert a non-existent server ‘server02’ and give it a fake/real IP.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>11.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Wait for ‘server02’ to appear in the web page.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>12.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Log on to the server as the user ‘xymon’ and issue a rename command:<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>./server/bin/xymon 127.0.0.1 “rename server01 server02”<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>13.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Wait for the web page to update, showing status information for ‘server02’, but not ‘server01’.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>14.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Now, issue the following commands from the client, but use the new/second OSType for both:<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>“client server01.<OSType> <HostClass>”<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>b.<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>“client server02.<OSType> <HostClass>”<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>15.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Did the Xymon server respond to ‘server01’ with the original/first OSType you used?  When I performed these steps, I got back the unique string for the original/first OSType, but I was expecting to get back the new/second OSType.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>16.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Did the Xymon server respond to ‘server02’ with the new/second OSType you used? When I performed these steps, I got back the unique string for the new/second OSType.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>17.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Edit the server’s hosts.cfg file.  Remove ‘server01’ and ‘server02’.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>18.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Log on to the server as the user ‘xymon’ and issue a rename commands:<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>./server/bin/xymon 127.0.0.1 “remove server01”<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>b.<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>./server/bin/xymon 127.0.0.1 “remove server02”<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>19.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Wait for the web site to stop showing server01 and server02.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>20.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Edit the server’s hosts.cfg file.  <o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>Insert a non-existent server ‘server01’ and give it a fake/real IP.<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>b.<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>Insert a non-existent server ‘server02’ and give it a fake/real IP.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>21.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Wait for ‘server01’ and ‘server02’ to appear in the web page.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>22.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Now, issue the following commands from the client, but use the new/second OSType for both:<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'>       </span></span><![endif]>“client server01.<OSType> <HostClass>”<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>b.<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>“client server02.<OSType> <HostClass>”<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>23.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Did the Xymon server respond to ‘server01’ with the original/first OSType you used?  When I performed these steps, I got back the unique string for the original/first OSType, but I was expecting to get back the new/second OSType.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>24.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Did the Xymon server respond to ‘server02’ with the new/second OSType you used? When I performed these steps, I got back the unique string for the new/second OSType.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>25.<span style='font:7.0pt "Times New Roman"'>   </span></span><![endif]>Log on to the Xymon server and restart the Xymon service.<o:p></o:p></p><p class=MsoNormal style='margin-left:.25in'><o:p> </o:p></p><p class=MsoNormal>Go back through the steps above, you’ll see that after a fresh restart, the Xymon service will parse the “client” string, discover the OSType, and maintain an OSType <--> Hostname association until the service is restarted.  Is this the expected behavior?  I can see how this behavior would get in the way of architecting and rapid testing of a client-local.cfg file with multiple OSType, HostClass, and Hostname entries.<o:p></o:p></p><p class=MsoNormal style='margin-left:.75in'><o:p> </o:p></p><p class=MsoNormal style='margin-left:.75in'><o:p> </o:p></p></div></body></html>