<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>op5 &#187; How-To</title>
	<atom:link href="http://www.op5.com/how-to/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.op5.com</link>
	<description>Open Source Network Monitoring &#124; op5 Network Monitoring</description>
	<lastBuildDate>Mon, 21 May 2012 10:14:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Biztalk monitoring mini how-to</title>
		<link>http://www.op5.com/how-to/biztalk-monitoring-mini-how-to/</link>
		<comments>http://www.op5.com/how-to/biztalk-monitoring-mini-how-to/#comments</comments>
		<pubDate>Thu, 10 May 2012 14:15:49 +0000</pubDate>
		<dc:creator>itorre</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[application monitoring]]></category>
		<category><![CDATA[biztalk]]></category>
		<category><![CDATA[op5 Monitor how 2]]></category>
		<category><![CDATA[op5 Monitor How to]]></category>

		<guid isPermaLink="false">http://www.op5.com/?p=12136</guid>
		<description><![CDATA[This mini how-to will show you how to monitor some basic parameters on a Biztalk environment. All the plugins in this how-to are shipped with the op5 Monitor installation. These plugins will let you monitor the following: ports send ports queues location orchestration cluster host instance process spool size msdtc process It is possible to ]]></description>
			<content:encoded><![CDATA[<p>This mini how-to will show you how to monitor some basic parameters on a Biztalk environment. All the plugins in this how-to are shipped with the op5 Monitor installation.</p>
<p>These plugins will let you monitor the following:</p>
<ul>
<li>ports</li>
<li>send ports</li>
<li>queues</li>
<li>location</li>
<li>orchestration</li>
<li>cluster host instance process</li>
<li>spool size</li>
<li>msdtc process</li>
</ul>
<div>
<p>It is possible to monitor a Biztalk relate process and an performance counter in Windows with check_nrpe. Example of how to work with this plugin and performance counter can be find at the end of this how-to.</p>
</div>
<h2 id="toc-"></h2>
<h2><strong>Service checks för check_biztalk plugin<br />
</strong></h2>
<p><strong></strong>Port for the MSSQL server that BizTalk uses</p>
<p><span style="background-color: #c0c0c0;">define command{</span><br />
<span style="background-color: #c0c0c0;"> command_name check_biztalk_ports</span><br />
<span style="background-color: #c0c0c0;"> command_line $USER1$/check_biztalk -U $USER11$ -P $USER12$ -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p</span><br />
<span style="background-color: #c0c0c0;"> }</span></p>
<p>&nbsp;</p>
<p>Critical-range for queues</p>
<p><span style="background-color: #c0c0c0;">define command{</span><br />
<span style="background-color: #c0c0c0;"> command_name check_biztalk_queues</span><br />
<span style="background-color: #c0c0c0;"> command_line $USER1$/check_biztalk -U $USER11$ -P $USER12$ -H $HOSTADDRESS$ -W $ARG1$ -C $ARG2$</span><br />
<span style="background-color: #c0c0c0;"> }</span></p>
<p>&nbsp;</p>
<p>Specific receive location(s) to check, comma-separated</p>
<p><span style="background-color: #c0c0c0;">define command{</span><br />
<span style="background-color: #c0c0c0;"> command_name check_biztalk_specific_locations</span><br />
<span style="background-color: #c0c0c0;"> command_line $USER1$/check_biztalk -U $USER11$ -P $USER12$ -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -l $ARG3$</span><br />
<span style="background-color: #c0c0c0;"> }</span></p>
<p>&nbsp;</p>
<p>Critical-range for orchestrations</p>
<p><span style="background-color: #c0c0c0;">define command{</span><br />
<span style="background-color: #c0c0c0;"> command_name check_biztalk_orchestration</span><br />
<span style="background-color: #c0c0c0;"> command_line $USER1$/custom/check_biztalk -U $USER11$ -P $USER12$ -H $HOSTADDRESS$ -o $ARG1$ -O $ARG2$</span><br />
<span style="background-color: #c0c0c0;"> }</span></p>
<p>&nbsp;</p>
<p>Critical-range for sendports</p>
<p><span style="background-color: #c0c0c0;">define command{</span><br />
<span style="background-color: #c0c0c0;"> command_name                   check_biztalk_sendports</span><br />
<span style="background-color: #c0c0c0;"> command_line                   $USER1$/custom/check_biztalk -U $USER11$ -P $USER12$ -H $HOSTADDRESS$ -d $ARG1$ -D $ARG2$</span><br />
<span style="background-color: #c0c0c0;"> }</span></p>
<p>&nbsp;</p>
<h2><strong>Service check för check_biztalk_cluster_host_instance plugin<br />
</strong></h2>
<p><strong></strong>Cluster instances running</p>
<p><span style="background-color: #c0c0c0;">define command{</span><br />
<span style="background-color: #c0c0c0;"> command_name check_biztalk_cluster_host_instance</span><br />
<span style="background-color: #c0c0c0;"> command_line $USER1$/custom/check_biztalk_cluster_host_instance $ARG1$</span><br />
<span style="background-color: #c0c0c0;"> }</span></p>
<p>&nbsp;</p>
<h2 id="toc-service-check-for-check_biztalk_msdtc"><strong>Service check for check_biztalk_msdtc</strong></h2>
<p>Check the active instance</p>
<p><span style="background-color: #c0c0c0;">define command{</span></p>
<p><span style="background-color: #c0c0c0;"> command_name check_biztalk_msdtc</span><br />
<span style="background-color: #c0c0c0;"> command_line $USER1$/custom/check_biztalk_msdtc $ARG1$</span><br />
<span style="background-color: #c0c0c0;"> }</span></p>
<p>&nbsp;</p>
<h2><strong>Service check for check_nrpe plugin<br />
</strong></h2>
<p>Tracks the size of the spool for all message box.</p>
<p><span style="background-color: #c0c0c0;">define command{</span><br />
<span style="background-color: #c0c0c0;"> command_name check_biztalk_spool_size</span><br />
<span style="background-color: #c0c0c0;"> command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c CheckCounter -a &#8216;Counter:Spool Size=\BizTalk:Message Box:GeneralCounters(biztalkmsgboxdb:sevmcoinsql)\Spool Size&#8217; ShowAll MaxWarn=$ARG1$ MaxCrit=$ARG2$</span><br />
<span style="background-color: #c0c0c0;"> }</span></p>
<p><em>Notes: For more performance counter relate to Biztalk, visit <a title="Biztalk Performance Counter" href="http://msdn.microsoft.com/en-us/library/aa578394.aspx" target="_blank">Microsoft Technet</a>.</em></p>
<h2><strong>Remarks<br />
</strong></h2>
<p>The mentioned plugins above have not been fully tested with all Biztalk versions, thus means that the variables passed to the plugin or the functionality can differ in your environment.</p>
<p>&nbsp;</p>
<p style="text-align: center;">REV 2, 2012-05-07</p>
]]></content:encoded>
			<wfw:commentRss>http://www.op5.com/how-to/biztalk-monitoring-mini-how-to/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Monitoring Redhat Enterprise Linux Server (RHEL)</title>
		<link>http://www.op5.com/how-to/monitoring-redhat-rehl/</link>
		<comments>http://www.op5.com/how-to/monitoring-redhat-rehl/#comments</comments>
		<pubDate>Wed, 09 May 2012 14:49:28 +0000</pubDate>
		<dc:creator>itorre</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[op5 Monitor How to]]></category>
		<category><![CDATA[op5 Monitor how2]]></category>
		<category><![CDATA[redhat 6]]></category>
		<category><![CDATA[rhel]]></category>
		<category><![CDATA[rhev]]></category>

		<guid isPermaLink="false">http://www.op5.com/?p=12629</guid>
		<description><![CDATA[The purpose of this article is to describe how op5 Monitor can be used  for monitoring of a RHEL server. We will write some examples of basic monitoring and show you how to continue and monitor more. Prerequisites Download NRPE client from our repository and install it on your server. You can follow the installation manual even if ]]></description>
			<content:encoded><![CDATA[<p>The purpose of this article is to describe how <a href="http://www.op5.com/network-monitoring/op5-monitor/">op5 Monitor</a> can be used  for monitoring of a RHEL server. We will write some examples of basic monitoring and show you how to continue and monitor more.</p>
<h2 id="toc-prerequisites" id="toc-prerequisites">Prerequisites</h2>
<p>Download NRPE client from our <a title="op5 download" href="http://www.op5.com/get-op5-monitor/download/?op5Monitor" target="_blank">repository</a> and install it on your server. You can follow the installation <a title="NRPE manual" href="http://www.op5.com/manuals/extras/op5_NRPE_2.7_manual.pdf" target="_blank">manual </a>even if it&#8217;s not written for the version of NRPE you run.</p>
<p>&nbsp;</p>
<h2 id="toc-adding-the-server-and-basic-checks" id="toc-check-commands">Adding the server and basic checks</h2>
<p>Now are you ready to add your new RHEL server to op5 Monitor.</p>
<ol>
<li>Login to your op5 Monitor and go to <em>‘Configure’ -&gt; ‘New host’</em></li>
<li>Fill in all information about your server and  in the <em>&#8216;Service Checks&#8217;</em> section, select &#8216;<em>Add UNIX Client Services(NRPE)&#8217;. </em>Then click on<em> &#8216;Adding services&#8217;.  </em>This will scan your server for some basic checks.<br />
<img src="http://www.op5.com/media/service_check.jpg" alt="" width="521" height="98" /></li>
<li>In the next window you will get a list of services. Choose &#8216;<em>Select all&#8217;</em> or individuals depending of your needs. Then click on <em>&#8216;Finish&#8217;.<br />
</em></p>
<ul>
<li>Network checks &#8220;Net&#8221;  example</li>
<ul>
<li>Ping</li>
<li>SSH Server</li>
<li>HTTP Server</li>
<li>HTTPS Server</li>
<li>MySQL</li>
</ul>
<li>NRPE agent checks example</li>
<ul>
<li>Current users</li>
<li>System load</li>
<li>Disk usage</li>
<li>Total processes</li>
<li>Swap usage</li>
</ul>
</ul>
<p><em> <img src="http://www.op5.com/media/services.jpg" alt="" width="195" height="514" /> </em></li>
<li>Save your changes.</li>
<li>Done</li>
</ol>
<p>Note: You may need to do minor changes to the services you add, depending on how your server is configure.</p>
<h2 id="toc-additional-checks">Additional checks</h2>
<p>There are many checks and plugins from op5 or Nagios Exchange community that could meet your needs. On op5.com you can find many resources like manuals, FAQ&#8217;s, webcasts and how-to&#8217;s on how to efficiently monitor a range of various hardware, services or applications in your Redhat environment.</p>
<h3 id="toc-some-resources-example">Some resources example</h3>
<p>JMX aplication server: <a title="JMX" href="http://www.op5.com/how-to/howto-monitor-application-server-op5-monitor-jmx4perl/" target="_blank">HOW TO MONITOR YOUR APPLICATION SERVER WITH OP5 MONITOR AND JMX4PERL</a></p>
<p>HP/Compaq servers: <a title="HP" href="http://www.op5.com/how-to/monitoring-hpcompaq-servers/" target="_blank">MONITORING HP/COMPAQ SERVERS</a></p>
<p>RHEV 2: <a title="kvm" href="http://www.op5.com/how-to/how-to-monitor-kvm-installation/" target="_blank">HOW-TO MONITOR A KVM INSTALLATION</a></p>
<p>IPMI sensor: <a title="IPMI" href="http://www.op5.com/how-to/how-to-monitor-server-enhanced-ipmi-sensor/" target="_blank">HOW-TO MONITOR A SERVER WITH ENHANCED IPMI SENSOR</a></p>
<p>Webinject: <a title="webinject" href="http://www.op5.com/how-to/monitoring-websites-with-webinject/" target="_blank">MONITORING WEBSITES WITH WEBINJECT</a></p>
<p>FAQ &#8211; search for: <a title="Redhat" href="http://www.op5.com/faq/?search=redhat&amp;submit=Search&amp;searchcategory=%25&amp;action=search" target="_blank">Redhat</a></p>
<p>Op5 supported plugins: <a title="PLUG-INS" href="http://www.op5.com/support/resources/list-of-plugins/" target="_blank">LIST OF PLUG-INS</a>.</p>
<h2 id="toc-inspiration">Inspiration</h2>
<p>If you are in need of some inspiration we recommend you to browse our <a title="op5 demo environment" href="http://demo.op5.com/monitor" target="_blank">live demo-environment</a>. The live demo reflects an real environment that is currently in production.</p>
<h2 id="toc-need-assistance">Need assistance?</h2>
<p>Please do not hesitate to contact our support if you have any questions or feedback in regards to the how-to&#8217;s or plug-ins.</p>
<p style="text-align: center;">REV 2, 2012-05-09</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.op5.com/how-to/monitoring-redhat-rehl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to configure op5 Trapper Extension</title>
		<link>http://www.op5.com/how-to/how-configure-op5-trapper-extension/</link>
		<comments>http://www.op5.com/how-to/how-configure-op5-trapper-extension/#comments</comments>
		<pubDate>Wed, 09 May 2012 13:45:13 +0000</pubDate>
		<dc:creator>itorre</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[op5 monitor]]></category>
		<category><![CDATA[op5 Monitor how 2]]></category>
		<category><![CDATA[op5 Trapper Extension]]></category>
		<category><![CDATA[snmp]]></category>
		<category><![CDATA[syslog]]></category>
		<category><![CDATA[Traps]]></category>

		<guid isPermaLink="false">http://www.op5.com/?p=13539</guid>
		<description><![CDATA[The purpose of this document is to describe how to configure op5 Trapper Extension. The example below is for a Cisco device but can be applying for other devices that generate traps. Prerequisities op5 Monitor Enterprise with op5 Trapper Extension &#160; Configuration Configure your Cisco devices to send traps to op5 Monitor. # snmp-server enable ]]></description>
			<content:encoded><![CDATA[<p>The purpose of this document is to describe how to configure op5 Trapper Extension. The example below is for a Cisco device but can be applying for other devices that generate traps.</p>
<h2 id="toc-prerequisities">Prerequisities</h2>
<ul style="list-style-type: square;">
<li>op5 Monitor Enterprise with op5 Trapper Extension</li>
</ul>
<p>&nbsp;</p>
<h2 id="toc-configuration">Configuration</h2>
<ol>
<li>Configure your Cisco devices to send traps to op5 Monitor.<br />
<span style="color: #000000; background-color: #c0c0c0;"># snmp-server enable traps</span><br />
<span style="color: #000000; background-color: #c0c0c0;"><span style="color: #000000; background-color: #c0c0c0;"># snmp-server host monitor-server-ip public snmp syslog</span></span></li>
<li>op5 Monitor Trapper Extension configuration:</li>
</ol>
<ul style="list-style-type: circle;">
<li>Create a host and a service for your trapper sending device. The service need to be added manually for this example to work. Set the service to &#8220;Active checks disabled&#8221;</li>
</ul>
<p style="padding-left: 60px;"><span style="background-color: #c0c0c0;">host_name: &#8220;op5-system&#8221;</span><br />
<span style="background-color: #c0c0c0;"> service_name: &#8220;Interface linkstatus&#8221;</span></p>
<ul style="list-style-type: circle;">
<li>Log on to your op5 Monitor server with ssh and create the directory where you will place your rules. The rules you will create below is to update the handler, after the handler is updated trapper won&#8217;t be using those until you&#8217;ll need to update your handler after changes or modifications.</li>
</ul>
<p style="padding-left: 60px;"><span style="background-color: #c0c0c0;"># mkdir /opt/trapper/share/addons/cisco-syslog</span></p>
<ul style="list-style-type: circle;">
<li>Use your favorite editor to add the following (&#8220;vi&#8221; in this example)</li>
</ul>
<p style="padding-left: 60px;"><span style="background-color: #c0c0c0;"># vi /opt/trapper/share/addons/cisco-syslog/cisco-syslog.lua</span></p>
<ul style="list-style-type: circle;">
<li>Copy/paste the following handler:</li>
</ul>
<p><span style="background-color: #c0c0c0;">&#8211;result.host = string.match(trap.host, &#8216;^([%w-%d]+)\.&#8217;) or trap.host</span><br />
<span style="background-color: #c0c0c0;"> result.host = trap.host</span><br />
<span style="background-color: #c0c0c0;"> log(&#8216;Trap from: &#8216; .. trap.host)</span><br />
<span style="background-color: #c0c0c0;"> log(&#8216;Resulting host: &#8216; .. result.host)</span><br />
<span style="background-color: #c0c0c0;"> for k, v in pairs(trap.fields) do</span><br />
<span style="background-color: #c0c0c0;">         if string.match(k,&#8217;^\.1\.3\.6\.1\.4\.1\.9\.9\.41\.1\.2\.3\.1\.3\.(%d+)$&#8217;) then</span><br />
<span style="background-color: #c0c0c0;">                log(&#8216;Trap severity is: &#8216; .. tostring(v))</span><br />
<span style="background-color: #c0c0c0;">                if v == 8 or v == 7 or v == 6 then</span><br />
<span style="background-color: #c0c0c0;">                result.state = STATE.OK</span><br />
<span style="background-color: #c0c0c0;">        elseif v == 5 then</span><br />
<span style="background-color: #c0c0c0;">                result.state = STATE.WARNING</span><br />
<span style="background-color: #c0c0c0;">        elseif v == 4 or v == 3 or v == 2 or v == 1 then</span><br />
<span style="background-color: #c0c0c0;">                result.state = STATE.CRITICAL</span><br />
<span style="background-color: #c0c0c0;">        end</span><br />
<span style="background-color: #c0c0c0;">                log(&#8216;Severity to state: &#8216; .. result.state)</span><br />
<span style="background-color: #c0c0c0;">        elseif string.match(k,&#8217;^\.1\.3\.6\.1\.4\.1\.9\.9\.41\.1\.2\.3\.1\.4\.(%d+)$&#8217;) then</span><br />
<span style="background-color: #c0c0c0;">                log(&#8216;Trap type is: &#8216; .. tostring(v))</span><br />
<span style="background-color: #c0c0c0;">                if v == &#8220;UPDOWN&#8221; then</span><br />
<span style="background-color: #c0c0c0;">                        result.service = &#8220;Interface linkstatus&#8221;</span><br />
<span style="background-color: #c0c0c0;">                elseif v == &#8220;DUPLEX_MISMATCH&#8221; then</span><br />
<span style="background-color: #c0c0c0;">                        result.service = &#8220;Interface duplex status&#8221;</span><br />
<span style="background-color: #c0c0c0;">                elseif v == &#8220;foobar&#8221; then</span><br />
<span style="background-color: #c0c0c0;">                        result.service = &#8220;Interface foobar&#8221;</span><br />
<span style="background-color: #c0c0c0;">                else</span><br />
<span style="background-color: #c0c0c0;">                        result.service = &#8220;All traps&#8221;</span><br />
<span style="background-color: #c0c0c0;">                end</span><br />
<span style="background-color: #c0c0c0;">                log(&#8216;Result service is: &#8216; .. result.service)</span><br />
<span style="background-color: #c0c0c0;">        elseif string.match(k,&#8217;^\.1\.3\.6\.1\.4\.1\.9\.9\.41\.1\.2\.3\.1\.5\.(%d+)$&#8217;) then</span><br />
<span style="background-color: #c0c0c0;">                local message = v</span><br />
<span style="background-color: #c0c0c0;">                log(&#8216;Trap message is: &#8216; .. message)</span><br />
<span style="background-color: #c0c0c0;">                result.message = message</span><br />
<span style="background-color: #c0c0c0;">                result.tag = (string.sub(v, string.find(v,&#8217;[%u%l+]+Ethernet[%d+/%d+/%d+]+&#8217;)))</span><br />
<span style="background-color: #c0c0c0;">                log(&#8216;Tag matching: &#8216; .. result.tag)</span><br />
<span style="background-color: #c0c0c0;">        end</span><br />
<span style="background-color: #c0c0c0;"> end</span></p>
<blockquote>
<ul style="list-style-type: square;">
<li>Save the handler.</li>
</ul>
</blockquote>
<p><em>Note:</em> This handler, when loaded will match all traps of the type (Cisco Syslog MIB) and set severity in Monitor as stated above.</p>
<ul style="list-style-type: circle;">
<li>Next, add the handlers we just created to trapper and tell how and when to use them.</li>
</ul>
<blockquote>
<ul style="list-style-type: square;">
<li>Create the handler:</li>
</ul>
</blockquote>
<p style="padding-left: 60px;"><span style="background-color: #c0c0c0;"># /opt/trapper/bin/traped create handler cisco-syslog</span></p>
<blockquote>
<ul style="list-style-type: square;">
<li>Update handler with the information we entered earlier:</li>
</ul>
</blockquote>
<p style="padding-left: 60px;"><span style="background-color: #c0c0c0;"># /opt/trapper/bin/traped update cisco-syslog &lt; /opt/trapper/share/addons/cisco-syslog/cisco-syslog.lua</span></p>
<blockquote>
<ul style="list-style-type: square;">
<li>Verify that your handler are there:</li>
</ul>
</blockquote>
<p style="padding-left: 60px;"><span style="background-color: #c0c0c0;"># /opt/trapper/bin/traped list handlers</span><br />
<span style="background-color: #c0c0c0;"> cisco-syslog</span></p>
<blockquote>
<ul style="list-style-type: square;">
<li>Next we need to tell trapper which OIDs should be associated with these handlers:</li>
</ul>
</blockquote>
<p style="padding-left: 60px;"><span style="background-color: #c0c0c0;"># /opt/trapper/bin/traped bind .1.3.6.1.4.1.9.9.41.2* cisco-syslog</span></p>
<blockquote>
<ul style="list-style-type: square;">
<li>And verify that your handler are listed as below:</li>
</ul>
</blockquote>
<p style="padding-left: 60px;"><span style="background-color: #c0c0c0;"># /opt/trapper/bin/traped list matches</span><br />
<span style="background-color: #c0c0c0;">.1.3.6.1.4.1.9.9.41.2*          cisco-syslog</span></p>
<blockquote>
<ul style="list-style-type: square;">
<li>Next restart trapper:</li>
</ul>
</blockquote>
<p style="padding-left: 60px;"><span style="background-color: #c0c0c0;"># service trapper restart</span></p>
<p>&nbsp;</p>
<h2 id="toc-example">Example</h2>
<ul style="list-style-type: circle;">
<li>Now when you have create a handler you can test it with the following test case and see in Monitor and logs the result.</li>
</ul>
<blockquote>
<ul>
<li>From the command promt in your op5 Monitor server run the following(It is a one line command).<br />
<span style="background-color: #c0c0c0;"># /usr/bin/snmptrap -c public -v 2c op5-system &#8216; &#8216; .1.3.6.1.4.1.9.9.41.2 \</span><br />
<span style="background-color: #c0c0c0;"> .1.3.6.1.4.1.9.9.41.1.2.3.1.3.4435 i 4 \</span><br />
<span style="background-color: #c0c0c0;"> .1.3.6.1.4.1.9.9.41.1.2.3.1.2.4435 s &#8220;LINEPROTO&#8221; \</span><br />
<span style="background-color: #c0c0c0;"> .1.3.6.1.4.1.9.9.41.1.2.3.1.4.4435 s &#8220;UPDOWN&#8221; \</span><br />
<span style="background-color: #c0c0c0;"> .1.3.6.1.4.1.9.9.41.1.2.3.1.5.4435 s &#8220;Line protocol on Interface GigabitEthernet1/0/13, changed state to down&#8221; \</span></li>
</ul>
</blockquote>
<blockquote>
<ul style="list-style-type: disc;">
<li>Take a look at your op5 Monitor SNMP trapps page. There will you see a row with the test trapp in a down state</li>
</ul>
</blockquote>
<blockquote><p><img src="http://www.op5.com/media/trapps.jpg" alt="" width="1635" height="92" /></p></blockquote>
<blockquote>
<ul style="list-style-type: disc;">
<li>You can even see logs from trapper-connector (receiving) and trapper-processor (handling) in /var/log/messages (as stated in the handlers &#8220;log()&#8221;), like this:</li>
</ul>
</blockquote>
<p><span style="background-color: #c0c0c0;">May  8 13:33:53 ps-beta64 trapper-collector[23031]: 2012-05-08 13:33:53 op5-system [UDP: [127.0.0.1]:45491-&gt;[127.0.0.1]:162]: .1.3.6.1.2.1.1.3.0 = Timeticks: (112068399) 12 days, 23:18:03.99   .1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.4.1.9.9.41.2     .1.3.6.1.4.1.9.9.41.1.2.3.1.3.4435 = INTEGER: 4 .1.3.6.1.4.1.9.9.41.1.2.3.1.2.4435 = STRING: &#8220;LINEPROTO&#8221;.1.3.6.1.4.1.9.9.41.1.2.3.1.4.4435 = STRING: &#8220;UPDOWN&#8221;    .1.3.6.1.4.1.9.9.41.1.2.3.1.5.4435 = STRING: &#8220;Line protocol on Interface GigabitEthernet1/0/13, changed state to down&#8221;</span><br />
<span style="background-color: #c0c0c0;"> May  8 13:33:54 ps-beta64 trapper-processor: Received SNMP trap with OID: .1.3.6.1.4.1.9.9.41.2</span><br />
<span style="background-color: #c0c0c0;"> May  8 13:33:54 ps-beta64 trapper-processor: SNMP trap matches handler: cisco-syslog</span><br />
<span style="background-color: #c0c0c0;"> May  8 13:33:54 ps-beta64 trapper-processor: Trap from: op5-system</span><br />
<span style="background-color: #c0c0c0;"> May  8 13:33:54 ps-beta64 trapper-processor: Resulting host: op5-system</span><br />
<span style="background-color: #c0c0c0;"> May  8 13:33:54 ps-beta64 trapper-processor: Trap severity is: 4</span><br />
<span style="background-color: #c0c0c0;"> May  8 13:33:54 ps-beta64 trapper-processor: Severity to state: 2</span><br />
<span style="background-color: #c0c0c0;"> May  8 13:33:54 ps-beta64 trapper-processor: Trap type is: UPDOWN</span><br />
<span style="background-color: #c0c0c0;"> May  8 13:33:54 ps-beta64 trapper-processor: Result service is: Interface linkstatus</span><br />
<span style="background-color: #c0c0c0;"> May  8 13:33:54 ps-beta64 trapper-processor: Trap message is: Line protocol on Interface GigabitEthernet1/0/13, changed state to down</span><br />
<span style="background-color: #c0c0c0;"> May  8 13:33:54 ps-beta64 trapper-processor: Tag matching: GigabitEthernet1/0/13</span><br />
<span style="background-color: #c0c0c0;"> May  8 13:33:54 ps-beta64 trapper-processor: SNMP trap handler executed.</span><br />
<span style="background-color: #c0c0c0;"> May  8 13:33:54 ps-beta64 trapper-processor: Context is {}</span></p>
<p>&nbsp;</p>
<p>Below with comments:</p>
<p><span style="background-color: #c0c0c0;">trapper-processor: SNMP trap matches handler: cisco-syslog</span></p>
<ul>
<li>Handler matched</li>
</ul>
<p><span style="background-color: #c0c0c0;">trapper-processor: Trap from: op5-system</span></p>
<ul>
<li> Trap originator (resolved FQDN)</li>
</ul>
<p><span style="background-color: #c0c0c0;">trapper-processor: Map to hostname: op5-system</span></p>
<ul>
<li> Handler removed domain info</li>
</ul>
<p><span style="background-color: #c0c0c0;">trapper-processor: Map to service: SNMP Traps and Notifications</span></p>
<ul>
<li> Destination service in Monitor</li>
</ul>
<p><span style="background-color: #c0c0c0;">trapper-processor: Trap severity is: 4</span></p>
<ul>
<li> Trap severity set by device / MIB</li>
</ul>
<p><span style="background-color: #c0c0c0;">trapper-processor: Severity to state: 2</span></p>
<ul>
<li> This we translated to op5 Monitor severity 2 (DOWN)</li>
</ul>
<p>&nbsp;</p>
<blockquote>
<ul>
<li>If we take a look in op5 Monitor log files /opt/monitor/var/nagios.log you will see the result submitted by trapper to Monitor and the service will be updated with the actual status.</li>
</ul>
</blockquote>
<p><span style="background-color: #c0c0c0;">[1331841880] EXTERNAL COMMAND: PROCESS_SERVICE_CHECK_RESULT;op5-system;SNMP Traps and Notifications;1;duplex mismatch discovered on FastEthernet0/7 (not full duplex), with op5-system.op5.com GigabitEthernet0/1 (full duplex).</span></p>
<p><em>Note:</em> If you see a message below this line saying something similar to &#8220;host could not be found/host missing/unknown host&#8221; or &#8220;service missing/unknown&#8221; the problem is most likely caused by the hostname resolved by trapper is not configured in op5 Monitor or it could be configured using a different name.</p>
<p>&nbsp;</p>
<h2 id="toc-remark">Remark</h2>
<p>When all is verified and works as expected be sure to comment out the rows starting with &#8220;log(&#8221; in the handlers to reduce the logging to messages.<br />
Simply add &#8220;&#8211;log(&#8221; to comment out those lines and update your handler:</p>
<p style="padding-left: 30px;"><span style="background-color: #c0c0c0;"># /opt/trapper/bin/traped update cisco-syslog &lt; /opt/trapper/share/addons/cisco-syslog/cisco-syslog.lua</span></p>
<p>&nbsp;</p>
<p style="text-align: center;">REV 1, 2012-05-09</p>
]]></content:encoded>
			<wfw:commentRss>http://www.op5.com/how-to/how-configure-op5-trapper-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Include PNP Graphs in a NagVis map and in a Widget in the Tactical Overview</title>
		<link>http://www.op5.com/how-to/how-to-include-pnp-graphs-widget/</link>
		<comments>http://www.op5.com/how-to/how-to-include-pnp-graphs-widget/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 09:39:49 +0000</pubDate>
		<dc:creator>dandersson</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[op5 monitor]]></category>
		<category><![CDATA[pnp]]></category>
		<category><![CDATA[TAC]]></category>
		<category><![CDATA[tactical overview]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://www.op5.com/?p=13277</guid>
		<description><![CDATA[<p>This is a how-to for including PNP graphs for a service check in a widget in the Tactical Overview. It is tested on op5 Monitor 5.5.3.1.</p>
]]></description>
			<content:encoded><![CDATA[<p>This article aim to describe how-to include PNP graphs for a service check in a NagVis map and in a widget in the Tactical Overview of op5 Monitor.</p>
<p><span style="color: #ffffff;">.</span></p>
<h2 id="toc-prerequisites">Prerequisites</h2>
<p>Choose a suitable PNP Graph, you need the URL for the PNP graph that you want to show in the widget.</p>
<ol style="position: static; z-index: auto;">
<li>Navigate to the graphs page of the service check that you want to add.</li>
<li>Right-click on the graph with the time interval that you wish to use and copy the image URL.<br />
Please note: Internet Explorer is not able to handle the special type of URL for the image.</li>
<li>Open a text editor such as Notepad, and add square brackets [ ] around the URL</li>
</ol>
<p>Remove the &#8220;&amp;start=1332313814&amp;end=1332328214&#8243; from the URL, otherwise only a fixed time interval is displayed. The URL should look like the following:</p>
<pre>[https://&lt;ip-to-monitor&gt;/monitor/op5/pnp/image?host=&lt;host&gt;&amp;srv=&lt;service-check&gt;&amp;view=0&amp;source=0]</pre>
<pre></pre>
<p><span style="color: #ffffff;">.</span></p>
<p><span style="color: #ffffff;">.</span></p>
<h2 id="toc-create-a-nagvis-map-with-a-pnp-graph">Create a NagVis Map with a PNP Graph</h2>
<ol style="position: static; z-index: auto;">
<li>Navigate to NagVis.</li>
<li>In the box &#8220;Create map&#8221; type something meaningful.</li>
<li>Click the &#8220;Create&#8221; button.</li>
</ol>
<h3 id="toc-add-the-pnp-graph">Add the PNP Graph</h3>
<ol style="position: static; z-index: auto;">
<li>Choose menu option Map &#8211;&gt; Add Icon &#8211;&gt; Service</li>
<li>Click somewhere on the map</li>
<li>host_name: choose the host</li>
<li>service_description: choose the service you want to use</li>
<li>view_type: choose &#8220;gadget&#8221;</li>
<li>gadget_url: choose &#8220;&gt;&gt;Manual input&#8230;&#8221;</li>
<ul style="position: static; z-index: auto;">
<li>Paste the URL with the brackets around it</li>
</ul>
<li>Click the &#8220;Save&#8221; button</li>
<li>Drag the PNP graph to an appropriate to the upper left corner</li>
</ol>
<h3 id="toc-remove-the-background">Remove the Background</h3>
<p>You can remove the background if you wish to be able to slim down the size of the map and the widget.</p>
<ol style="position: relative; z-index: 0;">
<li>Choose menu option Map &#8211;&gt; Map Options</li>
<li>map_image: choose &#8221;&gt;&gt;Manual input&#8230;&#8221; and delete any text</li>
<li>Click the &#8220;Save&#8221; button</li>
</ol>
<h3 id="toc-optional-include-more-than-one-pnp-graph">Optional: Include More than One PNP Graph</h3>
<p>Just follow the steps above and add another PNP graph.</p>
<p><span style="color: #ffffff;">.</span></p>
<p><span style="color: #ffffff;">.</span></p>
<h2 id="toc-optional-add-the-nagvis-map-in-a-widget-in-the-tactical-overview">Optional: Add the NagVis Map in a Widget in the Tactical Overview</h2>
<ol style="position: static; z-index: auto;">
<li>Navigate to the Tactical Overview</li>
<li>Collapse and move the NagVis widget down to the three column field.</li>
<li>Click the &#8220;Edit this widget&#8221; icon</li>
<li>Map: choose the new map you created earlier</li>
<li>Height (px): Adjust the value in and press enter</li>
</ol>
<p>Note that since Monitor 5.6, you are able to display more than one widget of the same kind.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.op5.com/how-to/how-to-include-pnp-graphs-widget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jboss Monitoring with check_jmx</title>
		<link>http://www.op5.com/how-to/jboss-monitoring/</link>
		<comments>http://www.op5.com/how-to/jboss-monitoring/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 12:12:57 +0000</pubDate>
		<dc:creator>fmikker</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[application monitoring]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Jboss]]></category>
		<category><![CDATA[JMX]]></category>

		<guid isPermaLink="false">http://www.op5.com/?p=12331</guid>
		<description><![CDATA[<p>This howto will show how to monitor a installation of Jboss with op5 Monitor and the plugin check_jmx.</p>
]]></description>
			<content:encoded><![CDATA[<p>[TOC]<br />
Java Management Extensions (JMX) is a <a href="http://en.wikipedia.org/wiki/Java_platform">Java</a> technology that supplies tools for managing and monitoring <a href="http://en.wikipedia.org/wiki/Application_software">applications</a>, system objects, devices (e. g. <a href="http://en.wikipedia.org/wiki/Computer_printer">printers</a>) and service oriented networks. Those resources are represented by objects called MBeans (for <a href="http://en.wikipedia.org/wiki/JMX#Managed_Bean">Managed Bean</a>).*</p>
<p>JMX exposes a set of ‘Managed bean’ (MBean) wich represents a resource running in the Java Virtual Machine.</p>
<p>The JMX implementation of a java application server typically exposes resource usage statistics (memory, threads used etc) and lots of other statistics/metrics. Apart from generic information the application server vendor also provide MBeans specific for the application server in question.</p>
<h2 id="toc-functionality">Functionality</h2>
<p>The check_jmx plugin enables you to monitor the values of any MBean attribute made available through JMX.</p>
<h2 id="toc-prerequisites">Prerequisites</h2>
<p>The JMX agent need to be enabled at the application server that is being monitored. The agent must be configured to allow remote connections over RMI ((Java) Remote Method Invocation). Refer to the application server documentation for details on how to set this up.</p>
<p>It is also possible to run the checks in this how-to with a username and password to increase security, this how-to will not cover that. Please refer to your application servers manual how to set that up.</p>
<h2 id="toc-installation">Installation</h2>
<p>The check_jmx plugin is included in the op5-plugins package and is located in /opt/plugins. Metadata/checkcommand is installed in /opt/plugins/metadata/check_jmx.metadata.</p>
<p>You will also need java installed in your op5 Monitor. Information regarding that can be found through the CentOS community.</p>
<h2 id="toc-usage">Usage</h2>
<p>The plugin consist of a shell script wrapper (check_jmx) and a java jar file (check_jmx.jar). When running the plugin the shell script should be invoked, the jar file should not be used directly. The plugin consist of a shell script wrapper (check_jmx) and a java jar file (check_jmx.jar). When running the plugin the shell script should be invoked, the jar file should not be used directly.</p>
<pre># ./check_jmx -U &lt;jmx-url&gt; -O &lt;Object name&gt;  -A &lt;Attribute name&gt;  -K &lt;Attribute key&gt;</pre>
<h2 id="toc-examples">Examples</h2>
<p>You can test the different checks from command-line to verify that they works before you implement them into op5 Monitor. check the ‘used’ key of attribute ‘HeapMemoryUsage’ in the object:  ‘java.lang:type=Memory’</p>
<pre># cd /opt/plugins
# ./check_jmx -U service:jmx:rmi:///jndi/rmi://'app-server':'1090'/jmxrmi -O java.lang:type=Memory -A HeapMemoryUsage -K "used"</pre>
<p>Check the ‘ThreadCount’ attribute in the object  ‘java.lang:type=Threading’</p>
<pre># ./check_jmx -U service:jmx:rmi:///jndi/rmi://'app-server':'1090'/jmxrmi -O java.lang:type=Threading -A ThreadCount -K ""</pre>
<p>Check available connections in the connection-pool in the object &#8216;jboss.jca:name=JmsXA,service=ManagedConnectionPool&#8217; with the attribute &#8216;AvailableConnectionCount&#8217;</p>
<pre># ./check_jmx -U service:jmx:rmi:///jndi/rmi://'app-server':'1090'/jmxrmi -O jboss.jca:name=JmsXA,service=ManagedConnectionPool -A AvailableConnectionCount</pre>
<h2 id="toc-check-commands">Check Commands</h2>
<p>Add the required check-commands, if they don’t already exist in your configuration (‘Configure’ -&gt; ‘Commands’ -&gt; ‘Check Command Import’):</p>
<table class=" op5StandardTable" style="width: 400px;" border="2">
<tbody>
<tr class=" op5StandardTable">
<td class="op5StandardTable" style="border-color: #000000; border-style: solid; border-width: 1px;"><strong>command_name</strong></td>
<td class="op5StandardTable" style="border-color: #000000; border-style: solid; border-width: 1px;"><strong>command_line</strong></td>
</tr>
<tr class=" op5StandardTable">
<td class="op5StandardTable" style="border-color: #000000; border-style: solid; border-width: 1px;">check_jmx_current_threadcount</td>
<td class="op5StandardTable" style="border-color: #000000; border-style: solid; border-width: 1px;"> $USER1$/check_jmx -U service:jmx:rmi:///jndi/rmi://&#8217;$HOSTADDRESS$&#8217;:'$ARG1$&#8217;/jmxrmi -O java.lang:type=Threading -A ThreadCount  -K &#8220;&#8221; -w $ARG2$ -c $ARG3$</td>
</tr>
<tr class=" op5StandardTable">
<td class="op5StandardTable" style="border-color: #000000; border-style: solid; border-width: 1px;">check_jmx_garbage_collection_timing</td>
<td class="op5StandardTable" style="border-color: #000000; border-style: solid; border-width: 1px;"> $USER1$/check_jmx -U service:jmx:rmi:///jndi/rmi://&#8217;$HOSTADDRESS$&#8217;:'$ARG1$&#8217;/jmxrmi -O &#8220;java.lang:type=GarbageCollector,name=PS MarkSweep&#8221; -A LastGcInfo -K duration -w $ARG2$  -c $ARG3$ -u ms</td>
</tr>
<tr class=" op5StandardTable">
<td class="op5StandardTable" style="border-color: #000000; border-style: solid; border-width: 1px;"> check_jmx_heapmem_used</td>
<td class="op5StandardTable" style="border-color: #000000; border-style: solid; border-width: 1px;"> $USER1$/check_jmx -U service:jmx:rmi:///jndi/rmi://&#8217;$HOSTADDRESS$&#8217;:'$ARG1$&#8217;/jmxrmi -O java.lang:type=Memory -A HeapMemoryUsage -K used -w $ARG2$ -c $ARG3$ -u B</td>
</tr>
<tr class=" op5StandardTable">
<td class="op5StandardTable" style="border-color: #000000; border-style: solid; border-width: 1px;"> check_jmx_long_running_threads</td>
<td class="op5StandardTable" style="border-color: #000000; border-style: solid; border-width: 1px;"> $USER1$/check_jmx -U service:jmx:rmi:///jndi/rmi://&#8217;$HOSTADDRESS$&#8217;:'$ARG1$&#8217;/jmxrmi -O jboss.threads:name=LongRunningTasksThreadPool,type=queuelessThreadPool -A CurrentThreadCount -K &#8220;&#8221; -w $ARG2$ -c $ARG3$</td>
</tr>
<tr class=" op5StandardTable">
<td class="op5StandardTable" style="border-color: #000000; border-style: solid; border-width: 1px;"> check_jmx_nonheap_mem_used</td>
<td class="op5StandardTable" style="border-color: #000000; border-style: solid; border-width: 1px;"> $USER1$/check_jmx -U service:jmx:rmi:///jndi/rmi://&#8217;$HOSTADDRESS$&#8217;:'$ARG1$&#8217;/jmxrmi -O java.lang:type=Memory -A NonHeapMemoryUsage -K used -w $ARG2$  -c $ARG3$ -u B</td>
</tr>
<tr class=" op5StandardTable">
<td class="op5StandardTable" style="border-color: #000000; border-style: solid; border-width: 1px;">check_jmx_availible_connections_in_pool</td>
<td class="op5StandardTable" style="border-color: #000000; border-style: solid; border-width: 1px;"> $USER1$/check_jmx -U service:jmx:rmi:///jndi/rmi://&#8217;$HOSTADDRESS$&#8217;:'$ARG1$&#8217;/jmxrmi -O jboss.jca:name=JmsXA,service=ManagedConnectionPool -A AvailableConnectionCount  -K &#8220;&#8221; -w $ARG2$ -c $ARG3$</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2 id="toc-adding-services">Adding Services</h2>
<p>Add the required services, (‘Configure’ -&gt; ‘Host: ‘ -&gt; ‘Go’ -&gt; ‘Services for host ‘ -&gt; ‘Add new service’ -&gt; ‘Go’):</p>
<p>Add the following services (Arguments are just examples, you need to adjust them to suite your environment).</p>
<table class=" op5StandardTable" style="width: 571px; height: 208px;" border="2">
<tbody>
<tr class=" op5StandardTable">
<td class="op5StandardTable"><strong>service_description</strong></td>
<td class="op5StandardTable"><strong>check_command</strong></td>
<td class=" op5StandardTable"><strong>check_command_args</strong></td>
</tr>
<tr class=" op5StandardTable">
<td class="op5StandardTable">Current Threadcount</td>
<td class="op5StandardTable">check_jmx_current_threadcount</td>
<td class=" op5StandardTable">1090!100!120</td>
</tr>
<tr class=" op5StandardTable">
<td class="op5StandardTable">Garbage Collection Timing</td>
<td class="op5StandardTable">check_jmx_garbage_collection_timing</td>
<td class=" op5StandardTable">1090!3500!4000</td>
</tr>
<tr class=" op5StandardTable">
<td class="op5StandardTable">HeapMem Usage</td>
<td class="op5StandardTable"> check_jmx_heapmem_used</td>
<td class=" op5StandardTable">1090!140000000!150000000</td>
</tr>
<tr class=" op5StandardTable">
<td class="op5StandardTable">Check Long Running Threads</td>
<td class="op5StandardTable"> check_jmx_long_running_threads</td>
<td class=" op5StandardTable">1090!3!5</td>
</tr>
<tr class=" op5StandardTable">
<td class="op5StandardTable">NonHeap Memory Usage</td>
<td class="op5StandardTable"> check_jmx_nonheap_mem_used</td>
<td class=" op5StandardTable">1090!100000000!120000000</td>
</tr>
<tr class=" op5StandardTable">
<td class="op5StandardTable">Availible Connections in pool</td>
<td class="op5StandardTable"> check_jmx_availible_connections_in_pool</td>
<td class=" op5StandardTable"> 1090!20!25</td>
</tr>
</tbody>
</table>
<h2 id="toc-other">Other</h2>
<p>This is just an example of some parameters that you can monitor with check_jmx, for more detailed information, please refer to the developers site. We  recommend that you also monitor the server that is running JBoss at a lower level, i.e on operating system level with for example NRPE to get more detailed information about the underlying operating system. More information: <a href="http://www.op5.com/agents/nagios-remote-plugin-executor-nrpe/" target="_blank">http://www.op5.com/agents/nagios-remote-plugin-executor-nrpe/</a></p>
<h2 id="toc-references">References</h2>
<p>The developers site: <a title="check_jmx" href="http://snippets.syabru.ch/nagios-jmx-plugin/" target="_blank">http://snippets.syabru.ch/nagios-jmx-plugin/</a></p>
<p>JMX4Perl How-to: <a href="http://www.op5.com/how-to/howto-monitor-application-server-op5-monitor-jmx4perl/" target="_blank">http://www.op5.com/how-to/howto-monitor-application-server-op5-monitor-jmx4perl/</a></p>
<p>* From wikipedia: (<a href="http://en.wikipedia.org/wiki/JMX" target="_blank">http://en.wikipedia.org/wiki/JMX</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.op5.com/how-to/jboss-monitoring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How-to monitor a Citrix XenServer Cluster</title>
		<link>http://www.op5.com/how-to/how-to-monitor-citrix-xenserver-cluster/</link>
		<comments>http://www.op5.com/how-to/how-to-monitor-citrix-xenserver-cluster/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 12:36:34 +0000</pubDate>
		<dc:creator>itorre</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[check_citrix]]></category>
		<category><![CDATA[check_xenapi]]></category>
		<category><![CDATA[Citrix Xen]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[HA]]></category>
		<category><![CDATA[monitoring virtual platforms]]></category>
		<category><![CDATA[monitoring xen]]></category>
		<category><![CDATA[virtual monitoring]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[vm state]]></category>
		<category><![CDATA[xen api]]></category>
		<category><![CDATA[xen monitoring]]></category>
		<category><![CDATA[xen server]]></category>
		<category><![CDATA[xenapi]]></category>

		<guid isPermaLink="false">http://www.op5.com/?p=12344</guid>
		<description><![CDATA[<p>The purpose of this article is to describe how-to set up agentless monitoring of a Citrix XenServer using <a href="http://www.op5.com/network-monitoring/op5-monitor/">op5 Monitor</a>. The plugin uses the XEN API to communicate with the XenServer so no changes to the server has to be made.</p>
<p>Through the plugin we can check the following parameters on the host and virtual servers running in the XEN environment.</p>
]]></description>
			<content:encoded><![CDATA[<p>The purpose of this article is to describe how-to set up agentless monitoring of a Citrix XenServer using <a href="http://www.op5.com/network-monitoring/op5-monitor/">op5 Monitor</a>. The plugin uses the XEN API to communicate with the XenServer so no changes to the server has to be made.</p>
<p>Through the plugin we can check the following parameters on the host and virtual servers running in the XEN environment.</p>
<p><strong>Session specific parameters:</strong></p>
<ul style="list-style-type: square;">
<li>list hosts</li>
<li>pool(s) state</li>
<li>VMs state</li>
</ul>
<p><strong>Host specific <strong>parameters</strong>:</strong></p>
<ul style="list-style-type: square;">
<li>cpu (total, per core)</li>
<li>memory</li>
<li>disk I/O</li>
<li>network I/O</li>
<li>VM(s) running on this host</li>
<li>time difference</li>
</ul>
<p><strong>VM specific <strong>parameters</strong>:</strong></p>
<ul style="list-style-type: square;">
<li>cpu (total, core)</li>
<li>memory(allocated, ballooned, internal)</li>
<li>disk I/O</li>
<li>network I/O</li>
</ul>
<h2 id="toc-prerequisites">Prerequisites</h2>
<ul style="list-style-type: square;">
<li>Make sure you have the latest op5 plugin package installed. To verify this simply do a &#8220;yum update&#8221; when logged in to op5 Monitor via SSH.<br />
<em>Note:</em> The plugin will be public available soon through &#8220;yum update&#8221;, but If you want to use it before that send a request mail to our support team at support@op5.com</li>
<li>Create a common <em>user</em> on your hosts. It will be used by the plugin to communicate with the XEN API on your hosts.</li>
<li>Add the master host in your cluster environment to op5 Monitor. All checks in this how-to will ask the master host.<br />
<em>Note:</em> If you need to monitor VMs that is not running on the master host, also add the host that the VM is running on to the op5 Monitor and add the VM checks to that host.</li>
</ul>
<div>
<h2 id="toc-" id="toc-check-commands"></h2>
<h2 id="toc-check-commands">Check commands</h2>
<p>Add the required check commands in your configuration (‘Configure’ -&gt; ‘Commands’ -&gt; ‘Add new command‘ -&gt; ‘Go’).</p>
</div>
<div><strong>Commands for the cluster</strong></div>
<div>
<table border="0">
<tbody>
<tr>
<td><strong>command_name</strong></td>
<td><strong>command_line</strong></td>
</tr>
<tr>
<td>check_xenapi_list_host</td>
<td>$USER1$/check_xenapi.pl -S https://$HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -l listhost</td>
</tr>
<tr>
<td>check_xenapi_list_pool</td>
<td>$USER1$/check_xenapi.pl -S https://$HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -l listpool</td>
</tr>
<tr>
<td>check_xenapi_list_vms</td>
<td>$USER1$/check_xenapi.pl -S https://$HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -l list</td>
</tr>
</tbody>
</table>
</div>
<div><strong>Commands for the hosts</strong></div>
<div>
<table border="0">
<tbody>
<tr>
<td><strong>command_name</strong></td>
<td><strong>command_line</strong></td>
</tr>
<tr>
<td>check_xenapi_host_cpu</td>
<td>$USER1$/check_xenapi.pl -S https://$HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -H $ARG3$ -l cpu -w $ARG4$ -c $ARG5$</td>
</tr>
<tr>
<td>check_xenapi_host_cpu_core</td>
<td>$USER1$/check_xenapi.pl -S https://$HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -H $ARG3$ -l cpu -s $ARG4$ -w $ARG5$ -c $ARG6$</td>
</tr>
<tr>
<td>check_xenapi_host_io</td>
<td>$USER1$/check_xenapi.pl -S https://$HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -H $ARG3$ -l io</td>
</tr>
<tr>
<td>check_xenapi_host_mem</td>
<td>$USER1$/check_xenapi.pl -S https://$HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -H $ARG3$ -l mem -w $ARG4$ -c $ARG5$</td>
</tr>
<tr>
<td>check_xenapi_host_net</td>
<td>$USER1$/check_xenapi.pl -S https://$HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -H $ARG3$ -l net</td>
</tr>
<tr>
<td>check_xenapi_host_time</td>
<td>$USER1$/check_xenapi.pl -S https://$HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -H $ARG3$ -l time -s $ARG4$</td>
</tr>
</tbody>
</table>
</div>
<div><strong>Commands for the VMs</strong></div>
<div>
<table border="0">
<tbody>
<tr>
<td><strong>command_name</strong></td>
<td><strong>command_line</strong></td>
</tr>
<tr>
<td>check_xenapi_vm_cpu</td>
<td>$USER1$/check_xenapi.pl -S https://$HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -N $ARG3$ -l cpu -w $ARG4$ -c $ARG5$</td>
</tr>
<tr>
<td>check_xenapi_vm_io</td>
<td>$USER1$/check_xenapi.pl -S https://$HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -N $ARG3$ -l io</td>
</tr>
<tr>
<td>check_xenapi_vm_mem</td>
<td>$USER1$/check_xenapi.pl -S https://$HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -N $ARG3$ -l mem -w $ARG4$ -c $ARG5$</td>
</tr>
<tr>
<td>check_xenapi_vm_mem_ballooned</td>
<td>$USER1$/check_xenapi.pl -S https://$HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -N $ARG3$ -l mem -s ballooned -w $ARG4$ -c $ARG5$</td>
</tr>
<tr>
<td>check_xenapi_vm_net</td>
<td>$USER1$/check_xenapi.pl -S https://$HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -N $ARG3$ -l net</td>
</tr>
</tbody>
</table>
<p><em>Note:</em></p>
<ul style="list-style-type: square;">
<li>It is possible to use the VMs UUID instead of the <em>name </em>(short hostname). Add &#8220;-U&#8221; after &#8220;-N $ARG1$&#8221; and use the UUID as ARG1, ie. &#8221; -N 9789ff86-c909-36a1-0d3d-149fd18c0898 -U&#8221;</li>
<li>For more commands options and details, look at the plugin help.</li>
</ul>
</div>
<h2 id="toc-adding-the-services" id="toc-adding-the-services">Adding the services</h2>
<p>Add the required services that you need, (‘Configure’ -&gt; ‘Host: ‘ -&gt; ‘Go’ -&gt; ‘Services for host ‘ -&gt; ‘Add new service’ -&gt; ‘Go’):</p>
<p>Please note that these arguments are just examples, you need to adjust them to suite your environment.</p>
<p id="toc-services-for-guest-vm"><strong>Services for cluster, global</strong></p>
<table border="0">
<tbody>
<tr>
<td><strong>service_description</strong></td>
<td><strong>check_command</strong></td>
<td><strong>check_command_args</strong></td>
</tr>
<tr>
<td>host list</td>
<td> check_xenapi_list_host</td>
<td> op5!monitor</td>
</tr>
<tr>
<td>host pool</td>
<td> check_xenapi_list pool</td>
<td> op5!monitor</td>
</tr>
<tr>
<td>VMs list</td>
<td> check_xenapi_list_vms</td>
<td> op5!monitor</td>
</tr>
</tbody>
</table>
<p><strong><span style="line-height: normal;">Services for the hosts</span></strong></p>
<table border="0">
<tbody>
<tr>
<td><strong>service_description</strong></td>
<td><strong>check_command</strong></td>
<td><strong>check_command_args</strong></td>
</tr>
<tr>
<td>host1 cpu</td>
<td>check_xenapi_host_cpu</td>
<td>op5!monitor!host1!80!90</td>
</tr>
<tr>
<td>host1 core 0</td>
<td>check_xenapi_host_cpu_core</td>
<td>op5!monitor!host1!0!80!90</td>
</tr>
<tr>
<td>host1 disk io</td>
<td>check_xenapi_host_io</td>
<td>op5!monitor!host1</td>
</tr>
<tr>
<td>host1 mem total</td>
<td>check_xenapi_host_mem</td>
<td>op5!monitor!host1!85!95</td>
</tr>
<tr>
<td>host1 net</td>
<td>check_xenapi_host_net</td>
<td>op5!monitor!host1</td>
</tr>
<tr>
<td>host1 time dif</td>
<td>check_xenapi_host_time</td>
<td>op5!monitor!host1!time</td>
</tr>
</tbody>
</table>
<p><strong>Services for VMs</strong></p>
<table border="0">
<tbody>
<tr>
<td><strong>service_description</strong></td>
<td><strong>check_command</strong></td>
<td><strong>check_command_args</strong></td>
</tr>
<tr>
<td>vm1 cpu</td>
<td>check_xenapi_vm_cpu</td>
<td>op5!monitor!vm1!80!90</td>
</tr>
<tr>
<td>vm1 disk io</td>
<td>check_xenapi_vm_io</td>
<td>op5!monitor!vm1</td>
</tr>
<tr>
<td>vm1 mem total</td>
<td>check_xenapi_vm_mem</td>
<td>op5!monitor!vm1!85!95</td>
</tr>
<tr>
<td>vm1 mem ballooned</td>
<td>check_xenapi_vm_mem_ballooned</td>
<td>op5!monitor!vm1!ballooned!80!90</td>
</tr>
<tr>
<td>vm1 net</td>
<td>check_xenapi_vm_net</td>
<td>op5!monitor!vm1</td>
</tr>
</tbody>
</table>
<p>Save your configuration.</p>
<p>Here is an example of how these checks will look like in production.</p>
<p><img title="citrix xen monitoring in op5 monitor screenshot" src="http://www.op5.com/media/images/screenshots/how_to/monitor_check_citrix_xen_in_op5_monitor.png" alt="citrix xen monitoring in op5 monitor screenshot" width="600" height="218" /></p>
<h2 id="toc-remarks">Remarks</h2>
<p>This plugin is still under development. More checks will be added. Please send your feedback on <a title="op5 user mailinglist" href="http://www.op5.com/support/knowledge-base/mailing-list/">op5 users mailing list.</a></p>
<p>All checks have been tested on Citrix XenServer cluster v5.5 and 6.0.</p>
<p>You can see this plugin in use on our <a title="online demo op5 monitor" href="http://demo.op5.com/" target="_blank">demo</a> site.</p>
<p style="text-align: center;">REV 1, 2012-02-15</p>
]]></content:encoded>
			<wfw:commentRss>http://www.op5.com/how-to/how-to-monitor-citrix-xenserver-cluster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How-to monitor a KVM installation</title>
		<link>http://www.op5.com/how-to/how-to-monitor-kvm-installation/</link>
		<comments>http://www.op5.com/how-to/how-to-monitor-kvm-installation/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 07:00:17 +0000</pubDate>
		<dc:creator>itorre</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[kvm monitoring]]></category>
		<category><![CDATA[libvirt]]></category>
		<category><![CDATA[monitor kvm]]></category>
		<category><![CDATA[monitor virtual environments]]></category>
		<category><![CDATA[monitor vm]]></category>
		<category><![CDATA[virtual monitoring]]></category>
		<category><![CDATA[virtual server monitor]]></category>

		<guid isPermaLink="false">http://www.op5.com/?p=10786</guid>
		<description><![CDATA[The purpose of this article is to describe how op5 Monitor can be used with the check_libvirt plugin for agentless monitoring of resource usage on a KVM installation. At the moment the plugin can monitor: Host specific parameters: storage pool list storage pool volume usage VM running VM specific parameters: cpu memory disk I/O network ]]></description>
			<content:encoded><![CDATA[<p>The purpose of this article is to describe how <a href="http://www.op5.com/network-monitoring/op5-monitor/">op5 Monitor</a> can be used with the check_libvirt plugin for agentless monitoring of resource usage on a KVM installation. At the moment the plugin can monitor:</p>
<p><strong>Host specific <strong>parameters</strong>:</strong></p>
<ul>
<li>storage pool list</li>
<li>storage pool volume usage</li>
<li>VM running</li>
</ul>
<p><strong>VM specific <strong>parameters</strong>:</strong><strong></strong></p>
<ul>
<li>cpu</li>
<li>memory</li>
<li>disk I/O</li>
<li>network I/O</li>
</ul>
<h2 id="toc-prerequisites">Prerequisites</h2>
<ul>
<li>libvirt drivers need to be installed on both the op5 Monitor server and on the target KVM host(s) and running.</li>
<li>The plugin support several transport protocols. In these guideline we will explain how to use SSH and TLS, the most common.</li>
<ul>
<li>If you want use SSH, you need to setup a password-less communication for the <em>monitor</em> user on the op5 monitor server and the <em>root</em> user on the target KVM host (libvirt is usually running as root).</li>
<li>If you want use TLS for a more secure communication then you will need to generate client and server certificates. Please follow the libvirt.org <a href="http://wiki.libvirt.org/page/TLSCreateCACert">how-to</a> for that. Be careful and follow all the steps in that how-to before you continue. Notice that the KVM host server is the <em>server</em> and the op5 Monitor server is the <em>client</em> for the TLS communication.</li>
</ul>
<li>All servers are found in DNS.</li>
<li>Update op5 Monitor to get the latest plugin pack.</li>
</ul>
<h2 id="toc-check-commands">Check commands</h2>
<h3 id="toc-ssh-as-transport-protocol">SSH as transport protocol</h3>
<p>If you use SSH, import the required check-commands in your configuration (‘Configure’ -&gt; ‘Commands’ -&gt; ‘Check Command Import -&gt; check_libvirt_kvm*’). After the import you will have the following check commands:</p>
<h3 id="toc-commands-for-guest-vms">Commands for guest VM&#8217;s</h3>
<table class="op5StandardTable" border="0" cellspacing="0" cellpadding="0">
<colgroup>
<col width="216" />
<col width="408" /> </colgroup>
<tbody>
<tr valign="TOP">
<th style="width: 216px;">command_name</th>
<th style="width: 408px;">command_line</th>
</tr>
<tr valign="TOP">
<td width="216">check_libvirt_kvm_guest_cpu</td>
<td width="408">$USER1$/check_libvirt -H qemu+ssh://$ARG1$@$HOSTADDRESS$/system -N $ARG2$ -l CPU</td>
</tr>
<tr valign="TOP">
<td width="216">check_libvirt_kvm_guest_disk_io</td>
<td width="408">$USER1$/check_libvirt -H qemu+ssh://$ARG1$@$HOSTADDRESS$/system -N $ARG2$ -l IO</td>
</tr>
<tr valign="TOP">
<td width="216">check_libvirt_kvm_guest_mem</td>
<td width="408">$USER1$/check_libvirt -H qemu+ssh://$ARG1$@$HOSTADDRESS$/system -N $ARG2$ -l MEM</td>
</tr>
<tr valign="TOP">
<td width="216">check_libvirt_kvm_guest_net_io</td>
<td width="408">$USER1$/check_libvirt -H qemu+ssh://$ARG1$@$HOSTADDRESS$/system -N $ARG2$ -l NET</td>
</tr>
</tbody>
</table>
<h3 id="toc-commands-for-kvm-host-server"><a name="toc-commands-for-esxvsphere-hosts-trough-your-datacentervcenter"></a>Commands for KVM host server</h3>
<table class="op5StandardTable" border="0" cellspacing="0" cellpadding="0">
<colgroup>
<col width="217" />
<col width="408" /> </colgroup>
<tbody>
<tr valign="TOP">
<th>command_name</th>
<th>command_line</th>
</tr>
<tr valign="TOP">
<td width="217">check_libvirt_kvm_running</td>
<td width="408">$USER1$/check_libvirt -H qemu+ssh://$ARG1$@$HOSTADDRESS$/system -l LIST</td>
</tr>
<tr valign="TOP">
<td width="217">check_libvirt_kvm_storge_pool</td>
<td width="408">$USER1$/check_libvirt -H qemu+ssh://$ARG1$@$HOSTADDRESS$/system -l POOL -s $ARG2$</td>
</tr>
<tr valign="TOP">
<td width="217">check_libvirt_kvm_volume</td>
<td width="408">$USER1$/check_libvirt -H qemu+ssh://$ARG1$@$HOSTADDRESS$/system -l VOLUME -s $ARG2$/$ARG3$</td>
</tr>
<tr valign="TOP">
<td width="217">check_libvirt_kvm_volume_all</td>
<td width="408">$USER1$/check_libvirt -H qemu+ssh://$ARG1$@$HOSTADDRESS$/system -l VOLUME</td>
</tr>
</tbody>
</table>
<p>Note: $ARG1$ macro in the command_line refer to the user you will use to connect to the KVM host server, in these case <em>root</em>, the $HOSTADDRESS$ refer to the KVM host and the $ARG2$ refer to the guest VM-name.</p>
<h3 id="toc-ttl-as-transport-protocol">TTL as transport protocol</h3>
<p>If you prefer user TLS, then you can add yourself the above check command to your configuration, you need only replace <em>qemu+ssh</em> with <em>qemu+tls, (‘Configure’ -&gt; ‘Commands’ -&gt; ‘Add new command‘ -&gt; ‘Go’).</em></p>
<h2 id="toc-adding-the-services">Adding the services</h2>
<p>Some services example following.</p>
<p>Add the required services as your needs, (‘Configure’ -&gt; ‘Host: ‘ -&gt; ‘Go’ -&gt; ‘Services for host ‘ -&gt; ‘Add new service’ -&gt; ‘Go’):</p>
<p>Arguments are just examples, you need to adjust them to suite your environment.</p>
<h3 id="toc-services-for-guest-vm"><a name="toc-services-for-esxi-datacenter"></a>Services for guest VM</h3>
<table class="op5StandardTable" border="0" cellspacing="0" cellpadding="0">
<colgroup>
<col width="126" />
<col width="227" />
<col width="178" />
<col width="77" /> </colgroup>
<tbody>
<tr valign="TOP">
<th>service_description</th>
<th>check_command</th>
<th>check_command_args</th>
<th>Note</th>
</tr>
<tr valign="TOP">
<td width="126">VM CPU Usage</td>
<td width="227">check_libvirt_kvm_guest_cpu</td>
<td width="178">root!sandbox-peer</td>
<td width="77">*</td>
</tr>
<tr valign="TOP">
<td width="126">VM Mem Usage</td>
<td width="227">check_libvirt_kvm_guest_mem</td>
<td width="178">root!sandbox-peer</td>
<td width="77">*</td>
</tr>
<tr valign="TOP">
<td width="126">VM Disk IO Usage</td>
<td width="227">check_libvirt_kvm_guest_disk_io</td>
<td width="178">root!sandbox-peer</td>
<td width="77">*</td>
</tr>
<tr valign="TOP">
<td width="126">VM Net IO Usage</td>
<td width="227">check_libvirt_kvm_guest_net_io</td>
<td width="178">root!sandbox-peer</td>
<td width="77">*</td>
</tr>
</tbody>
</table>
<h3 id="toc-services-for-kvm-host-server">Services for KVM host server</h3>
<table class="op5StandardTable" border="0" cellspacing="0" cellpadding="0">
<colgroup>
<col width="182" />
<col width="232" />
<col width="155" />
<col width="39" /> </colgroup>
<tbody>
<tr valign="TOP">
<th>service_description</th>
<th>check_command</th>
<th>check_command_args</th>
<th>Note</th>
</tr>
<tr valign="TOP">
<td width="182">KVM storage pool usage</td>
<td width="232">check_libvirt_kvm_storge_pool</td>
<td width="155">root!default</td>
<td width="39">*</td>
</tr>
<tr valign="TOP">
<td width="182">KVM guest volume usage</td>
<td width="232">check_libvirt_kvm_volume</td>
<td width="155">root!win-sth1!default</td>
<td width="39">*</td>
</tr>
<tr valign="TOP">
<td width="182">KVM all volume usage</td>
<td width="232">check_libvirt_kvm_volume_all</td>
<td width="155">root</td>
<td width="39">*</td>
</tr>
<tr valign="TOP">
<td width="182">KVM running vm list</td>
<td width="232">check_libvirt_kvm_running</td>
<td width="155">root</td>
<td width="39">*</td>
</tr>
</tbody>
</table>
<p>* Note: No warning or critical arguments are used in these examples. The plugin does however support thresholds.</p>
<p>These check_command has been successfully tested on CentOS/RHEL v.5.5 and 6.x with KVM 2.x. It should even work fine in other KVM environment.</p>
<p>More information about libvirt can be found at: <a title="libvirt" href="http://www.libvirt.org/">www.libvirt.org</a></p>
<p>&nbsp;</p>
<p>REV 2, 20120416</p>
]]></content:encoded>
			<wfw:commentRss>http://www.op5.com/how-to/how-to-monitor-kvm-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to set up a op5 Monitor cloud poller</title>
		<link>http://www.op5.com/how-to/how-to-set-up-op5-monitor-cloud-poller/</link>
		<comments>http://www.op5.com/how-to/how-to-set-up-op5-monitor-cloud-poller/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 08:16:59 +0000</pubDate>
		<dc:creator>itorre</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[configure distributed monitor]]></category>
		<category><![CDATA[distributed]]></category>
		<category><![CDATA[distributed model]]></category>
		<category><![CDATA[distributed monitoring]]></category>
		<category><![CDATA[distributed solution]]></category>
		<category><![CDATA[load balanced monitor]]></category>
		<category><![CDATA[load balanced solution]]></category>
		<category><![CDATA[poller]]></category>
		<category><![CDATA[secure communication]]></category>

		<guid isPermaLink="false">http://www.op5.com/?p=11660</guid>
		<description><![CDATA[The purpose of this how-to is to describe how to configure op5 Monitor for a distributed monitor setup. The distributed setup looks like this. In the distributed monitoring solution: All configuration is done on the Master system All new configuration is distributed to the pollers Each poller is responsible for its own host group (Site) ]]></description>
			<content:encoded><![CDATA[<p>The purpose of this how-to is to describe how to configure op5 Monitor for a distributed monitor setup. The distributed setup looks like this.</p>
<p lang="en-US"><img class="aligncenter" style="vertical-align: middle;" title="distributed op5 monitoring setup" src="http://www.op5.com/media/Distributed.16.1.1.jpg" alt="distributed op5 monitoring setup" width="473" height="356" />In the distributed monitoring solution:</p>
<ul>
<li>All configuration is done on the Master system</li>
<li>All new configuration is distributed to the pollers</li>
<li>Each poller is responsible for its own host group (Site)</li>
<li>The Master has all the status information</li>
</ul>
<h2 id="toc-prerequisites" lang="en-US">Prerequisites</h2>
<p lang="en-US">There are a few things you need to take care of before you can start setting up a distributed monitoring solution. You need to make sure:</p>
<ol>
<li>You have at least two op5 Monitor servers of the same architecture up and running.</li>
<li>op5 Monitor version 5.2 or higher is installed and running on both machines.</li>
<li>Opened up the following TCP ports for communication between the servers
<ul>
<li>15551, op5 Monitor back end communication port</li>
<li>22, ssh for the configuration sync</li>
</ul>
</li>
<li>If you need a secure connection between the master and the cloud poller, then follow the guidelines in this how-to: <a href="http://www.op5.com/how-to/secure-communication-cloud-poller/">Secure communication with Cloud poller</a>.</li>
<li>Both servers are found in DNS.</li>
<li>Make sure that the host group that the poller will be responsible for, is added to the master configuration and that at least one host is added to that host group.</li>
</ol>
<h2 id="toc-the-configuration">The configuration</h2>
<h3 id="toc-setting-up-the-new-distributed-monitoring-solution" lang="en-US">Setting up the new distributed monitoring solution</h3>
<p lang="en-US">This distributed configuration will have one master and two poller: master01, poller01, poller02. The poller01 will be monitoring the hostgroup gbg and poller02 the hostgroup sth.</p>
<p lang="en-US">During the setup we will use the command:</p>
<p lang="en-US">mon</p>
<p lang="en-US">The mon command is used to make life a bit easier when it comes to setting up a load balanced solution. To get more detailed information about the command mon just execute like this:</p>
<p lang="en-US">mon &#8211;help</p>
<h3 id="toc-adding-the-poller01" lang="en-US">Adding the poller01</h3>
<ol>
<li>Log in to the master over ssh, as root.</li>
<li>Add the new poller to the configuration with the following command:
<ul>
<li>mon node add poller01 type=poller hostgroup=gbg</li>
</ul>
</li>
<li>Create and add ssh keys to and from the second peer by as root user:
<ul>
<li>mon sshkey push &#8211;all</li>
<li>mon sshkey fetch &#8211;all</li>
</ul>
</li>
<li>Add master01 as master at poller01:
<ul>
<li>mon node ctrl &#8211;type=poller &#8212; mon node add master01 type=master</li>
</ul>
</li>
<li>Set up the configuration sync:
<ul>
<li>dir=/opt/monitor/etc/oconf</li>
<li>conf=/opt/monitor/etc/nagios.cfg</li>
<li>mon node ctrl &#8212; sed -i /^cfg_file=/d $conf</li>
<li>mon node ctrl &#8212; sed -i /^log_file=/acfg_dir=$dir $conf</li>
<li>mon node ctrl &#8212; mkdir -m 775 $dir</li>
<li>mon node ctrl &#8212; chown monitor:apache $dir</li>
</ul>
</li>
<li>To make sure you have an empty configuration on poller01:
<ul>
<li>mon node ctrl &#8212; mon oconf hash<br />
This will give you an hash looking like this (“da 39” -hash):</li>
<li>da39a3ee5e6b4b0d3255bfef95601890afd80709</li>
</ul>
</li>
<li>Now push the configuration to the poller:
<ul>
<li>mon oconf push</li>
</ul>
</li>
<li>Restart and push the logs from master01 from poller01:
<ul>
<li>mon restart; sleep 3; mon oconf push</li>
</ul>
</li>
</ol>
<h3 id="toc-adding-the-poller02">Adding the poller02</h3>
<ol>
<li>Log in to the master over ssh, as root.</li>
<li>Add the new poller to the configuration with the following command:
<ul>
<li>mon node add poller02 type=poller hostgroup=sth</li>
</ul>
</li>
<li>Create and add ssh keys for the root user:
<ul>
<li>mon sshkey push poller02</li>
<li>mon sshkey fetch poller02</li>
</ul>
</li>
<li>Add master01 as master at poller02:
<ul>
<li>mon node ctrl poller02 &#8212; mon node add master01 type=master</li>
</ul>
</li>
<li>Set up the configuration sync:
<ul>
<li>dir=/opt/monitor/etc/oconf</li>
<li>conf=/opt/monitor/etc/nagios.cfg</li>
<li>mon node ctrl poller02 &#8212; sed -i /^cfg_file=/d $conf</li>
<li>mon node ctrl poller02 &#8212; sed -i /^log_file=/acfg_dir=$dir $conf</li>
<li>mon node ctrl poller02 &#8212; mkdir -m 775 $dir</li>
<li>mon node ctrl poller02 &#8212; chown monitor:apache $dir</li>
</ul>
</li>
<li>To make sure you have an empty configuration on poller01:
<ul>
<li>mon node ctrl poller02 &#8212; mon oconf hash<br />
This will give you an hash looking like this (“da 39” -hash):</li>
<li>da39a3ee5e6b4b0d3255bfef95601890afd80709</li>
</ul>
</li>
<li>Now push the configuration to the poller:
<ul>
<li>mon oconf push</li>
</ul>
</li>
<li>Restart and push the logs from master01 from poller02:
<ul>
<li>mon restart; sleep 3; mon oconf push</li>
</ul>
</li>
</ol>
<p lang="en-US">Now do you have an op5 Monitor distributed monitor solution!</p>
<h2 id="toc-adding-a-new-host-group-to-a-poller" lang="en-US">Adding a new host group to a poller</h2>
<p lang="en-US">You might want to add an other host group to a poller. You need to edit the merlin.conf file to do that. It is not possible to do with any command as it is today.</p>
<h3 id="toc-to-add-a-new-host-group-to-poller01" lang="en-US">To add a new host group to poller01</h3>
<ol>
<li>Open up and edit /opt/monitor/op5/merlin/merlin.conf at master.</li>
<li>Add a new host group in the hostgroup line like this:
<ul>
<li>hostgroup = gbg,citrix_servers</li>
<li>Remember to not put any space between the hostgroup name and comma.</li>
</ul>
</li>
<li>Restart monitor on the pollers
<ul>
<li>mon restart</li>
</ul>
</li>
<li>Send over the new configuration to the poller
<ul>
<li>mon oconf push</li>
</ul>
</li>
</ol>
<h2 id="toc-removing-a-poller" lang="en-US">Removing a poller</h2>
<p lang="en-US">In this instruction we will remove a poller called: poller01. The poller will be removed from the master configuration and all distributed configuration on the poller will also be removed.</p>
<h3 id="toc-to-remove-a-poller" lang="en-US"><span style="font-size: 15px; font-weight: bold;">To remove a poller</span></h3>
<ol>
<li>Log in to the master over ssh, as root.</li>
<li>Deactivate and remove all distributed setup on the poller host.
<ul>
<li>mon node ctrl poller01 &#8212; mon node remove master01</li>
</ul>
</li>
<li>Restart monitor on the poller.
<ul>
<li>mon node ctrl poller01 &#8212; mon restart</li>
</ul>
</li>
<li>Remove the poller from the master configuration.
<ul>
<li>mon node remove poller01</li>
</ul>
</li>
<li>Restart monitor on the master.
<ul>
<li>mon restart</li>
</ul>
</li>
</ol>
<h2 id="toc-more-information">More information</h2>
<p>For more information and a more complex example, please take a look at the <a href="http://git.op5.org/git/?p=nagios/merlin.git;a=blob;f=HOWTO;hb=master#l171">how-to</a> in the git repository of the open source project <a title="Merlin, the nagios php frontend" href="http://www.op5.org/community/plugin-inventory/op5-projects/merlin">Merlin</a>.</p>
<p style="text-align: center;">REV 2, 2011-11-16</p>
]]></content:encoded>
			<wfw:commentRss>http://www.op5.com/how-to/how-to-set-up-op5-monitor-cloud-poller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How-to monitor a XEN installation</title>
		<link>http://www.op5.com/how-to/how-to-monitor-xen-installation/</link>
		<comments>http://www.op5.com/how-to/how-to-monitor-xen-installation/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 07:55:54 +0000</pubDate>
		<dc:creator>itorre</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[agentless monitoring]]></category>
		<category><![CDATA[check_libvirt]]></category>
		<category><![CDATA[HW]]></category>
		<category><![CDATA[libvirt]]></category>
		<category><![CDATA[monitor virtual server]]></category>
		<category><![CDATA[monitor xen]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[vm]]></category>
		<category><![CDATA[Xen]]></category>
		<category><![CDATA[XEN installation]]></category>
		<category><![CDATA[xen monitoring]]></category>

		<guid isPermaLink="false">http://www.op5.com/?p=10926</guid>
		<description><![CDATA[&#160; The purpose of this article is to describe how op5 Monitor can be used with the check_libvirt plugin for agentless monitoring of resource usage on a XEN installation (excluding Citrix XEN server environment). At the moment the plugin can monitor cpu, memory, disk I/O, network I/O on the guest VM and VM count, storage pool ]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<div>
<p>The purpose of this article is to describe how <a href="http://www.op5.com/network-monitoring/op5-monitor/">op5 Monitor</a> can be used with the check_libvirt plugin for agentless monitoring of resource usage on a XEN installation (excluding Citrix XEN server environment). At the moment the plugin can monitor cpu, memory, disk I/O, network I/O on the guest VM and VM count, storage pool and pool volume on the target host.</p>
<h2 id="toc-prerequisites">Prerequisites</h2>
<ul>
<li>libvirt drivers need to be installed and running on both the op5 monitor server and on the target XEN host(s).</li>
<li>The plugin support several transport protocols but ssh is the preferred and will be used in this How-To. You need to setup a password-less communication for the user &#8216;monitor&#8217; and the user that you will use for the communication between the op5 monitor server and the target XEN host(s).</li>
<li>Update op5 Monitor to get the latest plugin packet containing the check_libvirt plugin.</li>
</ul>
<h2 id="toc-check-commands">Check commands</h2>
<p>Add the required check-commands in your configuration (‘Configure’ -&gt; ‘Commands’ -&gt; ‘Add new command‘ -&gt; ‘Go’).</p>
<p><span style="font-size: 15px; font-weight: bold;">Commands for guest VM&#8217;s</span></p>
<table class="op5StandardTable" border="0">
<colgroup>
<col width="216" />
<col width="408" /> </colgroup>
<tbody>
<tr valign="TOP">
<th>command_name</th>
<th>command_line</th>
</tr>
<tr valign="TOP">
<td width="216">check_libvirt_xen_guest_cpu</td>
<td width="408">$USER1$/check_libvirt -H xen+ssh://$ARG1$@$HOSTADDRESS$ -N $ARG2$ -l CPU</td>
</tr>
<tr valign="TOP">
<td width="216">check_libvirt_xen_guest_disk_io</td>
<td width="408">$USER1$/check_libvirt -H xen+ssh://$ARG1$@$HOSTADDRESS$ -N $ARG2$ -l IO</td>
</tr>
<tr valign="TOP">
<td width="216">check_libvirt_xen_guest_mem</td>
<td width="408">$USER1$/check_libvirt -H xen+ssh://$ARG1$@$HOSTADDRESS$ -N $ARG2$ -l MEM</td>
</tr>
<tr valign="TOP">
<td width="216">check_libvirt_xen_guest_net_io</td>
<td width="408">$USER1$/check_libvirt -H xen+ssh://$ARG1$@$HOSTADDRESS$ -N $ARG2$ -l NET</td>
</tr>
</tbody>
</table>
<h3 id="toc-commands-for-xen-host-server"><a name="toc-commands-for-esxvsphere-hosts-trough-your-datacentervcenter"></a>Commands for XEN host server</h3>
<table class="op5StandardTable" border="0">
<colgroup>
<col width="217" />
<col width="408" /> </colgroup>
<tbody>
<tr valign="TOP">
<th>command_name</th>
<th>command_line</th>
</tr>
<tr valign="TOP">
<td width="217">check_libvirt_xen_running</td>
<td width="408">$USER1$/check_libvirt -H xen+ssh://$ARG1$@$HOSTADDRESS$ -l LIST</td>
</tr>
<tr valign="TOP">
<td width="217">check_libvirt_xen_storge_pool</td>
<td width="408">$USER1$/check_libvirt -H xen+ssh://$ARG1$@$HOSTADDRESS$ -l POOL -s $ARG2$</td>
</tr>
<tr valign="TOP">
<td width="217">check_libvirt_xen_volume</td>
<td width="408">$USER1$/check_libvirt -H xen+ssh://$ARG1$@$HOSTADDRESS$ -l VOLUME -s $ARG2$/$ARG3$</td>
</tr>
<tr valign="TOP">
<td width="217">check_libvirt_xen_volume_all</td>
<td width="408">$USER1$/check_libvirt -H xen+ssh://$ARG1$@$HOSTADDRESS$ -l VOLUME</td>
</tr>
</tbody>
</table>
<p>Note: $ARG1$ macro in the command_line to refer to the user you will use to connect to the XEN host server, the $HOSTADDRESS$ refer to the XEN host and the $ARG2$ refer to the guest VM-name.</p>
<h2 id="toc-adding-the-services">Adding the services</h2>
<p>Some services examples:</p>
<p>Add the required services that you need, (‘Configure’ -&gt; ‘Host: ‘ -&gt; ‘Go’ -&gt; ‘Services for host ‘ -&gt; ‘Add new service’ -&gt; ‘Go’):</p>
<p>Please note that these arguments are just examples, you need to adjust them to suite your environment.</p>
<h3 id="toc-services-for-guest-vm"><a name="toc-services-for-esxi-datacenter"></a>Services for guest VM</h3>
<table class="op5StandardTable" border="0">
<colgroup>
<col width="126" />
<col width="227" />
<col width="178" />
<col width="77" /> </colgroup>
<tbody>
<tr valign="TOP">
<th>service_description</th>
<th>check_command</th>
<th>check_command_args</th>
<th>Note</th>
</tr>
<tr valign="TOP">
<td width="126">VM dell-sth1 CPU Usage</td>
<td width="227">check_libvirt_xen_guest_cpu</td>
<td width="178">root!dell-sth1</td>
<td style="text-align: center;" width="77">*</td>
</tr>
<tr valign="TOP">
<td width="126">VM dell-sth1 Mem Usage</td>
<td width="227">check_libvirt_xen_guest_mem</td>
<td width="178">root!dell-sth1</td>
<td style="text-align: center;" width="77">*</td>
</tr>
<tr valign="TOP">
<td width="126">VM dell-sth1 Disk IO Usage</td>
<td width="227">check_libvirt_xen_guest_disk_io</td>
<td width="178">root!dell-sth1</td>
<td style="text-align: center;" width="77">*</td>
</tr>
<tr valign="TOP">
<td width="126">VM dell-sth1 Net Usage</td>
<td width="227">check_libvirt_xen_guest_net_io</td>
<td width="178">root!dell-sth1</td>
<td style="text-align: center;" width="77">*</td>
</tr>
</tbody>
</table>
<h3 id="toc-services-for-kvm-host-server">Services for KVM host server</h3>
<table class="op5StandardTable" border="0">
<colgroup>
<col width="182" />
<col width="232" />
<col width="155" />
<col width="39" /> </colgroup>
<tbody>
<tr valign="TOP">
<th>service_description</th>
<th>check_command</th>
<th>check_command_args</th>
<th>Note</th>
</tr>
<tr valign="TOP">
<td width="182">xen-sth storage pool usage</td>
<td width="232">check_libvirt_xen_storge_pool</td>
<td width="155">root!default</td>
<td style="text-align: center;" width="39">*</td>
</tr>
<tr valign="TOP">
<td width="182">xen-sth dell-sth1 volume usage</td>
<td width="232">check_libvirt_xen_volume</td>
<td width="155">root!dell-sth1!default</td>
<td style="text-align: center;" width="39">*</td>
</tr>
<tr valign="TOP">
<td width="182">xen-sth all volume usage</td>
<td width="232">check_libvirt_xen_volume_all</td>
<td width="155">root</td>
<td style="text-align: center;" width="39">*</td>
</tr>
<tr valign="TOP">
<td width="182">xen-sth running vm list</td>
<td width="232">check_libvirt_xen_running</td>
<td width="155">root</td>
<td style="text-align: center;" width="39">*</td>
</tr>
</tbody>
</table>
<p>* Note: No warning or critical arguments are used in these examples. The plugin does however support thresholds.</p>
<h2 id="toc-remarks">Remarks</h2>
<ul>
<li>These check command has been tested on CentOS v5.5 and XEN v3.0 installation. It should work with other installations but some minor changes will be needed.</li>
<li>Critrix XEN server does not support libvirt but it is possible to find workarounds on the Internet.</li>
</ul>
<p>More information about libvirt can be found at: <a href="http://www.libvirt.org/drvxen.html">http://www.libvirt.org/drvxen.html</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.op5.com/how-to/how-to-monitor-xen-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How-to Monitor a Server with Enhanced IPMI sensor</title>
		<link>http://www.op5.com/how-to/how-to-monitor-server-enhanced-ipmi-sensor/</link>
		<comments>http://www.op5.com/how-to/how-to-monitor-server-enhanced-ipmi-sensor/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 08:02:24 +0000</pubDate>
		<dc:creator>itorre</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[advanced ipmi]]></category>
		<category><![CDATA[check_ipmi_sensor]]></category>
		<category><![CDATA[freeipmi]]></category>
		<category><![CDATA[ipmi]]></category>
		<category><![CDATA[ipmi monitoring]]></category>
		<category><![CDATA[sensor]]></category>
		<category><![CDATA[sensor monitoring]]></category>

		<guid isPermaLink="false">http://www.op5.com/?p=10891</guid>
		<description><![CDATA[IPMI  is a standardized computer system interface used by system administrators to manage a computer system and monitor its operation. Through IPMI a number of hardware sensors are made available for monitoring. Plugin check_ipmi_sensor The check_ipmi_sensor plugins is a Open Source plugin which basically is a wrapper around a tool called FreeIPMI (see below). You ]]></description>
			<content:encoded><![CDATA[<p>IPMI  is a standardized computer system interface used by system administrators to manage a computer system and monitor its operation. Through IPMI a number of hardware sensors are made available for monitoring.</p>
<h2 id="toc-plugin-check_ipmi_sensor"><a name="internal-source-marker_0.67296427395194771"></a> Plugin check_ipmi_sensor</h2>
<p><a name="internal-source-marker_0.67296427395194772"></a><a name="internal-source-marker_0.67296427395194773"></a> The check_ipmi_sensor plugins is a Open Source plugin which basically is a wrapper around a tool called FreeIPMI (see below). You can read more about <a title="FreeIPMI sensor monitoring" href="http://www.thomas-krenn.com/de/wiki/IPMI_Sensor_Monitoring_Plugin#Weitere_Informationen">FreeIPMI</a> at the creator, Thomas Krenn&#8217;s German homepage.</p>
<h2 id="toc-plugin-details"><a name="internal-source-marker_0.67296427395194774"></a> Plugin details</h2>
<p>The plugin supports IPMI v1.5 and IPMI v2.0. It can check IPMI sensors locally or via ‘Serial over LAN’ connection. In order for remote monitoring to be possible, the target (monitored system) need to be configured to accept remote connections. The exact configuration procedure is hardware (motherboard/Bios) dependant.</p>
<h2 id="toc-how-to-enable-impi-monitoring">How to Enable IMPI Monitoring</h2>
<p>The following is an example on how-to enable IPMI , please note that it can differ for your hardware.</p>
<p><a name="internal-source-marker_0.67296427395194775"></a> On Dell PowerEdge servers (1950 and R410 at least) the following steps are needed in order to enable ‘Serial over LAN’.</p>
<ol>
<li>On Boot, press Ctrl-E when prompted.</li>
<li>Set IPMI Enabled</li>
<li>Set a static IP address and gateway.</li>
<li>Set a username and a password.</li>
<li>Reboot</li>
</ol>
<p><strong>Note:</strong> these steps are not necessary on the op5 Monitor server, only on the systems we want to monitor.</p>
<h2 id="toc-sensor-groups-that-can-be-monitored">Sensor groups that can be monitored</h2>
<ul>
<li>TEMPERATURE</li>
<li>VOLTAGE</li>
<li>CURRENT</li>
<li>FAN</li>
<li>PHYSICAL_SECURITY</li>
<li>PLATFORM_SECURITY_VIOLATION_ATTEMPT</li>
<li>PROCESSOR</li>
<li>POWER_SUPPLY</li>
<li>POWER_UNIT</li>
<li>MEMORY</li>
<li>DRIVE_SLOT</li>
<li>SYSTEM_FIRMWARE_PROGRESS<br />
EVENT_LOGGING_DISABLED</li>
<li>SYSTEM_EVENT</li>
<li>CRITICAL_INTERRUPT</li>
<li>MODULE_BOARD</li>
<li>SLOT_CONNECTOR</li>
<li>WATCHDOG2</li>
</ul>
<p><strong>Note:</strong> the availability of the sensor groups is system dependant.</p>
<h2 id="toc-prerequisites">Prerequisites</h2>
<ul>
<li>Install the op5 monitor community plugin package, ”yum install plugins-community-2.8.0” or later.</li>
<li>Install the FreeIPMI package on the op5 monitor server, ”yum install freeipmi”</li>
<li>Enable and configure IPMI as describe above.</li>
</ul>
<h2 id="toc-check-commands">Check Commands</h2>
<p>Add the required check-commands in your configuration as your needs (‘Configure’ -&gt; ‘Commands’ -&gt; ‘Check Command Import -&gt; check_libvirt_kvm*’).</p>
<p>Some check commands example following:</p>
<table class="op5AdvancedTable" border="0">
<tbody>
<tr valign="TOP">
<td><strong>command_name</strong></td>
<td><strong>command_line</strong></td>
</tr>
<tr valign="TOP">
<td>check_ipmi_sensor_memory</td>
<td>$USER1$/check_ipmi_sensor -H $HOSTADDRESS$ -U $USER11$ -P $USER12$ -L user -O &#8220;-c /opt/monitor/var/ipmi&#8221; -b -T MEMORY</td>
</tr>
<tr valign="TOP">
<td>check_ipmi_sensor_fan</td>
<td>$USER1$/check_ipmi_sensor -H $HOSTADDRESS$ -U $USER11$ -P $USER12$ -L user -O &#8220;-c /opt/monitor/var/ipmi&#8221; -b -T FAN</td>
</tr>
<tr valign="TOP">
<td>check_ipmi_sensor_power_supply</td>
<td>$USER1$/check_ipmi_sensor -H $HOSTADDRESS$ -U $USER11$ -P $USER12$ -L user -O &#8220;-c /opt/monitor/var/ipmi&#8221; -b -T POWER_SUPPLY</td>
</tr>
<tr valign="TOP">
<td>check_ipmi_sensor_power_unit</td>
<td>$USER1$/check_ipmi_sensor -H $HOSTADDRESS$ -U $USER11$ -P $USER12$ -L user -O &#8220;-c /opt/monitor/var/ipmi&#8221; -b -T POWER_UNIT</td>
</tr>
<tr valign="TOP">
<td>check_ipmi_sensor_driver_slot</td>
<td>$USER1$/check_ipmi_sensor -H $HOSTADDRESS$ -U $USER11$ -P $USER12$ -L user -O &#8220;-c /opt/monitor/var/ipmi&#8221; -b -T DRIVE_SLOT</td>
</tr>
</tbody>
</table>
<h2 id="toc-adding-the-services">Adding the services</h2>
<p>Below are some examples of services you can add.</p>
<p>Add the required services, (‘Configure’ -&gt; ‘Host: ‘ -&gt; ‘Go’ -&gt; ‘Services for host ‘ -&gt; ‘Add new service’ -&gt; ‘Go’):</p>
<p>Arguments are just examples, you need to adjust them to suite your environment.</p>
<table class="op5AdvancedTable" border="0">
<tbody>
<tr valign="TOP">
<td><strong>service_description</strong></td>
<td><strong>check_command</strong></td>
<td><strong>check_command_args</strong></td>
<td style="text-align: center;"><strong>Note</strong></td>
</tr>
<tr valign="TOP">
<td>ipmi_sensor_memory</td>
<td>check_ipmi_sensor_memory</td>
<td>root!password</td>
<td style="text-align: center;">*</td>
</tr>
<tr valign="TOP">
<td>ipmi_sensor_fan</td>
<td>check_ipmi_sensor_fan</td>
<td>root!password</td>
<td style="text-align: center;">*</td>
</tr>
<tr valign="TOP">
<td>ipmi_sensor_power_supply</td>
<td>check_ipmi_sensor_power_supply</td>
<td>root!password</td>
<td style="text-align: center;">*</td>
</tr>
<tr valign="TOP">
<td>ipmi_sensor_power_unit</td>
<td>check_ipmi_sensor_power_unit</td>
<td>root!password</td>
<td style="text-align: center;">*</td>
</tr>
<tr valign="TOP">
<td>ipmi_sensor_driver_slot</td>
<td>check_ipmi_sensor_driver_slot</td>
<td>root!password</td>
<td style="text-align: center;">*</td>
</tr>
</tbody>
</table>
<p><strong>Note*:</strong> You can instead add arguments(ARGs) USER11(root) and USER12(password) to the file /opt/monitor/etc/resource.cfg. Don&#8217;t forget to reload the Monitor service.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.op5.com/how-to/how-to-monitor-server-enhanced-ipmi-sensor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
