<?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>blog.mirko-pluhar.de &#187; Hyperic</title>
	<atom:link href="http://blog.mirko-pluhar.de/category/hyperic/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mirko-pluhar.de</link>
	<description>Aus Neuseeland. Ohne Umlaute.</description>
	<lastBuildDate>Tue, 08 Jun 2010 08:22:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Hyperic HQ SNMP Plugin generator</title>
		<link>http://blog.mirko-pluhar.de/2009/04/27/hyperic-hq-snmp-plugin-generator/</link>
		<comments>http://blog.mirko-pluhar.de/2009/04/27/hyperic-hq-snmp-plugin-generator/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 06:37:35 +0000</pubDate>
		<dc:creator>mirko</dc:creator>
				<category><![CDATA[Hyperic]]></category>

		<guid isPermaLink="false">http://blog.mirko-pluhar.de/?p=350</guid>
		<description><![CDATA[SNMP ist immer noch eine weitverbreite und einfache Moeglichkeit zum Monitoring von Geraeten. Wenn man als Community String nicht read fuer den Lesezugriff und write zum Schreiben verwendet auch wohl relativ harmlos. Fuer Hyperic HQ habe ich mal angefangen eine Art Plugin Generator zu schreiben. Man uebergibt eine Liste von MIB-Dateien und erhaelt eine Art [...]]]></description>
			<content:encoded><![CDATA[<p>SNMP ist immer noch eine weitverbreite und einfache Moeglichkeit zum Monitoring von Geraeten. Wenn man als Community String nicht read fuer den Lesezugriff und write zum Schreiben verwendet auch wohl relativ harmlos. Fuer Hyperic HQ habe ich mal angefangen eine Art Plugin Generator zu schreiben. Man uebergibt eine Liste von MIB-Dateien und erhaelt eine Art Grundgeruest fuer ein SNMP plugin. Am Wochenende habe ich eine Aenderung vorgenommen und einen Fehler bei Tabular Services behoben. Die neueste Version ist immer auf <a href="http://github.com/mpluhar/hq-snmp-plugin-generator/tree/master">github</a> verfuegbar.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mirko-pluhar.de/2009/04/27/hyperic-hq-snmp-plugin-generator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pluginentwicklung mit Hyperic HQ Teil Eins</title>
		<link>http://blog.mirko-pluhar.de/2009/02/16/pluginentwicklung-mit-hyperic-hq-teil-eins/</link>
		<comments>http://blog.mirko-pluhar.de/2009/02/16/pluginentwicklung-mit-hyperic-hq-teil-eins/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 03:54:17 +0000</pubDate>
		<dc:creator>mirko</dc:creator>
				<category><![CDATA[Hyperic]]></category>

		<guid isPermaLink="false">http://blog.mirko-pluhar.de/?p=121</guid>
		<description><![CDATA[Entwicklung eines Plugins  fuer Hyperic HQ zur Ueberwachung des Applicationserver Zope]]></description>
			<content:encoded><![CDATA[<p>Hyperic HQ bietet durch seinen modularen Aufbau mehrere Moeglichkeiten, um die Funktionalitaet der Software zu erweitern. Zur Erweiterung stehen z.B. <a href="http://support.hyperic.com/display/hypcomm/HQU+Documentation">HQU-Plugins</a>, <a href="http://support.hyperic.com/display/DOC/Plugins+Tutorial" target="_blank">Product Plugins</a> oder die HQ API zur Verfuegung. In diesem Posting moechte ich aufzeigen, wie einfach es ist ein Product Plugin fuer Hyperic HQ zu entwickeln.<br />
Product Plugin bedeutet ein zugeschnittenes Plugin zur Ueberwachung eines Dienstes oder einer bestimmten Software.<br />
Beispielhaft soll der in Python geschriebene Applicationserver<a href="http://www.zope.org" target="_blank"> Zope</a> ueberwacht werden.</p>
<p>Folgende Parameter sollen beachtet werden:</p>
<ul>
<li>Ueberwachung von Zope spezifischen Metriken</li>
<li>Ausfuehren von Control Actions</li>
<li>Autodiscovery</li>
<li>moeglichst kein JAVA programmieren</li>
</ul>
<p>Zunaechst moechte ich die oben aufgefuehrten Punkte und Begriffe erlaeutern. Im Administrationsmenu des Zope Servers, dem Control Panel, lassen sich verschiedene Statusinformationen abrufen und einige weitere Metriken lassen sich durch die Zope API abfragen.  Die Firma<a href="http://www.gocept.com" target="_self"> gocept</a> aus Halle hat sich darueber schon Gedanken gemacht und ein entsprechendes Plugin fuer Open Source Monitoringsoftware <a href="http://www.nagios.org" target="_blank">Nagios</a> entwickelt.  Dieses Zope-Product <a href="http://svn.gocept.com/viewcvs/ZNagios/trunk/" target="_blank">ZNagios</a> dient als Grundlage um die Metriken aus Zope auszulesen.</p>
<p>Unter<a href="http://support.hyperic.com/display/DOC/Control+Plugin" target="_blank"> Control Actions</a> versteht man bei Hyperic HQ das Ausfuehren von beliebigen serverspezifischen Kommandos. Im Hyperic-Universum versteht man unter einem Server eine auf einer Plattform installierte Software. Als Beispiele fuer solche Kommandos kann man z.B. das Reorganisieren einer Datenbank, das Erstellen eines Snapshots einer VMWare Virtual Machine oder den Neustart eines Daemons nennen. Am Beispiel von Zope sollen  folgende Control Actions ausgefuehrt werden:  Stoppen, Starten, Restarten und den Abfragen des Serverstatus des Zope-Servers.</p>
<p>Die <a href="http://support.hyperic.com/display/DOC/Auto-Discovery" target="_blank">Autodiscovery</a>-Funktion ist eine der grossen Staerken von Hyperic HQ, wie auch bereits in einem frueheren <a href="http://blog.mirko-pluhar.de/?p=20" target="_blank">Posting</a> beschrieben. Nach Moeglichkeit sollen nach der Installation eines HQ Agent auf einer Plattform soviele Server und Services wie moeglich automatisch erkannt, zum Inventory des Servers hinzugefuegt und ueberwacht werden.</p>
<p>Der oder die installierten Zope-Server muessen auf dem System entdeckt und identifiziert werden. Da es bei Zope-Umgebungen nicht unueblich ist, mehrere Zope-Server auf einer Plattform laufen zu lassen muss hier leider noch haendisch Konfigurationsparameter geaendert werden. Die Autodiscovery-Funktion von Hyperic HQ gibt zur jetzigen Zeit (Version 4.0)  leider nicht her, mehrere Server eines Typs auf einer Plattform automatisch zu &#8220;entdecken&#8221;.</p>
<p>Nach Moeglichkeit sollen alle oben aufgefuehrten realisiert werden, ohne Java Code zu schreiben und ein handliches JAR-Paket zu schnueren. Stattdessen soll eine einzige XML-Datei ausreichen.</p>
<p>Bei der Plugin-Entwicklung mit Hyperic HQ gibt es zwei  grosse Fehler, die man unbedingt vermeiden sollte.  Ein Fehler besteht darin,  sein unfertiges Plugin  im Server einzuspielen zu testen.  Das Deployment des Plugins in der (womoeglich)  Hyperic HQ Produktitvumgebung sollte zu den letzten Schritten gehoeren. Fuer die Entwicklung und alle Tests reicht ein Hyperic HQ Agent voellig aus !</p>
<p>Der zweite Fehler ist eher eine architekturbedingte Schwachstelle in Hyperic HQ. Wird ein neuer Service in Hyperic HQ Server angelegt, sei es durch manuelles Hinzufuegen oder durch die Autodiscovery Funktion, erfolgt das auf Basis des zum Zeitpunkt des Imports vorhandenen Plugins und dessen Metriken und Funktionen. Sollte man sich zu einem spaeteren Zeitpunkt entscheiden Aenderungen an dem Plugin durchzufuehren, z.B.  neue Metriken  hinzufuegen, so haben diese Aenderungen nur Einfluesse auf Server, die neu in Hyperic HQ angelegt werden.<br />
Da die bereits angelegten Server auf Basis der alten Pluginversion erstellt wurden, werden die Aenderungen nicht wirksam. Die einzige Moeglichkeit besteht darin, die Server aus dem HQ Inventory  zu loeschen und neu anzulegen bzw. den naechsten Autodiscovery Durchlauf abzuwarten. Leider gehen alle bisher erfassten Daten und erstellten Alarme und Verknuepfungen verloren. Daher sollte man bei der Pluginentwicklung darauf achten, moeglichst alle Metriken und Funktionen zu implementieren.</p>
<p>Hier noch ein paar generelle Empfehlungen zur Pluginentwicklung:<br />
Wenn man im Lesen von JAVA Sourcecode geuebt ist, empfiehlt es sich den Sourcecode von Hyperic HQ bereitzuhaben.  Man kann einfach einen <a href="http://www.hyperic.com/community/" target="_blank">SVN-Abzug herunterladen</a>. Aus meiner Sicht ist die Dokumentation auf  den Webseiten von Hyperic und im Wiki recht umfangreich, jedoch ist es manchmal absolut noetig Konfigurationsparameter im Quelltext nachzulesen. Ausserdem hat man dadurch alle bei Hyperic HQ enthaltenen Plugins im Quelltext vorliegen.</p>
<p>Hyperic bietet mehrere vordefinierte Plugins, vielleicht am besten als Plugin Support Classes zu bezeichnen.  Es empfiehlt sich sein eigenes Plugin um diese Helper Klassen zu bauen. Dank dieser Helper Klassen braucht man auch nicht unbedingt Java zu programmieren <img src='http://blog.mirko-pluhar.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Ich habe damit begonnen Funktionen und Parameter der Plugin Support Classes zu <a href="http://support.hyperic.com/display/DOC/Plugin+Support+Classes" target="_blank">dokumentieren</a>.</p>
<p>Die Monitoringsoftware Nagios bietet eine Vielzahl an Plugins fuer diverse Software. Um das Rad nicht zu erfinden, nimmt man ein bestehendes Nagios Plugin als Grundlage. Anlaufstelle fuer Nagios Plugins ist <a href="http://www.nagiosexchange.org">nagiosexchange.org</a></p>
<p>Die ZNagios Erweiterung  fuer Zope liefert unter einer  mit HTTP Authentication geschuetzten URL die erfassten Metriken zurueck. Um die Metriken mit Hyperic HQ zu verarbeiten muessen sie zunaechst ausgelesen und in die   <a href="http://support.hyperic.com/display/DOC/Script+Plugin" target="_blank">Notation</a> <em> key=value </em> umgewandelt werden. Dazu wird das <a href="http://support.hyperic.com/display/DOC/Script+Plugin" target="_blank">Hyperic Script-Plugin</a> verwendet. Mit Hilfe dieses Plugins koennen beliebige Programme/Scripte ausgefuehrt werden.  Um die Werte auszulesen kann man z.B.  ein Script um die Programme curl oder wget schreien  oder sich an dem Plugin fuer <a href="http://code.google.com/p/nginx-hyperic/source/browse/trunk/nginx-plugin.xml" target="_blank">nginx</a> orientieren und ein in Python geschriebenes Script verwenden.</p>
<p>Die ZNagios Erweiterung liefert die Daten in folgendem Format zurueck:</p>
<pre>uptime: 835.0
db-objects: 2719.0
db-stores: 0.0
db-cache-total-size: 52.0
db-cache-conn0-total-objects: 280.0
db-loads: 0.0
db-cache-conn0-active-objects: 52.0
db-bytes: 1370966.0
errors-total: 0.0
db-connections: 0.0
db-cache-target-size: 5000.0
refcount-total: 17193.0</pre>
<p>Die Daten muessen also folgendermassen umformatiert werden:</p>
<pre>uptime=835.0</pre>
<p>Wir gehen mal davon aus das wir uns unter Unix/Linux befinden und das durch einen einfachen sed Kommando erreicht werden. Mit dem Skript ist ein wesentlicher Teil des Zope-Plugins fertiggestellt. Es handelt sich um ein einfaches Shell Skript an das vier Argumente uebergeben werden muessen.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$#</span> <span style="color: #660033;">-ne</span> <span style="color: #000000;">4</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">else</span>
&nbsp;
<span style="color: #007800;">ZOPE_URL</span>=<span style="color: #ff0000;">'http://'</span>$<span style="color: #000000;">1</span><span style="color: #ff0000;">':'</span>$<span style="color: #000000;">2</span><span style="color: #ff0000;">'/Control_Panel/munin'</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-x</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>curl <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>curl <span style="color: #660033;">-u</span> $<span style="color: #000000;">3</span>:$<span style="color: #000000;">4</span> <span style="color: #007800;">$ZOPE_URL</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sed</span> s<span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;: &quot;</span><span style="color: #000000; font-weight: bold;">/</span>=<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span>
<span style="color: #000000; font-weight: bold;">else</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-x</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">--user</span>=$<span style="color: #000000;">3</span> <span style="color: #660033;">--password</span>=$<span style="color: #000000;">4</span> <span style="color: #660033;">-qO-</span> <span style="color: #007800;">$ZOPE_URL</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sed</span> s<span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;: &quot;</span><span style="color: #000000; font-weight: bold;">/</span>=<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span></pre></div></div>

<p>Die Skript Argumente der Reihenfolge nach: Hostname oder IP-Adresse des Zope-Servers, Port, Nutzername und Passwort.<br />
Der  Plugin XML Descriptor sieht zum derzeitigen Stand folgendermasssen aus:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
&nbsp;
<span style="color: #00bbdd;">&lt;!DOCTYPE plugin [</span>
<span style="color: #00bbdd;">  &lt;!ENTITY process-metrics SYSTEM &quot;/pdk/plugins/process-metrics.xml&quot;&gt;</span>
]&gt;
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;plugin<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;server</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;Zope&quot;</span></span>
<span style="color: #009900;">          <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;2.x&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;config<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;option</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;process.query&quot;</span></span>
<span style="color: #009900;">              <span style="color: #000066;">description</span>=<span style="color: #ff0000;">&quot;Process Query&quot;</span></span>
<span style="color: #009900;">              <span style="color: #000066;">default</span>=<span style="color: #ff0000;">&quot;State.Name.ct=python,Args.1.ct=Zope2/Startup/run.py&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;option</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;hostname&quot;</span></span>
<span style="color: #009900;">              <span style="color: #000066;">description</span>=<span style="color: #ff0000;">&quot;Zope IP-address or hostname&quot;</span></span>
<span style="color: #009900;">              <span style="color: #000066;">default</span>=<span style="color: #ff0000;">&quot;localhost&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;option</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;port&quot;</span></span>
<span style="color: #009900;">              <span style="color: #000066;">description</span>=<span style="color: #ff0000;">&quot;Zope HTTP port&quot;</span></span>
<span style="color: #009900;">	      <span style="color: #000066;">default</span>=<span style="color: #ff0000;">&quot;8080&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;option</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;username&quot;</span></span>
<span style="color: #009900;">              <span style="color: #000066;">description</span>=<span style="color: #ff0000;">&quot;Zope username&quot;</span></span>
<span style="color: #009900;">	      <span style="color: #000066;">default</span>=<span style="color: #ff0000;">&quot;zopeadm&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;option</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;credentials&quot;</span></span>
<span style="color: #009900;">              <span style="color: #000066;">description</span>=<span style="color: #ff0000;">&quot;Zope password&quot;</span></span>
<span style="color: #009900;">	      <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;secret&quot;</span></span>
<span style="color: #009900;">	      <span style="color: #000066;">default</span>=<span style="color: #ff0000;">&quot;changeme&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/config<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;PROC_QUERY&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;State.Name.ct=python,Args.1.ct=Zope2/Startup/run.py&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;plugin</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;autoinventory&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;org.hyperic.hq.product.DaemonDetector&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;plugin</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;measurement&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;org.hyperic.hq.product.MeasurementPlugin&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;metric</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;Availability&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">alias</span>=<span style="color: #ff0000;">&quot;Availability&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">template</span>=<span style="color: #ff0000;">&quot;sigar:Type=ProcState,Arg=%process.query%:State&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">category</span>=<span style="color: #ff0000;">&quot;AVAILABILITY&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">indicator</span>=<span style="color: #ff0000;">&quot;true&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">units</span>=<span style="color: #ff0000;">&quot;percentage&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">collectionType</span>=<span style="color: #ff0000;">&quot;dynamic&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
    <span style="color: #ddbb00;">&amp;process-metrics;</span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;template&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;exec:args=%hostname% %port% %username% %credentials%,file=pdk/work/scripts/zope/zope-stat:${alias}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;metric</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;uptime&quot;</span> </span>
<span style="color: #009900;">         <span style="color: #000066;">units</span>=<span style="color: #ff0000;">&quot;sec&quot;</span></span>
<span style="color: #009900;">	 <span style="color: #000066;">indicator</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;metric</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;db-objects&quot;</span></span>
<span style="color: #009900;">	 <span style="color: #000066;">indicator</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/plugin<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Im zweiten Teil nehmen wir den Plugin Descriptor auseinander. Fortsetzung folgt.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mirko-pluhar.de/2009/02/16/pluginentwicklung-mit-hyperic-hq-teil-eins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SIGAR with ZFS support</title>
		<link>http://blog.mirko-pluhar.de/2009/02/15/sigar-with-zfs-support/</link>
		<comments>http://blog.mirko-pluhar.de/2009/02/15/sigar-with-zfs-support/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 07:56:06 +0000</pubDate>
		<dc:creator>mirko</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Hyperic]]></category>
		<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[zfs]]></category>

		<guid isPermaLink="false">http://blog.mirko-pluhar.de/?p=301</guid>
		<description><![CDATA[Monitor ZFS filesystems with Hyperic SIGAR]]></description>
			<content:encoded><![CDATA[<p>Great that SIGAR 1.6.2 supports ZFS filesystems. What is up next ? IPMP support ?</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">root<span style="color: #000000; font-weight: bold;">@</span>domU-<span style="color: #000000;">12</span>-<span style="color: #000000;">31</span>-<span style="color: #000000;">39</span>-00-B5-<span style="color: #000000;">63</span>:<span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>hyperic<span style="color: #000000; font-weight: bold;">/</span>sigar<span style="color: #666666; font-style: italic;"># java -jar sigar.jar</span>
sigar<span style="color: #000000; font-weight: bold;">&gt;</span> version
Sigar version.......java=1.6.2.7, <span style="color: #007800;">native</span>=1.6.2.7
Build date..........java=02<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">13</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2009</span> 04:05 AM, <span style="color: #007800;">native</span>=02<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">13</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2009</span> 05:<span style="color: #000000;">25</span> AM
SCM rev.............java=ae289d3, <span style="color: #007800;">native</span>=ae289d3
Archlib.............libsigar-x86-solaris.so
Current fqdn........domU-<span style="color: #000000;">12</span>-<span style="color: #000000;">31</span>-<span style="color: #000000;">39</span>-00-B5-63.compute-1.internal
Current user........root
&nbsp;
OS description......Solaris <span style="color: #000000;">11</span>
OS name.............Solaris
OS arch.............i386
OS machine..........i86pc
OS version..........5.11
OS <span style="color: #c20cb9; font-weight: bold;">patch</span> level......unknown
OS vendor...........Sun Microsystems
OS vendor version...11
OS code name........
OS data model.......32
OS cpu endian.......little
Java vm version.....11.0-b15
Java vm vendor......Sun Microsystems Inc.
Java home...........<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>jdk<span style="color: #000000; font-weight: bold;">/</span>instances<span style="color: #000000; font-weight: bold;">/</span>jdk1.6.0<span style="color: #000000; font-weight: bold;">/</span>jre
sigar<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">df</span>
Filesystem      Size Used Avail Use<span style="color: #000000; font-weight: bold;">%</span> Mounted on      Type
rpool<span style="color: #000000; font-weight: bold;">/</span>ROOT<span style="color: #000000; font-weight: bold;">/</span>opensolaris 8.6G 2.8G  5.8G  <span style="color: #000000;">33</span><span style="color: #000000; font-weight: bold;">%</span> <span style="color: #000000; font-weight: bold;">/</span>               zfs<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">local</span>
<span style="color: #000000; font-weight: bold;">/</span>devices          <span style="color: #000000;">0</span>    <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span>     - <span style="color: #000000; font-weight: bold;">/</span>devices        devfs<span style="color: #000000; font-weight: bold;">/</span>none
<span style="color: #000000; font-weight: bold;">/</span>dev              <span style="color: #000000;">0</span>    <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span>     - <span style="color: #000000; font-weight: bold;">/</span>dev            dev<span style="color: #000000; font-weight: bold;">/</span>none
ctfs              <span style="color: #000000;">0</span>    <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span>     - <span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>contract ctfs<span style="color: #000000; font-weight: bold;">/</span>none
proc              <span style="color: #000000;">0</span>    <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span>     - <span style="color: #000000; font-weight: bold;">/</span>proc           proc<span style="color: #000000; font-weight: bold;">/</span>none
mnttab            <span style="color: #000000;">0</span>    <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span>     - <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>mnttab     mntfs<span style="color: #000000; font-weight: bold;">/</span>none
swap            1.6G 324K  1.6G    - <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>svc<span style="color: #000000; font-weight: bold;">/</span>volatile tmpfs<span style="color: #000000; font-weight: bold;">/</span>none
objfs             <span style="color: #000000;">0</span>    <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span>     - <span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>object  objfs<span style="color: #000000; font-weight: bold;">/</span>none
sharefs           <span style="color: #000000;">0</span>    <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span>     - <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>dfs<span style="color: #000000; font-weight: bold;">/</span>sharetab sharefs<span style="color: #000000; font-weight: bold;">/</span>none
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>libc<span style="color: #000000; font-weight: bold;">/</span>libc_hwcap3.so.1 8.6G 2.8G  5.8G  <span style="color: #000000;">33</span><span style="color: #000000; font-weight: bold;">%</span> <span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>libc.so.1  lofs<span style="color: #000000; font-weight: bold;">/</span>none
fd                <span style="color: #000000;">0</span>    <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span>     - <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>fd         fd<span style="color: #000000; font-weight: bold;">/</span>none
swap            1.6G  36K  1.6G    - <span style="color: #000000; font-weight: bold;">/</span>tmp            tmpfs<span style="color: #000000; font-weight: bold;">/</span>none
swap            1.6G  44K  1.6G    - <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>run        tmpfs<span style="color: #000000; font-weight: bold;">/</span>none
rpool<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">export</span>    5.8G  19K  5.8G    - <span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">export</span>         zfs<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">local</span>
rpool<span style="color: #000000; font-weight: bold;">/</span>export<span style="color: #000000; font-weight: bold;">/</span>home 5.8G  18K  5.8G    - <span style="color: #000000; font-weight: bold;">/</span>export<span style="color: #000000; font-weight: bold;">/</span>home    zfs<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">local</span>
rpool           5.8G  72K  5.8G    - <span style="color: #000000; font-weight: bold;">/</span>rpool          zfs<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">local</span>
mnt             147G 793K  147G    - <span style="color: #000000; font-weight: bold;">/</span>mnt            zfs<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">local</span>
sigar<span style="color: #000000; font-weight: bold;">&gt;</span></pre></div></div>

<p>Check it out right here:</p>
<p>http://svn.hyperic.org/projects/sigar_bin/dist/SIGAR_1_6_2/lib/</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mirko-pluhar.de/2009/02/15/sigar-with-zfs-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kochrezept: Metriken bei Hyperic HQ Plugins</title>
		<link>http://blog.mirko-pluhar.de/2009/02/09/kochrezept-metriken-bei-hyperic-hq-plugins/</link>
		<comments>http://blog.mirko-pluhar.de/2009/02/09/kochrezept-metriken-bei-hyperic-hq-plugins/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 04:19:07 +0000</pubDate>
		<dc:creator>mirko</dc:creator>
				<category><![CDATA[Hyperic]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[entwicklung]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://blog.mirko-pluhar.de/?p=289</guid>
		<description><![CDATA[Ein kleines Kochrezept fuer Pluginentwicklung mit Hyperic HQ]]></description>
			<content:encoded><![CDATA[<p>Programmiert  man ein eigene Plugin fuer Hyperic HQ, steht man vor der Herausforderung weitere Metriken hinzufuegen zu wollen, weil man an diese bei der ersten Version seines Plugins nicht gedacht hat oder die Anforderung nicht da war.  Ist jedoch ein Plugin einmal deployed und entsprechende Instanzen angelegt kann man keine weiteren Metriken zur Datensammlung hinzufuegen, ohne die Instanz zu loeschen und alle bisher gesammelten Daten und Verknuepfungen zu verlieren.  Bei reinen XML basierten Plugins wie z.B bei Script Plugins koennte man jedoch sich eine Art Platzhalter schaffen, in Form von Metriken die man nicht verwendet aber jederzeit aktivieren kann.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;metric</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;custommetric1&quot;</span></span>
<span style="color: #009900;"><span style="color: #000066;">indicator</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;metric</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;custommetric2&quot;</span></span>
<span style="color: #009900;"><span style="color: #000066;">indicator</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>Ich weiss nicht ob es unbedingt clever ist, aber ich kenne derzeit keine andere Alternative.<br />
Die Nachteile der Loesung: der Metrikname ist derzeit nicht veraenderbar und allgemein gehaltene Namen wie custommetric2 nicht eindeutig.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mirko-pluhar.de/2009/02/09/kochrezept-metriken-bei-hyperic-hq-plugins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hyperic HQ Agent Performance Optimization</title>
		<link>http://blog.mirko-pluhar.de/2009/01/19/hyperic-hq-agent-performance-optimization/</link>
		<comments>http://blog.mirko-pluhar.de/2009/01/19/hyperic-hq-agent-performance-optimization/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 21:05:19 +0000</pubDate>
		<dc:creator>mirko</dc:creator>
				<category><![CDATA[Hyperic]]></category>
		<category><![CDATA[Suse]]></category>

		<guid isPermaLink="false">http://blog.mirko-pluhar.de/?p=239</guid>
		<description><![CDATA[Running low on memory on your HQ Agent platforms ? Try to get rid of some useless plugins]]></description>
			<content:encoded><![CDATA[<p>Normally HQ loads every plugin available. You might disable some plugins that you do not need or plugins for software which is not available on your platform.<br />
This is the full list of all currently shipped plugins:</p>
<p><code>activemq alfresco apache bind coldfusion db2 dotnet exchange geronimo glassfish groovy-scripting hqagent hq-internal iis informix iplanet jboss jetty jmx memcached mqseries mssql mysql nagios netdevice netservices ntds ntp oc4j openldap oracle perlbal postfix postgresql resin samba sendmail servlet sqlquery sybase system tomcat vim vmware weblogic websphere xen zimbra<br />
</code><br />
For example on non-MS Windows platforms it makes sense to add the following line to your <code>agent.properties</code> file to blacklist the plugins:</p>
<p><code>plugins.exclude=exchange,iis,dotnet,mssql</code></p>
<p>It saves you some memory and maybe some CPU time for autodiscovery every 15 minutes <img src='http://blog.mirko-pluhar.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>On virtual guests you could probably add the following line:</p>
<p><code>plugins.exclude=vmware,xen</code></p>
<p>Currently only blacklisting of plugins is possible. Don&#8217;t forget to include plugins if you change the software set on your server .<br />
If you&#8217;re not sure what the plugin is for, don&#8217;t exclude it <img src='http://blog.mirko-pluhar.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mirko-pluhar.de/2009/01/19/hyperic-hq-agent-performance-optimization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hyperic HQ 3.2.4 is out now</title>
		<link>http://blog.mirko-pluhar.de/2008/07/09/hyperic-hq-324-is-out-now/</link>
		<comments>http://blog.mirko-pluhar.de/2008/07/09/hyperic-hq-324-is-out-now/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 05:35:34 +0000</pubDate>
		<dc:creator>mirko</dc:creator>
				<category><![CDATA[Hyperic]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[OpenSolaris]]></category>

		<guid isPermaLink="false">http://blog.mirko-pluhar.de/?p=55</guid>
		<description><![CDATA[Official Announcement.
Okay, this is only a minor release but there are a lot of important bux fixes and since the upgrade process works fine every time I upgraded, I definetly encourage everybody to upgrade their installations. Don&#8217;t forget to upgrade your HQ Agents ! You&#8217;ll find a list of all Agents with version numbers in [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Announcement" href="http://www.hyperic.com/blog/hyperic/2008/07/08/hq-324-is-now-available/" target="_blank">Official Announcement.</a></p>
<p>Okay, this is only a minor release but there are a lot of important bux fixes and since the upgrade process works fine every time I upgraded, I definetly encourage everybody to upgrade their installations. Don&#8217;t forget to upgrade your HQ Agents ! You&#8217;ll find a list of all Agents with version numbers in <a href="http://blog.mirko-pluhar.de/?p=3" target="_blank">HQ Health</a>.</p>
<p>Also included in 3.2.4: Postgres 8.2.3  and Exchange 2007 support</p>
<p>I&#8217;ll create some Solaris Packages for the Agent in the next couple of days.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mirko-pluhar.de/2008/07/09/hyperic-hq-324-is-out-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Troubleshooting Hyperic HQ with HQ Health</title>
		<link>http://blog.mirko-pluhar.de/2008/06/15/troubleshooting-hyperic-hq-with-hq-health/</link>
		<comments>http://blog.mirko-pluhar.de/2008/06/15/troubleshooting-hyperic-hq-with-hq-health/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 08:32:27 +0000</pubDate>
		<dc:creator>mirko</dc:creator>
				<category><![CDATA[Hyperic]]></category>

		<guid isPermaLink="false">http://blog.mirko-pluhar.de/?p=3</guid>
		<description><![CDATA[I&#8217;ve posted the translation of this article on HyperForge and I think this is also worthful to post it on my blog.
Starting with version 3.2 Hyperic HQ offers a new function called HQ Health. You can find the function in the Administration Menu Administration -&#62; Plugins -&#62; HQ Health
HQ Health offers a lot of metrics [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve posted the translation of <a href="http://duennes.wordpress.com/2008/02/25/troubleshooting-mit-hq-health/">this article</a> on <a href="http://support.hyperic.com/confluence/display/hypcomm/Troubleshooting+with+HQ+Health">HyperForge</a> and I think this is also worthful to post it on my blog.</p>
<p>Starting with version 3.2 Hyperic HQ offers a new function called HQ Health. You can find the function in the Administration Menu Administration -&gt; Plugins -&gt; HQ Health</p>
<p>HQ Health offers a lot of metrics like memory usage of the server, information about caching params and load and a complete list of all HQ Agents connected to this particular HQ Server.<br />
If you experience connection problems between HQ Server and Agent or if a platform shows up as unavailable in HQ when it&#8217;s definetly available HQ Health is the first tool I recommend you to debug the problem.<br />
HQ Health offers the following informations about connected Agents:</p>
<p><strong>FQDN</strong></p>
<p>This is the identifier of the <span class="nobr"><a rel="nofollow" href="http://support.hyperic.com/confluence/display/DOC/Inventory+Model#InventoryModel-platform">platform<sup><img class="rendericon" src="http://support.hyperic.com/confluence/images/icons/linkext7.gif" border="0" alt="" width="7" height="7" align="absmiddle" /></sup></a></span> within HQ Server</p>
<p>Address<br />
IP-Address for communication from Server to Agent</p>
<p><strong>Port</strong></p>
<p>Port on Agent side for communication from Server to Agent. Default port is 2144. You&#8217;ve to allow connections from HQ Server to the Address and the Port. Check this by run telnet &lt;Address&gt; &lt;Port&gt;  is a good idea. This is an example for a proper connect:</p>
<div class="preformatted">
<div class="preformattedContent">
<pre>mpluhar@biollante:/tmp$ telnet 192.168.1.114 2144
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^\]'.
GET

Connection closed by foreign host.</pre>
</div>
</div>
<p>If you get a timeout or no connection, check your  HQ Agent configuration and your firewall and network configuration.</p>
<p><strong>Version</strong></p>
<p>Shows the version number of your HQ Agent. Hyperic HQ is backward compatible. So you may run Hyperic HQ Server 3.2.x with 3.1.x Agents, but I strongly encourage you to run the latest version. If you have any problems with Hyperic HQ upgrade Server and Agents to the latest version and check the version of your Agents with HQ Health.</p>
<p><strong>Creation Time</strong></p>
<p>Creation Time shows you the date when you made the initial setup the platform within Hyperic HQ Server</p>
<p><strong>#Platforms</strong></p>
<p>The number of platforms this Agent is collecting data for. For example an agentless device like an <a title="SNMP Plugin" href="http://support.hyperic.com/confluence/display/DOC/SNMP+Plugin">SNMP</a>-device is a platform, too.</p>
<p><strong>#Metrics</strong></p>
<p>This is the number of metrics which an Agent collects. Try to balance the number of metrics within different HQ Agents and try to avoid to make a single Agent collect  thousand metrics for all SNMP devices in your network. You create a single point of failure and if the Agent plaform fails, you&#8217;re in trouble monitoring the child devices. Furthermore if the host ist not a dedicated monitoring host, you maybe downgrade the performance of other services you&#8217;re running on the host.</p>
<p><strong>Time Offset</strong></p>
<p>Time Offset shows the offset in ms between HQ Server and Agent. Time synchronisation on HQ Server and HQ Agents is very important to determine the availability of platforms and services correctly. If you see huge values here, you&#8217;re in trouble. Try to setup NTP-daemons on your Server and Agent hosts. Of course, you can monitor your NTP-daemon with Hyperic HQ and fire up an alarm if the offset becomes too big. Single or double digit values are okay. If you see a question mark, your HQ Agent seems to be inactive<br />
Currently with Hyperic HQ 3.2.x it&#8217;s not possible to run HQ Agents and Server in different time zones.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mirko-pluhar.de/2008/06/15/troubleshooting-hyperic-hq-with-hq-health/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Troubleshooting mit HQ Health</title>
		<link>http://blog.mirko-pluhar.de/2008/02/25/troubleshooting-mit-hq-health/</link>
		<comments>http://blog.mirko-pluhar.de/2008/02/25/troubleshooting-mit-hq-health/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 19:43:45 +0000</pubDate>
		<dc:creator>mirko</dc:creator>
				<category><![CDATA[Hyperic]]></category>

		<guid isPermaLink="false">http://duennes.wordpress.com/?p=53</guid>
		<description><![CDATA[Mit der Version 3.2 von Hyperic HQ steht eine neu Funktion HQ Health zur Verfügung. Man findet sie etwas versteckt unter Administration -&#62; Plugins &#8220;HQ Health&#8221;.
Neben vielen Angaben zur Speicherauslastung, Caching und Last ist unter dem Reiter &#8220;Agents&#8221; eine Liste aller mit dem HQ Server verbundenen Agents, sowie weitere Infos verfügbar.
Diese Infos sind vor allem [...]]]></description>
			<content:encoded><![CDATA[<p>Mit der Version 3.2 von Hyperic HQ steht eine neu Funktion HQ Health zur Verfügung. Man findet sie etwas versteckt unter Administration -&gt; Plugins &#8220;HQ Health&#8221;.</p>
<p>Neben vielen Angaben zur Speicherauslastung, Caching und Last ist unter dem Reiter &#8220;Agents&#8221; eine Liste aller mit dem HQ Server verbundenen Agents, sowie weitere Infos verfügbar.</p>
<p>Diese Infos sind vor allem hilfreich wenn man Verbindungsprobleme zwischen HQ Server und Agent feststellt oder Metriken zwischen Agent und Server nicht übermittelt werden bzw. die überwachte Plattform scheinbar nicht verfügbar ist.</p>
<p>HQ Health zeigt unter &#8220;Agents&#8221; folgende Parameter an:</p>
<p><b> FQDN </b></p>
<p>Der Full Qualified  Domain Name ist wichtig, um die Plattform innerhalb des HQ Server zu identifizieren</p>
<p><b>Adress</b></p>
<p>Gibt die IP-Adresse an, mit der die Kommunikation vom  HQ Server zum Agent erfolgt.</p>
<p><b>Port</b></p>
<p>Zeigt den Port an der zur Kommunikation zwischen Server in Richtung Agent verwendet wird. Standard ist hier 2144. Dieser Port muss vom HQ Server aus auf der Agent Plattform erreichbar sein.</p>
<p><b>Version</b></p>
<p>Zeigt die Versionsnummer des HQ Agent an. Hyperic HQ ist abwärtskompatibel. Es lassen sich z.B. HQ Agents Version 3.1.1 an einem HQ Server Version 3.2 betreiben.</p>
<p><b>Creation Time</b></p>
<p>Gibt an, wann das Setup des HQ Agent der jeweiligen Plattform an den HQ Server erfolgt ist</p>
<p><b># Platforms</b></p>
<p>Die Anzahl der Plattform für die der jeweilige Agent Metriken erfasst. Als Plattform zählen u.a. auch alle Arten von  SNMP-Geräte</p>
<p><b># Metrics</b></p>
<p>Stellt die Anzahl der Metriken dar, die vom Agent erfasst werden. Man sollte versuchen, die Last, die durch den HQ Agent erzeugt wird,  zu verteilen und vermeiden das z.B. eine Plattform für alle SNMP-Geräte im Netzwerk  die Metriken erfasst.</p>
<p><b>Time Offset</b></p>
<p>Time Offset stellt die Abweichung in ms von der HQ Server-Zeit dar. Eine genaue Synchronisation zwischen Agents und Servern ist notwendig, um eine korrekte Übermittlung der Metriken an den Server und zuverlässige Informationen zur Verfügbarkeit zu erhalten.  Es ist derzeit nicht möglich HQ Agents und Server in unterschiedlichen Zeitzonen zu betreiben.</p>
<p><a href="http://duennes.files.wordpress.com/2008/02/2008-02-25-201929_1152x864.png" title="Hyperic HQ Health"><img src="http://duennes.files.wordpress.com/2008/02/2008-02-25-201929_1152x864.thumbnail.png" alt="Hyperic HQ Health" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mirko-pluhar.de/2008/02/25/troubleshooting-mit-hq-health/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Endlich mal was Neues</title>
		<link>http://blog.mirko-pluhar.de/2008/02/25/endlich-mal-was-neues/</link>
		<comments>http://blog.mirko-pluhar.de/2008/02/25/endlich-mal-was-neues/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 19:09:07 +0000</pubDate>
		<dc:creator>mirko</dc:creator>
				<category><![CDATA[Hyperic]]></category>

		<guid isPermaLink="false">http://duennes.wordpress.com/?p=52</guid>
		<description><![CDATA[Nachdem ich Ende 1999 schon einmal namentlich und mit Foto in der Presse  erwähnt wurde, werde ich jetzt immerhin indirekt erwähnt.
Die Titel Community Manager kling übrigens sehr spannend.  Man kümmert sich um die Nutzer, schreibt ein bischen Doku und löscht Angebote chinesischer Import/Export Firmen aus den Foren.
]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich Ende 1999 schon einmal namentlich und mit Foto in der Presse  erwähnt wurde, werde ich jetzt immerhin <a href="http://www.computerwoche.de/produkte_technik/software/1856447/" target="_blank">indirekt erwähnt</a>.</p>
<p>Die Titel Community Manager kling übrigens sehr spannend.  Man kümmert sich um die Nutzer, schreibt ein bischen Doku und löscht Angebote chinesischer Import/Export Firmen aus den Foren.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mirko-pluhar.de/2008/02/25/endlich-mal-was-neues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tomcat 6 Monitoring</title>
		<link>http://blog.mirko-pluhar.de/2007/10/03/tomcat-6-monitoring/</link>
		<comments>http://blog.mirko-pluhar.de/2007/10/03/tomcat-6-monitoring/#comments</comments>
		<pubDate>Wed, 03 Oct 2007 18:45:50 +0000</pubDate>
		<dc:creator>mirko</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Hyperic]]></category>

		<guid isPermaLink="false">http://duennes.wordpress.com/2007/10/03/tomcat-6-monitoring/</guid>
		<description><![CDATA[Ich habe ja bereits an anderer Stelle beschrieben wie man Tomcat 5.x  überwachen kann. Mit der Tomcat Version 6.0 wird die ganze Sache noch einfacher und eleganter, da Tomcat 6 die JMX Technologie unterstützt und Hyperic HQ auch. Es entfällt also das Deployen einer Webapp zur Überwachung des Application Servers. Es genügt einen bestimmten Port [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe ja bereits an anderer Stelle beschrieben wie man <a href="http://duennes.wordpress.com/2007/05/31/hyperic-configure-tomcat-50-for-monitoring-in-ubuntu/" target="_blank">Tomcat 5.x  überwachen</a> kann. Mit der Tomcat Version 6.0 wird die ganze Sache noch einfacher und eleganter, da Tomcat 6 die <a href="http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/">JMX</a> Technologie unterstützt und <a href="http://www.hyperic.com">Hyperic HQ</a> auch. Es entfällt also das Deployen einer Webapp zur Überwachung des Application Servers. Es genügt einen bestimmten Port für JMX zu konfigurieren und einen anonymen Zugriff freizuschalten und Hyperic überwacht den Tomcat. Ein genaue Beschreibung gibt es <a href="http://support.hyperic.com/confluence/display/hypcomm/Apache+Tomcat+6.0+server" target="_blank">hier</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mirko-pluhar.de/2007/10/03/tomcat-6-monitoring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
