{"id":2995,"date":"2011-07-08T15:30:00","date_gmt":"2011-07-08T13:30:00","guid":{"rendered":"https:\/\/ingmarverheij.com\/2011\/07\/monitor-hp-proliant-server-health-on-citrix-xenserver-with-nagios\/"},"modified":"2011-07-22T07:40:06","modified_gmt":"2011-07-22T05:40:06","slug":"monitor-hp-proliant-server-health-on-citrix-xenserver-with-nagios","status":"publish","type":"post","link":"https:\/\/ingmarverheij.com\/en\/monitor-hp-proliant-server-health-on-citrix-xenserver-with-nagios\/","title":{"rendered":"Monitor &ldquo;HP Proliant Server health on &ldquo;Citrix XenServer&rdquo; with Nagios"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border-width: 0px;\" title=\"Nagios Powered\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/Nagios-Powered.png\" alt=\"Nagios Powered\" width=\"92\" height=\"92\" align=\"left\" border=\"0\" \/><\/p>\n<p>Nagios is a powerful monitoring system that enables organizations to identify and resolve IT infrastructure problems before they affect critical business processes.<\/p>\n<p>After experiencing problems with a HP Proliant DL380G6 that <a href=\"https:\/\/ingmarverheij.com\/en\/2011\/07\/hp-proliant-dl380g6-unexpected-reboot\/\" target=\"_blank\">unexpectedly restarts<\/a>, caused by a Automated Server Recovery (ASR), monitoring the status of the Citrix XenServers running on HP Proliant Servers is required in <a href=\"https:\/\/www.nagios.org\/\" target=\"_blank\">Nagios<\/a>.<\/p>\n<p>Nagios is a flexible solution that can be expanded with plugins. Plugins can be found at <a href=\"https:\/\/exchange.nagios.org\/\" target=\"_blank\">Nagios Exchange<\/a>, this is where I found the check <a href=\"https:\/\/exchange.nagios.org\/directory\/Plugins\/Hardware\/Server-Hardware\/HP-%28Compaq%29\/check_hpasm\/details\" target=\"_blank\">check_hpasm<\/a> plugin (direct <a href=\"https:\/\/labs.consol.de\/lang\/en\/nagios\/check_hpasm\/\" target=\"_blank\">link<\/a>). Unfortunately this plugin does not check the ASR status.<\/p>\n<p>In this article I will describe how I\u2019ve configured <a href=\"https:\/\/www.gwos.com\/\" target=\"_blank\">Groundwork<\/a> (using Nagios) to monitor the health of HP Proliant Servers and expanded the check_hpasm plugin to check for ASR health.<\/p>\n<p><!--more--><\/p>\n<h4><\/h4>\n<h4>check_hpasm operation modes<\/h4>\n<p>The check_hpasm plugin can operate in two modes: local and remote.<\/p>\n<p><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/check_hpasm-modes.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 0px 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border-width: 0px;\" title=\"check_hpasm modes\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/check_hpasm-modes_thumb.png\" alt=\"check_hpasm modes\" width=\"257\" height=\"183\" align=\"right\" border=\"0\" \/><\/a>In local mode the check_hpasm plugin is installed on the Citrix XenServer accompanied with a Nagios plugin. The Nagios plugin (nrpe) queries the check_hpasm plugin. This requires at least two additional agents to be installed on the Citrix XenServer which is not recommended.<\/p>\n<p>The remote mode uses SNMP to query the HP System Health Monitor. This prevents installing plugins on the Citrix XenServer but requires SNMP to be configured and accessible from the Nagios server.<\/p>\n<p>For this setup I\u2019ve configured the remote mode using SNMP (and preventing installing plugins on the Citrix XenServers).<\/p>\n<p>&nbsp;<\/p>\n<h4>Prerequisite \u2013 HP System Health Monitor (hpasmd)<\/h4>\n<p>On the Citrix XenServer the \u201cHP Proliant Support Pack\u201d and \u201cHP Health Application and Insight Management Agent\u201d needs to be installed. These can be downloaded from <a href=\"https:\/\/hp.com\" target=\"_blank\">hp.com<\/a> under \u201cSupport &amp; Drivers\u201d. Or you can download the \u201cHP SNMP Agent for Citrix XenServer 5.x\u201d <a href=\"https:\/\/h20000.www2.hp.com\/bizsupport\/TechSupport\/SoftwareDescription.jsp?lang=en&amp;cc=us&amp;prodTypeId=15351&amp;prodSeriesId=4091408&amp;swItem=MTX-0f92d62fffb547e2bf5f54bcc0&amp;prodNameId=4091409&amp;swEnvOID=4039&amp;swLang=8&amp;taskId=135&amp;mode=3\" target=\"_blank\">here<\/a>.<\/p>\n<p>Before continuing to installing the check_hpasm plugin you need to make sure the hpasm agent (daemon) is accessible via SNMP from the Nagios server.<\/p>\n<pre lang=\"bash\"># snmpwalk -c public \u2013v1 &lt;IP-address of your XenServer&gt; 1.3.6.1.4.1.232\r\n\r\nSNMPv2-SMI::enterprises.232.1.1.1.0 = INTEGER: 1\r\nSNMPv2-SMI::enterprises.232.1.1.2.0 = INTEGER: 23\r\nSNMPv2-SMI::enterprises.232.1.1.3.0 = INTEGER: 2\r\nSNMPv2-SMI::enterprises.232.1.2.1.4.1.0 = INTEGER: 30\r\nSNMPv2-SMI::enterprises.232.1.2.1.4.2.1.1.1 = INTEGER: 1\r\nSNMPv2-SMI::enterprises.232.1.2.1.4.2.1.2.1 = STRING: \"Compaq Standard Equipment Agent for Linux\"<\/pre>\n<h4><\/h4>\n<h4>Installing check_hpasm plugin<\/h4>\n<p>Since where using the remote operation mode of the check_hpasm plugin the plugin needs to be installed on the Nagios (or Groundwork) server.<\/p>\n<p>The check_hpasm plugin can be downloaded from <a href=\"https:\/\/labs.consol.de\/lang\/en\/nagios\/check_hpasm\/\" target=\"_blank\">Console Labs<\/a>. Either download the files from the Nagios server or upload them, for instance using <a href=\"https:\/\/winscp.net\/\" target=\"_blank\">WinSCP<\/a>.<\/p>\n<p>Connect via a <a href=\"https:\/\/en.wikipedia.org\/wiki\/SSH\" target=\"_blank\">Secure Shell<\/a> (SSH) to the Nagios server, for instance with <a href=\"https:\/\/www.chiark.greenend.org.uk\/~sgtatham\/putty\/download.html\" target=\"_blank\">PuTTY<\/a>, and change the directory to the location where you placed the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Tar_(file_format)\" target=\"_blank\">tarball<\/a>\u00a0 (.tar.gz).<\/p>\n<p>Unpack the tarball<\/p>\n<pre lang=\"bash\"># tar xzvf check_hpasm-4.1.2.tar.gz<\/pre>\n<p>Configure the plugin with the following options<\/p>\n<table width=\"589\" border=\"0\" cellspacing=\"0\" cellpadding=\"1\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"130\"><strong>Option<\/strong><\/td>\n<td valign=\"top\" width=\"457\"><strong>Explanation<\/strong><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"130\">&#8211;disable-hwinfo<\/td>\n<td valign=\"top\" width=\"457\">If you don\u2019t want to see type, serial number and biosrelease in the output, you can switch this off by using this option.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"130\">&#8211;enable-hpacucli<\/td>\n<td valign=\"top\" width=\"457\">Activate checking of RAID controllers.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"130\">&#8211;enable-perfdata<\/td>\n<td valign=\"top\" width=\"457\">Add performance data to it\u2019s output by default.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"130\">&#8211;with-degrees<\/td>\n<td valign=\"top\" width=\"457\">Temperatures values displayed in celcius instead of fahrenheit.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"130\">&#8211;with-nagios-user<\/td>\n<td valign=\"top\" width=\"457\">Defines the Nagios user<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"130\">&#8211;with-nagios-group<\/td>\n<td valign=\"top\" width=\"457\">Defines the Nagios group<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"130\">&#8211;with-noinst-level<\/td>\n<td valign=\"top\" width=\"457\">Defines the exit code if no hpasm rpm was installed.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<pre lang=\"bash\">.\/configure --prefix=\/opt\/plugins\/custom\/hp-insight --with-nagios-user=monitor --with-nagios-group=users \u2013enable-hpacucli --enable-perfdata \u2013with-degrees<\/pre>\n<p>Compile<\/p>\n<pre lang=\"bash\"># make\r\n...\r\n# make install\r\n...<\/pre>\n<p>And finally test the plugin<\/p>\n<pre lang=\"bash\"># \/opt\/plugins\/custom\/hp-insight\/libexec\/check_hpasm -H 10.0.0.1 -C public\r\n\r\nOK - System: 'proliant dl360 g3', S\/N: '7J31LMW6N01D', ROM: 'P31 01\/28\/2004', hardware working fine, da: 1 logical drives, 1 physical drives | fan_1=50% fan_2=50% temp_1_cpu=16;50;50 temp_2_cpu=15;65;65 temp_3_ioBoard=21;56;56 temp_4_cpu=20;65;65<\/pre>\n<p>You now have configured the check_hpasm plugin and the hardware monitoring running.<\/p>\n<p>&nbsp;<\/p>\n<h4>Altering check_hpasm to incorporate ASR<\/h4>\n<p>The check_hpasm plugin checks the health of Processors, Power supplies, Memory modules, Fans, CPU- and board-temperatures and Raids. Unfortunately the status of ASR isn\u2019t part of the health check.<\/p>\n<h5><\/h5>\n<h5>Determine ASR status<\/h5>\n<p>I\u2019ve downloaded the cpqhlth.mib MIB (part of the <a href=\"https:\/\/h18000.www1.hp.com\/products\/servers\/management\/hpsim\/mibkit.html\" target=\"_blank\">HP Insight Management MIB Kit<\/a>) and ran a query via SNMP on one of the Citrix XenServers via <a href=\"https:\/\/ireasoning.com\/mibbrowser.shtml\" target=\"_blank\">iReasoning MIB Browser<\/a> (Free and really useful). If found that there is an <a href=\"https:\/\/en.wikipedia.org\/wiki\/Object_identifier\" target=\"_blank\">OID<\/a> that specifies the overall condition of the ASR feature (1.3.6.1.4.1.232.6.2.5.17.0 or .iso.dod.internet.private.enterprise.compaq.cpqHealth.cpqHeComponent.cpqHeAsr.cpqHeAsrCondition.0).<\/p>\n<p><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/SNMP-Query-cpqHeAsrCondition.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"SNMP Query cpqHeAsrCondition - VH04\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/SNMP-Query-cpqHeAsrCondition_thumb.png\" alt=\"SNMP Query cpqHeAsrCondition - VH04\" width=\"579\" height=\"288\" border=\"0\" \/><\/a><\/p>\n<p>I\u2019ve checked the status of the VH04 (one of the servers that <a href=\"https:\/\/ingmarverheij.com\/en\/2011\/07\/hp-proliant-dl380g6-unexpected-reboot\/\" target=\"_blank\">unexpectedly restarts<\/a>) and saw that the status reported was degraded (3). A check on the VH01, which didn\u2019t suffer problems with ASR showed me a different result : ok (2), as expected.<\/p>\n<p><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/SNMP-Query-cpqHeAsrCondition-VH01.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"SNMP Query cpqHeAsrCondition - VH01\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/SNMP-Query-cpqHeAsrCondition-VH01_thumb.png\" alt=\"SNMP Query cpqHeAsrCondition - VH01\" width=\"579\" height=\"173\" border=\"0\" \/><\/a><\/p>\n<h5><\/h5>\n<h5>Editing script<\/h5>\n<p>I\u2019ve downloaded the check_hpasm script via WinSCP (which can be found in \/opt\/plugins\/custom\/hp-insight\/libexec) and it in <a href=\"https:\/\/www.perl-express.com\/\" target=\"_blank\">Perl Express<\/a> (A Free Perl IDE\/Editor for Windows).<\/p>\n<p>I noticed there was a procedure called \u2018overall_check\u2019 where I could incorporate a simple check for the ASR status. I\u2019ve altered the script on a few places to incorporate the check via the OID I found in the MIB (still following me?).<\/p>\n<h6><span style=\"font-weight: bold;\">sub <\/span>overall_init<\/h6>\n<pre lang=\"perl\">sub overall_init {\r\n...\r\n  my $cpqHeAsrCondition = '1.3.6.1.4.1.232.6.2.5.17.0';\r\n  my $cpqHeAsrConditionValue = {\r\n    1 =&gt; 'other',\r\n    2 =&gt; 'ok',\r\n    3 =&gt; 'degraded',\r\n    4 =&gt; 'failed',\r\n  };\r\n...\r\n  $self-&gt;{asrstatus} = lc SNMP::Utils::get_object_value(\r\n      $snmpwalk, $cpqHeAsrCondition,\r\n      $cpqHeThermalSystemFanStatusValue);\r\n...<\/pre>\n<h6><\/h6>\n<h6><span style=\"font-weight: bold;\">sub <\/span>overall_check<\/h6>\n<pre lang=\"perl\">sub overall_check {\r\n...\r\n  if ($self-&gt;{asrstatus}) {\r\n    if ($self-&gt;{asrstatus} eq 'degraded') {\r\n      $result = 1;\r\n      $self-&gt;add_message(WARNING,\r\n          sprintf 'ASR overall status is %s', $self-&gt;{asrstatus});\r\n    } elsif ($self-&gt;{asrstatus} eq 'failed') {\r\n      $result = 2;\r\n      $self-&gt;add_message(CRITICAL,\r\n          sprintf 'ASR overall status is %s', $self-&gt;{asrstatus});\r\n    }\r\n  } else {\r\n    $self-&gt;add_info('This system does not have ASR.');\r\n  }\r\n...<\/pre>\n<h6><\/h6>\n<h6><span style=\"font-weight: bold;\">sub <\/span>collect<\/h6>\n<pre lang=\"perl\">sub collect {\r\n...\r\n      my $cpqHeAsr     = \"1.3.6.1.4.1.232.6.2.5\";\r\n...\r\n      # Walk for ASR\r\n      $tic = time;\r\n      my $response2a = $session-&gt;get_table(\r\n          -maxrepetitions =&gt; 1,\r\n          -baseoid =&gt; $cpqHeAsr);\r\n      if (scalar (keys %{$response2a}) == 0) {\r\n        $self-&gt;trace(2, sprintf \"maxrepetitions failed. fallback\");\r\n        $response2a = $session-&gt;get_table(\r\n            -baseoid =&gt; $cpqHeAsr);\r\n      }\r\n      $tac = time;\r\n      $self-&gt;trace(2, sprintf \"%03d seconds for walk $cpqHeAsr (%d oids)\",\r\n          $tac - $tic, scalar(keys %{$response2a}))\r\n...\r\n      map { $response-&gt;{$_} = $response2a-&gt;{$_} } keys %{$response2a};\r\n...<\/pre>\n<p>The end result would look like this:<\/p>\n<p><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/check_hpasm-collect-1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border-width: 0px;\" title=\"check_hpasm - collect 1\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/check_hpasm-collect-1_thumb.png\" alt=\"check_hpasm - collect 1\" width=\"104\" height=\"59\" align=\"left\" border=\"0\" \/><\/a><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/check_hpasm-collect-2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border-width: 0px;\" title=\"check_hpasm - collect 2\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/check_hpasm-collect-2_thumb.png\" alt=\"check_hpasm - collect 2\" width=\"104\" height=\"76\" align=\"left\" border=\"0\" \/><\/a><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/check_hpasm-collect-3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border-width: 0px;\" title=\"check_hpasm - collect 3\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/check_hpasm-collect-3_thumb.png\" alt=\"check_hpasm - collect 3\" width=\"104\" height=\"60\" align=\"left\" border=\"0\" \/><\/a><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/check_hpasm-overall_check.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border-width: 0px;\" title=\"check_hpasm - overall_check\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/check_hpasm-overall_check_thumb.png\" alt=\"check_hpasm - overall_check\" width=\"104\" height=\"81\" align=\"left\" border=\"0\" \/><\/a><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/check_hpasm-overall_init.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border-width: 0px;\" title=\"check_hpasm - overall_init\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/check_hpasm-overall_init_thumb.png\" alt=\"check_hpasm - overall_init\" width=\"104\" height=\"100\" align=\"left\" border=\"0\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>The script is uploaded again and tested from the Nagios server to determine the health of the VH04 server.<\/p>\n<p><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/check_hpasm-from-Nagios-on-VH04.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"check_hpasm from Nagios on VH04\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/check_hpasm-from-Nagios-on-VH04_thumb.png\" alt=\"check_hpasm from Nagios on VH04\" width=\"579\" height=\"326\" border=\"0\" \/><\/a><\/p>\n<p>The result is as expected, the check_hpasm gives a warning about a degraded ASR on the VH04.<\/p>\n<p>&nbsp;<\/p>\n<h4>Groundwork \/ Nagios<\/h4>\n<p>Now the plugin has to be incorporated in the Nagios (or in my case Groundwork which uses Nagios) configuration. This can be done by editing the configuration files or via the GUI.<\/p>\n<h5><\/h5>\n<h5>Edit configuration files<\/h5>\n<p>The <strong>command<\/strong> \u2018check_hpasm\u2019 is stored in the checkcommands.cfg file. This file is located in the \u2018?\/nagios\/etc\/ directory for <strong>Nagios <\/strong>and in the &#8216;\/usr\/local\/groundwork\/core\/monarch\/workspace\/\u2019 directory for <strong>Groundwork<\/strong>.<\/p>\n<h6>checkcommands.cfg<\/h6>\n<pre lang=\"perl\"># command 'check_hpasm'\r\ndefine command{\r\n    command_name                   check_hpasm\r\n    command_line                   \/opt\/plugins\/custom\/hp-insight\/libexec\/check_hpasm -H $HOSTADDRESS$ -C $ARG1$\r\n    }<\/pre>\n<h5><\/h5>\n<h5>GUI<\/h5>\n<p>Since I\u2019m using Groundwork I prefer to add the command and the service via the GUI.<\/p>\n<p><span style=\"text-decoration: underline;\">Command \u2018check_hpasm\u2019<\/span><\/p>\n<ol>\n<li>Open the \u2018Configuration\u2019 tab<\/li>\n<li>Click on the \u2018Commands\u2019 tab<\/li>\n<li>On the left pane click \u2018Commands &gt; New\u2019<\/li>\n<li>Enter the details of the command\n<ul>\n<li>Name of the command \u2018check_hpasm\u2019<\/li>\n<li>Type : check<\/li>\n<li>Command line : \/opt\/plugins\/custom\/hp-insight\/libexec\/check_hpasm \u2013H $HOSTADDRESS$ \u2013C $ARG1$<\/li>\n<\/ul>\n<\/li>\n<li>Click Save<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"GroundWork Monitor Enterprise 6 - Commands 1\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Commands-1.png\" alt=\"GroundWork Monitor Enterprise 6 - Commands 1\" width=\"129\" height=\"84\" border=\"0\" \/><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Commands-2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"GroundWork Monitor Enterprise 6 - Commands 2\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Commands-2_thumb.png\" alt=\"GroundWork Monitor Enterprise 6 - Commands 2\" width=\"129\" height=\"39\" border=\"0\" \/><\/a><\/p>\n<p><span style=\"text-decoration: underline;\">Service \u2018HP_Insight_Manager\u2019<\/span><\/p>\n<ol>\n<li>Open the \u2018Configuration\u2019 tab<\/li>\n<li>Click on the \u2018Services\u2019 tab<\/li>\n<li>On the left pane click \u2018Services &gt; New Service\u2019<\/li>\n<li>Enter the basics of the service\n<ul>\n<li>Service name : HP_Insight_Manager<\/li>\n<li>Service template : generic-servic<\/li>\n<\/ul>\n<\/li>\n<li>Click Add<\/li>\n<li>Enter the details of the service\n<ul>\n<li>Check command : check_hpasm<\/li>\n<li>Command line : &lt;SNMP Read-Only communitry string&gt; (for instance Public)<\/li>\n<\/ul>\n<\/li>\n<li>Click Save (important!)<\/li>\n<li>Select \u2018Service Profiles\u2019 tab<\/li>\n<li>Add the service profile you want to add it to (in my case \u2018Xen service profile\u2019)<\/li>\n<li>Click Save<\/li>\n<\/ol>\n<p><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Services-1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"GroundWork Monitor Enterprise 6 - Services 1\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Services-1_thumb.png\" alt=\"GroundWork Monitor Enterprise 6 - Services 1\" width=\"129\" height=\"72\" border=\"0\" \/><\/a><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Services-2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"GroundWork Monitor Enterprise 6 - Services 2\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Services-2_thumb.png\" alt=\"GroundWork Monitor Enterprise 6 - Services 2\" width=\"129\" height=\"17\" border=\"0\" \/><\/a><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"GroundWork Monitor Enterprise 6 - Services 3\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Services-3.png\" alt=\"GroundWork Monitor Enterprise 6 - Services 3\" width=\"129\" height=\"54\" border=\"0\" \/><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Services-4.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"GroundWork Monitor Enterprise 6 - Services 4\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Services-4_thumb.png\" alt=\"GroundWork Monitor Enterprise 6 - Services 4\" width=\"129\" height=\"64\" border=\"0\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"text-decoration: underline;\">Hosts<\/span><\/p>\n<p><em>Since the change in the service profile (adding a service) isn\u2019t pushed to all hosts by default I will add them manually<\/em><\/p>\n<ol>\n<li>Open the\u00a0 \u2018Configuration\u2019 tab<\/li>\n<li>Click on the \u2018Hosts\u2019 tab<\/li>\n<li>Expand &#8216;Hosts\u2019 until you reach the node requested.<\/li>\n<li>Click on the \u2018Detail\u2019 node<\/li>\n<li>Click on the \u2018Services\u2019 tab<\/li>\n<li>Select the service \u2018HP_Insight_Manager\u2019<\/li>\n<li>Click \u2018Add Service(s )<\/li>\n<\/ol>\n<p><em>Repeat the task for all Citrix XenServers (\u2026)<\/em><\/p>\n<p><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Hosts-1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"GroundWork Monitor Enterprise 6 - Hosts 1\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Hosts-1_thumb1.png\" alt=\"GroundWork Monitor Enterprise 6 - Hosts 1\" width=\"129\" height=\"102\" border=\"0\" \/><\/a><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Hosts-21.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"GroundWork Monitor Enterprise 6 - Hosts 2\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Hosts-2_thumb.png\" alt=\"GroundWork Monitor Enterprise 6 - Hosts 2\" width=\"129\" height=\"74\" border=\"0\" \/><\/a><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Hosts-3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"GroundWork Monitor Enterprise 6 - Hosts 3\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Hosts-3_thumb.png\" alt=\"GroundWork Monitor Enterprise 6 - Hosts 3\" width=\"129\" height=\"76\" border=\"0\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h4>Apply configuration<\/h4>\n<p>The changes in the configuration needs to be applied to the Groundwork \/ Nagios engine.<\/p>\n<h5><\/h5>\n<h5>Pre flight test<\/h5>\n<p>Before the configuration is applied a Pre flight test can be executed to determine if the configuration is working correctly.<\/p>\n<ol>\n<li>Open the \u2018Configuration\u2019 tab<\/li>\n<li>Click on the \u2018Control\u2019 tab<\/li>\n<li>On the left pane click \u2018Pre flight check\u2019<\/li>\n<li>If the result in the right pane says \u2018Success\u2019 your good to go!<\/li>\n<\/ol>\n<p><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Pre-flight-check.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"GroundWork Monitor Enterprise 6 - Pre-flight check\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Pre-flight-check_thumb.png\" alt=\"GroundWork Monitor Enterprise 6 - Pre-flight check\" width=\"129\" height=\"92\" border=\"0\" \/><\/a><\/p>\n<h5><\/h5>\n<h5>Commit<\/h5>\n<p>After a successful Pre flight check the configuration can be applied to the Groundwork \/ Nagios engine.<\/p>\n<ol>\n<li>Open the \u2018Configuration\u2019 tab<\/li>\n<li>Click on the \u2018Control\u2019 tab<\/li>\n<li>On the left pane click \u2018Commit\u2019<\/li>\n<li>On the right pane click \u2018Backup\u2019 (just to be sure)<\/li>\n<li>On the right pane click \u2018Commit\u2019<\/li>\n<li>If the result in the right pane says \u2018Success\u2019 you don\u2019t have to restore the backup <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-winkingsmile\" style=\"border-style: none;\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/wlEmoticon-winkingsmile.png\" alt=\"Knipogende emoticon\" \/><\/li>\n<\/ol>\n<p><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Commit-1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"GroundWork Monitor Enterprise 6 - Commit 1\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Commit-1_thumb.png\" alt=\"GroundWork Monitor Enterprise 6 - Commit 1\" width=\"129\" height=\"39\" border=\"0\" \/><\/a><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Commit-2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"GroundWork Monitor Enterprise 6 - Commit 2\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Commit-2_thumb.png\" alt=\"GroundWork Monitor Enterprise 6 - Commit 2\" width=\"129\" height=\"39\" border=\"0\" \/><\/a><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Commit-3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"GroundWork Monitor Enterprise 6 - Commit 3\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Commit-3_thumb.png\" alt=\"GroundWork Monitor Enterprise 6 - Commit 3\" width=\"129\" height=\"42\" border=\"0\" \/><\/a><\/p>\n<h4><\/h4>\n<h4>Check!<\/h4>\n<p>Final step is to check if the configuration is applied and the servers are indeed monitored with the HP_Insight_Manager service.<\/p>\n<ol>\n<li>Open the \u2018Status\u2019 tab<\/li>\n<li>Expand the Hosts treeview until you reach a Citrix XenServer (VH01 in my case)<\/li>\n<li>Determine if there is a \u2018HP_Insight_Manager\u2019 service<\/li>\n<\/ol>\n<p><a href=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Status-1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;\" title=\"GroundWork Monitor Enterprise 6 - Status\" src=\"https:\/\/ingmarverheij.com\/wp-content\/uploads\/2011\/07\/GroundWork-Monitor-Enterprise-6-Status-1_thumb.png\" alt=\"GroundWork Monitor Enterprise 6 - Status\" width=\"579\" height=\"303\" border=\"0\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Edit 22-07-2010:<\/p>\n<p>Just received an e-mail from Gerhard Lausser (author of check_hpasm). He updated the plugin (v4.2.4) and included the ASR check (<a href=\"https:\/\/github.com\/lausser\/check_hpasm\/blob\/master\/ChangeLog\">changelog<\/a>).<\/p>\n<p>&nbsp;<\/p>\n<p>Ingmar Verheij<\/p>","protected":false},"excerpt":{"rendered":"<p>Nagios is a powerful monitoring system that enables organizations to identify and resolve IT infrastructure problems before they affect critical business processes. After experiencing problems with a HP Proliant DL380G6 that unexpectedly restarts, caused by a Automated Server Recovery (ASR), monitoring the status of the Citrix XenServers running on HP Proliant Servers is required in [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-container-style":"default","site-container-layout":"default","site-sidebar-layout":"default","disable-article-header":"default","disable-site-header":"default","disable-site-footer":"default","disable-content-area-spacing":"default","footnotes":""},"categories":[309],"tags":[359,358,357,231],"class_list":["post-2995","post","type-post","status-publish","format-standard","hentry","category-monitoring-2","tag-check_hpasm","tag-groundwork","tag-hp","tag-nagios"],"_links":{"self":[{"href":"https:\/\/ingmarverheij.com\/en\/wp-json\/wp\/v2\/posts\/2995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ingmarverheij.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ingmarverheij.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ingmarverheij.com\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/ingmarverheij.com\/en\/wp-json\/wp\/v2\/comments?post=2995"}],"version-history":[{"count":14,"href":"https:\/\/ingmarverheij.com\/en\/wp-json\/wp\/v2\/posts\/2995\/revisions"}],"predecessor-version":[{"id":2998,"href":"https:\/\/ingmarverheij.com\/en\/wp-json\/wp\/v2\/posts\/2995\/revisions\/2998"}],"wp:attachment":[{"href":"https:\/\/ingmarverheij.com\/en\/wp-json\/wp\/v2\/media?parent=2995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ingmarverheij.com\/en\/wp-json\/wp\/v2\/categories?post=2995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ingmarverheij.com\/en\/wp-json\/wp\/v2\/tags?post=2995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}