{"id":320,"date":"2011-03-24T17:03:20","date_gmt":"2011-03-24T10:03:20","guid":{"rendered":"http:\/\/www.jaringankita.com\/blog\/?p=320"},"modified":"2012-11-24T01:32:47","modified_gmt":"2012-11-23T18:32:47","slug":"f5-external-monitor-for-remedy-ars-server-unix-server","status":"publish","type":"post","link":"https:\/\/www.jaringankita.com\/blog\/f5-external-monitor-for-remedy-ars-server-unix-server","title":{"rendered":"External monitor for remedy ARS server (UNIX server)"},"content":{"rendered":"<p style=\"text-align: justify;\"><a href=\"https:\/\/www.jaringankita.com\/blog\/wp-content\/uploads\/2011\/03\/f5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-321\" title=\"f5\" src=\"https:\/\/www.jaringankita.com\/blog\/wp-content\/uploads\/2011\/03\/f5.png\" alt=\"\" width=\"127\" height=\"142\" \/><\/a>Using standard tcp,or ping health-check monitoring in the F5 for ARS-remedy server is not quite reliable. It is not reliable because :<\/p>\n<p style=\"text-align: justify;\">1. ARS-remedy server is using random port for its service<\/p>\n<p style=\"text-align: justify;\">2. You can&#8217;t tell whether the service is really down or not if you use ping health check<\/p>\n<p style=\"text-align: justify;\">Below is the configuration in order you can perform a health check by knowing the ARS-remedy server service directly<!--more--><\/p>\n<p style=\"text-align: justify;\">1. Make a new executable file called ars_mon in the \/usr\/bin\/monitors. Don&#8217;t forget to make it executable by doing chmod 744<\/p>\n<p style=\"text-align: justify;\">2. Insert the below script to ars_mon.sh<\/p>\n<blockquote>\n<p style=\"text-align: justify; padding-left: 30px;\">#!\/bin\/sh<\/p>\n<p style=\"padding-left: 30px;\">IP=`echo ${1} | sed &#8216;s\/::ffff:\/\/&#8217;`<br \/>\nPORT=${2}<\/p>\n<p style=\"padding-left: 30px;\">PIDFILE=&#8221;\/var\/run\/`basename ${0}`.${IP}.${PORT}.pid&#8221;<br \/>\n# kill of the last instance of this monitor if hung and log current pid<br \/>\nif [ -f $PIDFILE ]<br \/>\nthen<br \/>\necho &#8220;EAV exceeded runtime needed to kill ${IP}:${PORT}&#8221; | logger -p local0.error<br \/>\nkill -9 `cat $PIDFILE` &gt; \/dev\/null 2&gt;&amp;1<br \/>\nfi<br \/>\necho &#8220;$$&#8221; &gt; $PIDFILE<\/p>\n<p style=\"padding-left: 30px;\"># send request &amp; check for expected response<br \/>\nssh user@${IP} -p ${PORT} ps -ef | grep &#8220;${RECV}&#8221; | grep -v grep 2&gt;&amp;1 &gt; \/dev\/null<\/p>\n<p style=\"padding-left: 30px;\"># mark node UP if expected response was received<br \/>\nif [ $? -eq 0 ]<br \/>\nthen<br \/>\necho &#8220;UP&#8221;<br \/>\nfi<\/p>\n<p style=\"padding-left: 30px;\">rm -f $PIDFILE<br \/>\nexit<\/p>\n<\/blockquote>\n<p style=\"text-align: justify;\">3. Then make a new health check monitor with below parameters<\/p>\n<blockquote>\n<p style=\"text-align: justify; padding-left: 30px;\">monitor remedy_apps_monitor {<br \/>\ndefaults from external<br \/>\ninterval 20<br \/>\ntimeout 61<br \/>\ndest *:ssh<br \/>\nRECV &#8220;arserverd&#8221;<br \/>\nrun &#8220;ars_mon&#8221;<br \/>\n}<\/p>\n<\/blockquote>\n<p style=\"text-align: justify;\">4. Lastly, don&#8217;t forget to generate ssh keygen in order not to be challenged when F5 wants to doing ssh into ARS server<\/p>\n<p style=\"text-align: justify;\">\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.jaringankita.com\/blog\/f5-external-monitor-for-remedy-ars-server-unix-server\"><strong>External monitor for remedy ARS server (UNIX server)\u00a0<\/strong><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Using standard tcp,or ping health-check monitoring in the F5 for ARS-remedy server is not quite reliable. It is not reliable because : 1. ARS-remedy server is using random port for its service 2. You can&#8217;t tell whether the service is really down or not if you use ping health check Below is the configuration in [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":226,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,29,765,880],"tags":[20,219,1075,836,166,165,19],"class_list":["post-320","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-f5","category-information-security","category-knowledge-base","category-techonology","tag-ars","tag-eav","tag-f5","tag-featured","tag-port","tag-recv","tag-remedy"],"_links":{"self":[{"href":"https:\/\/www.jaringankita.com\/blog\/wp-json\/wp\/v2\/posts\/320","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jaringankita.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jaringankita.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jaringankita.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jaringankita.com\/blog\/wp-json\/wp\/v2\/comments?post=320"}],"version-history":[{"count":11,"href":"https:\/\/www.jaringankita.com\/blog\/wp-json\/wp\/v2\/posts\/320\/revisions"}],"predecessor-version":[{"id":551,"href":"https:\/\/www.jaringankita.com\/blog\/wp-json\/wp\/v2\/posts\/320\/revisions\/551"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jaringankita.com\/blog\/wp-json\/wp\/v2\/media\/226"}],"wp:attachment":[{"href":"https:\/\/www.jaringankita.com\/blog\/wp-json\/wp\/v2\/media?parent=320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jaringankita.com\/blog\/wp-json\/wp\/v2\/categories?post=320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jaringankita.com\/blog\/wp-json\/wp\/v2\/tags?post=320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}