<?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>Hypervisor.fr &#187; monitoring</title>
	<atom:link href="http://www.hypervisor.fr/?feed=rss2&#038;tag=monitoring" rel="self" type="application/rss+xml" />
	<link>http://www.hypervisor.fr</link>
	<description>French Bare-Metal weblog</description>
	<lastBuildDate>Wed, 26 Jun 2024 22:42:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Monitor, like a boss.</title>
		<link>http://www.hypervisor.fr/?p=5604</link>
		<comments>http://www.hypervisor.fr/?p=5604#comments</comments>
		<pubDate>Thu, 22 Oct 2015 19:34:43 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[VSAN]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[cacti]]></category>
		<category><![CDATA[carbon]]></category>
		<category><![CDATA[grafana]]></category>
		<category><![CDATA[graphite]]></category>
		<category><![CDATA[monitoring]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5604</guid>
		<description><![CDATA[Si comme nous, vous cherchiez une solution de monitoring cluster centric, ne cherchez plus. Nous l&#8217;avons faites pour vous :

Très loin des dashboard cacti fastidieux à réaliser et limités en scalabilité, nous avons voulu une appliance la simple possible : deploy, add vcenter, relax!

]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Si comme nous, vous cherchiez une solution de monitoring cluster centric, ne cherchez plus. <strong><a href="http://www.sexigraf.fr/" target="_blank">Nous l&#8217;avons faites pour vous</a> </strong>:</p>
<p style="text-align: center;"><a href="http://www.sexigraf.fr/"><img class=" aligncenter" title="Enter SexiGraf" src="http://files.hypervisor.fr/img/SexiGraf_Enter.png" alt="" width="521" height="353" /></a></p>
<p style="text-align: justify;">Très loin <a href="https://github.com/rschitz/vCacti" target="_blank">des dashboard cacti fastidieux à réaliser et limités en scalabilité</a>, nous avons voulu une appliance la simple possible : <strong>deploy</strong>, <strong>add vcenter</strong>, <strong>relax</strong>!</p>
<p style="text-align: center;"><a href="http://files.sexigraf.fr/seximeetup/sexigraf/"><img class="aligncenter" src="http://files.sexigraf.fr/seximeetup/sexigraf/img/hannibal.png" alt="" width="359" height="443" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5604</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Storage DRS jet lag</title>
		<link>http://www.hypervisor.fr/?p=4745</link>
		<comments>http://www.hypervisor.fr/?p=4745#comments</comments>
		<pubDate>Sat, 18 May 2013 23:40:08 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[SDRS]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4745</guid>
		<description><![CDATA[Suite à la publication de l’excellent Understanding VMware vSphere 5.1 Storage DRS rédigé (et surtout illustré) par Frank Denneman, nous nous permettons une petite remarque au sujet de la réactivité de SDRS lors du dépassement du seuil de remplissage. Dans le white paper, on peut lire ceci :
vSphere Storage DRS attempts to avoid an out-of-space situation [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Suite à la publication de l’excellent <a href="http://www.vmware.com/resources/techresources/10363" target="_blank">Understanding VMware vSphere 5.1 Storage DRS</a> rédigé (et surtout illustré) par Frank Denneman, nous nous permettons une petite remarque <strong>au sujet de la réactivité de SDRS lors du dépassement du seuil de remplissage</strong>. Dans le white paper, on peut lire ceci :</p>
<blockquote><p>vSphere Storage DRS attempts to avoid an out-of-space situation and therefore runs a load-balancing operation <strong>as soon as</strong> the datastore exceeds its space-utilization threshold. <strong>This operation can be outside of the normal load-balancing interval of every 8 hours</strong>.</p></blockquote>
<p style="text-align: justify;">La première phrase est aussi intéressante qu&#8217;imprécise. On y apprend que la réaction est immédiate mais aussi qu&#8217;elle dépend de vCenter. Et suite à une batterie de tests sur différents environnement (5.0 et 5.1), nous avons remarqué que la fréquence de rafraîchissement de cette information dans vCenter n&#8217;est malheureusement que d&#8217;<strong>une (1) fois toutes les 30 minutes au mieux</strong>. (on soupçonne un algorithme basé sur l&#8217;utilisation du datastore mais visiblement pas encore très efficace). Pour le vérifier, rien de tel qu&#8217;un petit oneliner de PowerCLI qui check la propriété info.timestamp des datastores :</p>
<pre class="brush: powershell; title: ; notranslate">Get-View -ViewType datastore -property info,name,summary|?{$_.summary.accessible}|select name,{$_.info.timestamp.ToLocalTime()}</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/datastore_timestamp.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/datastore_timestamp.png" alt="" width="496" height="222" /></a></p>
<p style="text-align: justify;">On constate donc qu&#8217;un des pilier de SDRS repose sur une donnée dont la fiabilité peut malheureusement varier et dont la fraîcheur peut laisser à désirer même dans le cas des 30 minutes. En attendant que ça bouge coté VMware, voici un workaround (<a href="http://kb.vmware.com/kb/2008367" target="_blank">nettement moins dingue que celui d&#8217;une certaine kb</a>), qui consiste à forcer le refresh rapide à votre convenance <strong>sans que la tache n&#8217;apparaisse dans le vCenter</strong> (<a href="http://vijava.sourceforge.net/vSphereAPIDoc/ver51/ReferenceGuide/vim.Datastore.html#refresh" target="_blank">merci le SDK</a>). Dans notre exemple, refresh de tous les datastores dont la propriété info.timestamp serait &#8220;veille&#8221; de plus de 5 minutes :</p>
<pre class="brush: powershell; title: ; notranslate">Get-View -ViewType datastore -property info,summary|?{$_.summary.accessible}|?{($(get-date) - $_.info.timestamp.ToLocalTime()).TotalMinutes -gt 5}|%{$_.RefreshDatastore()}</pre>
<p>La seconde phrase de la citation, c&#8217;est un RTFM politiquement correct pour ceux qui font encore l&#8217;amalgame entre les 8h d&#8217;intervales de l&#8217;<strong>I/O load balancing</strong> et le <strong>Space-Utilization Load Balancing</strong>.</p>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/vmware_sdrs.jpg" alt="" width="500" height="277" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4745</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PSH] Les alarmes de datastore qui manquent à vCenter (par cluster)</title>
		<link>http://www.hypervisor.fr/?p=4039</link>
		<comments>http://www.hypervisor.fr/?p=4039#comments</comments>
		<pubDate>Fri, 10 Aug 2012 07:09:04 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[NFS]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[SAN]]></category>
		<category><![CDATA[SIOC]]></category>
		<category><![CDATA[vCenter]]></category>
		<category><![CDATA[VMFS]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4039</guid>
		<description><![CDATA[Suite à notre post sur la création d&#8217;alarmes de latence pour les datastore, nous nous sommes aperçu que sur des environnements relativement important cela pouvait générer une quantité importante d&#8217;events inutiles. En effet, les alarmes étant créées à la &#8220;racine&#8221; du vCenter et propagées sur tous les hosts par héritage, il est fréquent de voir des events liés à [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Suite à <a href="http://www.hypervisor.fr/?p=3683" target="_blank">notre post sur la création d&#8217;alarmes de latence pour les datastore</a>, nous nous sommes aperçu que sur des environnements relativement important cela pouvait <strong>générer une quantité importante d&#8217;events inutiles</strong>. En effet, les alarmes étant créées à la <strong>&#8220;racine&#8221; du vCenter</strong> et propagées sur tous les hosts par héritage, il est fréquent de voir des events liés à une alarme (green&gt;gray et gray&gt;green lors d&#8217;un reboot par exemple) d&#8217;un datastore n’existant pas sur l&#8217;ESX en question. Nous avons donc modifiés nos onliner pour que les alarmes soient créées à la <strong>&#8220;racine&#8221; des cluster</strong> et comme le nom d&#8217;une alarme doit être unique, nous y avons rajouté le nom du cluster :</p>
<p>Alarme de <strong>latence Read ou Write pour datastore partagé NFS par cluster</strong>, yellow 300ms/5min et red 500ms/3min (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($vicluster in Get-View -ViewType ClusterComputeResource) {foreach ($dsname in ($vicluster.Datastore|%{Get-View $_}|?{$_.summary.Accessible -and $_.summary.MultipleHostAccess -and $_.info.nas})){if (!((Get-View AlarmManager).GetAlarm($vicluster.moref)|?{(get-view $_).info.name -match &quot;Datastore $($dsname.name) datastore RW latency&quot;})){(Get-View AlarmManager).CreateAlarm($vicluster.moref,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;Datastore $($dsname.name) datastore RW latency in $($vicluster.name)&quot;;Description = &quot;Custom alarm to monitor NFS $($dsname.name) ($($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)) read or write latency in $($vicluster.name)&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = @((New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalReadLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;300&quot;;YellowInterval = &quot;300&quot;;Red = &quot;500&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;});(New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalWriteLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;300&quot;;YellowInterval = &quot;300&quot;;Red = &quot;500&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;}))});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;[vAlarm] $($dsname.name) RW latency on {targetName}&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $false}))})});ActionFrequency = &quot;1800&quot;}))}}}</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/oneliner/alarm_nfs_latency_cluster.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/oneliner/alarm_nfs_latency_cluster.png" alt="" width="540" height="59" /></a></p>
<p>Alarme de <strong>latence Read ou Write pour datastore partagé VMFS par cluster</strong>, yellow 30ms/5min et red 40ms/3min (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($vicluster in Get-View -ViewType ClusterComputeResource) {foreach ($dsname in ($vicluster.Datastore|%{Get-View $_}|?{$_.summary.Accessible -and $_.summary.MultipleHostAccess -and $_.info.vmfs})){if (!((Get-View AlarmManager).GetAlarm($vicluster.moref)|?{(get-view $_).info.name -match &quot;Datastore $($dsname.name) RW latency in $($vicluster.name)&quot;})){(Get-View AlarmManager).CreateAlarm($vicluster.moref,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;Datastore $($dsname.name) RW latency in $($vicluster.name)&quot;;Description = &quot;Custom alarm to monitor VMFS $($dsname.name) ($($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)) read or write latency in $($vicluster.name)&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = @((New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalReadLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;30&quot;;YellowInterval = &quot;300&quot;;Red = &quot;40&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;});(New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalWriteLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;30&quot;;YellowInterval = &quot;300&quot;;Red = &quot;40&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;}))});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;[vAlarm] $($dsname.name) RW latency on {targetName}&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $false}))})});ActionFrequency = &quot;1800&quot;}))}}}</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/oneliner/alarm_vmfs_latency_cluster.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/oneliner/alarm_vmfs_latency_cluster.png" alt="" width="518" height="83" /></a></p>
<p>Alarme de <strong>latence SIOC Normalized Latency pour datastore partagé par cluster</strong>, yellow 30ms/5min et red 40ms/3min (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($vicluster in Get-View -ViewType ClusterComputeResource) {foreach ($dsname in ($vicluster.Datastore|%{Get-View $_}|?{$_.summary.Accessible -and $_.summary.MultipleHostAccess -and $_.IormConfiguration.Enabled})){if (!((Get-View AlarmManager).GetAlarm($vicluster.moref)|?{(get-view $_).info.name -match &quot;Datastore $($dsname.name) SIOC Normalized Latency in $($vicluster.name)&quot;})){(Get-View AlarmManager).CreateAlarm($vicluster.moref,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;Datastore $($dsname.name) SIOC Normalized Latency in $($vicluster.name)&quot;;Description = &quot;Custom alarm to monitor $($dsname.name) ($($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)) datastore SIOC Normalized Latency in $($vicluster.name)&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = @((New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;sizeNormalizedDatastoreLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;30000&quot;;YellowInterval = &quot;300&quot;;Red = &quot;40000&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;}))});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;[vAlarm] $($dsname.name) SIOC Normalized Latency on {targetName}&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $false}))})});ActionFrequency = &quot;1800&quot;}))}}}</pre>
<p>Alarme de <strong>Disk Command aborts pour datastore VMFS partagé par cluster</strong>, en cas de défaillance/saturation DAS/SAN/iSCSI (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($vicluster in Get-View -ViewType ClusterComputeResource) {foreach ($diskname in ($vicluster.Datastore|%{Get-View $_}|?{$_.info.vmfs -and $_.summary.Accessible -and $_.summary.MultipleHostAccess}|%{$_.info.vmfs.extent}|%{$_.diskname})){if (!((Get-View AlarmManager).GetAlarm($vicluster.moref)|?{(get-view $_).info.name -match &quot;Disk $diskname command aborts&quot;})){(Get-View AlarmManager).CreateAlarm($vicluster.moref,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;Disk $diskname command aborts in $($vicluster.name)&quot;;Description = &quot;Custom alarm to monitor $diskname disk command aborts in $($vicluster.name)&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = (New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;disk&quot;}|?{$_.nameinfo.key -match &quot;commandsAborted&quot;}|?{$_.GroupInfo.Key -ne &quot;virtualDisk&quot;}|?{$_.RollupType -match &quot;summation&quot;}).key;Instance = $diskname});Operator = &quot;isAbove&quot;;Yellow = &quot;1&quot;;Red = &quot;2&quot;;Type = &quot;HostSystem&quot;})});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;[vAlarm] command aborts on disk $diskname on {targetName}&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $true}))})});ActionFrequency = &quot;1800&quot;}))}}}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4039</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>check_esx3 devient check_vmware_api</title>
		<link>http://www.hypervisor.fr/?p=3896</link>
		<comments>http://www.hypervisor.fr/?p=3896#comments</comments>
		<pubDate>Tue, 03 Jul 2012 14:46:47 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[cacti]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[rrdtool]]></category>
		<category><![CDATA[vpx]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=3896</guid>
		<description><![CDATA[Il fallait bien que ça arrive, check_esx3 ça commençait à faire vieillot, limite vintage. Alors que nous nous étions tourné vers une solution alternative, nous revenons de nouveau vers ce plugin nagios qui commence à compter quelques sérieux contributeurs et nous nous sommes retroussé les manches (très haut car en perl on y connait rien&#8230;) pour ajouter quelques features et faire un plugin [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Il fallait bien que ça arrive, check_esx3 ça commençait à faire vieillot, limite vintage. Alors que <a href="http://www.hypervisor.fr/?p=3361" target="_blank">nous nous étions tourné vers une solution alternative</a>, nous revenons de nouveau vers ce plugin nagios qui commence à compter quelques sérieux contributeurs <a href="http://git.op5.org/git/?p=nagios/op5plugins.git;a=commit;h=cfcded67250c47a8ae3cef61a7471f262e2c733d" target="_blank">et nous nous sommes retroussé les manches</a> (très haut car en perl on y connait rien&#8230;) pour <strong>ajouter quelques features et faire un plugin cacti qui ne nécessite plus de créer un device par cluster</strong>.</p>
<p style="text-align: justify;">Nous avons donc fait 2 fichiers xml (<strong>check_vmware_cluster.xml</strong> et <strong>check_vmware_datastore.xml</strong> à copier dans resource/script_queries) pour la partie &#8220;data queries&#8221; et un script bash (<strong>check_esx3_helper.sh</strong> à copier dans scripts) pour faire l&#8217;intermédiaire entre cacti et le script <a href="http://git.op5.org/git/?p=nagios/op5plugins.git;a=blob_plain;f=check_vmware_api.pl" target="_blank"><strong>check_vmware_api.pl</strong></a> (à copier dans scripts).</p>
<p style="text-align: justify;"><strong>Selon la version de votre vCenter, il est possible que vous ayez à tuner la variable $vi_timeshift</strong> dans check_esx3_helper.sh (il nous a fallu parfois jongler entre 300 et 600) à cause d&#8217;un bug vmware.</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/check_vmware_api/vc_perf_bug.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/check_vmware_api/vc_perf_bug.png" alt="" width="339" height="215" /></a></p>
<p style="text-align: justify;">Une fois les fichiers copiés, il faut importer les templates (<strong>cacti_data_query_vmware_vpx_-_cluster_usage.xml</strong> et <strong>cacti_data_query_vmware_vpx_-_vmfs_usage.xml</strong>) dans cacti et les associer à votre vCenter :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/check_vmware_api/cacti_host_view.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/check_vmware_api/cacti_host_view.png" alt="" width="385" height="32" /></a></p>
<p style="text-align: left;">Nous avons utilisé les credentials snmp v3 pour éviter de mettre un login/password dans les scripts donc si vous utiliser snmp sur votre vCenter, créez un compte équivalent ou créez un device dédié.</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/check_vmware_api/cacti_snmp_view.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/check_vmware_api/cacti_snmp_view.png" alt="" width="197" height="50" /></a></p>
<p style="text-align: justify;"><span style="color: #ff6600;">En ce qui concerne <strong>l&#8217;autentification</strong>, le fichier de session <strong>/tmp/check_esx3_session.dat</strong>, généré <strong>automatiquement</strong>, évite les <strong>logon/logoff</strong> à répétition et soulage le proxy mob.</span></p>
<p style="text-align: left;">Il ne vous reste plus qu&#8217;à <strong>choisir les clusters et les datastores que vous voulez monitorer</strong> (la dénomination VMFS est uniquement cosmétique, les datastores NFS sont évidement supportés) :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/check_vmware_api/cacti_graph_view.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/check_vmware_api/cacti_graph_view.png" alt="" width="385" height="148" /></a></p>
<p style="text-align: left;">Vous pouvez ensuite regrouper vos graph par cluster :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/check_vmware_api/cacti_cluster_view.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/check_vmware_api/cacti_cluster_view.png" alt="" width="449" height="353" /></a></p>
<p style="text-align: left;">Les graph on une fonction de remplissage automatique qui reprend la dernière bonne valeur connue pour éviter les vilains trous qui ne plaisent pas aux managers&#8230;</p>
<div class="wp-caption aligncenter" style="width: 110px"><a href="http://files.hypervisor.fr/scripts/check_vmware_api.zip"><img class="     " title="check_vmware_api" src="http://files.hypervisor.fr/img/super_mario_piranha_plant.png" alt="" width="100" height="100" /></a><p class="wp-caption-text">vi_host package</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=3896</wfw:commentRss>
		<slash:comments>73</slash:comments>
		</item>
		<item>
		<title>[PSH] Les alarmes de datastore qui manquent à vCenter</title>
		<link>http://www.hypervisor.fr/?p=3683</link>
		<comments>http://www.hypervisor.fr/?p=3683#comments</comments>
		<pubDate>Mon, 05 Mar 2012 07:12:47 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[NFS]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[SAN]]></category>
		<category><![CDATA[SIOC]]></category>
		<category><![CDATA[vCenter]]></category>
		<category><![CDATA[VMFS]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=3683</guid>
		<description><![CDATA[/!\ Attention /!\ : Ce post comporte des oneliner de plusieurs milliers de caractères qui pourraient heurter la sensibilité des jeunes scripteurs.
Ceux qui, comme nous, espéraient la voir arriver avec vSphere 5 ont été déçu. L&#8217;alarme de latence de datastore n’existe pas encore, pas en GUI du moins. Et pour cause, les compteurs de latence ne sont disponibles qu&#8217;au travers [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><strong>/!\ Attention /!\ : Ce post comporte des oneliner de <strong><span style="color: #ff0000;">plusieurs milliers de caractères</span></strong> qui pourraient heurter la sensibilité des jeunes scripteurs.</strong></p>
<p style="text-align: justify;">Ceux qui, comme nous, espéraient la voir arriver avec vSphere 5 ont été déçu. <strong>L&#8217;alarme de latence de datastore n’existe pas encore</strong>, pas en GUI du moins. Et pour cause, <a href="http://pubs.vmware.com/vsphere-50/index.jsp?topic=/com.vmware.wssdk.apiref.doc_50/datastore_counters.html" target="_blank">les compteurs de latence ne sont disponibles qu&#8217;au travers des objets VirtualMachine ou HostSystem (et HostSystem uniquement pour les compteurs SIOC)</a>. Nous vous avions proposé <a href="http://www.hypervisor.fr/?p=2468" target="_blank">une solution de contournement</a>, en PowerCLI évidement, grâce au compteur maxTotalLatency mais il restait encore à trouver quel datastore avait déclenché l&#8217;alarme.</p>
<p style="text-align: justify;">Aujourd&#8217;hui nous vous proposons une série de oneliner qui vont créer (si elles n’existent pas déjà, ce qui veut dire que vous pouvez les utiliser en tache planifiée) <strong>des alarmes pour chaque datastore </strong><strong>(instance = UUID)</strong><strong> qui se déclencheront si les seuils de latence fixés sont atteint sur un ESX</strong>. Attention ça pique.</p>
<p>Alarme de <strong>latence Read ou Write pour datastore partagé NFS</strong>, yellow 300ms/5min et red 500ms/3min (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($dsname in (Get-View -ViewType datastore|?{$_.summary.Accessible -and $_.summary.MultipleHostAccess -and $_.info.nas})){if (!((Get-View AlarmManager).GetAlarm((Get-Folder -NoRecursion |Get-View).moref)|?{(get-view $_).info.name -match &quot;$($dsname.name) datastore RW latency&quot;})){(Get-View AlarmManager).CreateAlarm((Get-Folder -NoRecursion |Get-View).MoRef,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;$($dsname.name) datastore RW latency&quot;;Description = &quot;Custom alarm to monitor NFS $($dsname.name) ($($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)) read or write latency&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = @((New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalReadLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;300&quot;;YellowInterval = &quot;300&quot;;Red = &quot;500&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;});(New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalWriteLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;300&quot;;YellowInterval = &quot;300&quot;;Red = &quot;500&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;}))});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;$($dsname.name) RW latency&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $false}))})});ActionFrequency = &quot;1800&quot;}))}}</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/oneliner/alarm_nfs_latency.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/oneliner/alarm_nfs_latency.png" alt="" width="462" height="90" /></a></p>
<p>Alarme de <strong>latence Read ou Write pour datastore partagé VMFS</strong>, yellow 30ms/5min et red 40ms/3min (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($dsname in (Get-View -ViewType datastore|?{$_.summary.Accessible -and $_.summary.MultipleHostAccess -and $_.info.vmfs})){if (!((Get-View AlarmManager).GetAlarm((Get-Folder -NoRecursion |Get-View).moref)|?{(get-view $_).info.name -match &quot;$($dsname.name) datastore RW latency&quot;})){(Get-View AlarmManager).CreateAlarm((Get-Folder -NoRecursion |Get-View).MoRef,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;$($dsname.name) datastore RW latency&quot;;Description = &quot;Custom alarm to monitor VMFS $($dsname.name) ($($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)) read or write latency&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = @((New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalReadLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;30&quot;;YellowInterval = &quot;300&quot;;Red = &quot;40&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;});(New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalWriteLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;30&quot;;YellowInterval = &quot;300&quot;;Red = &quot;40&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;}))});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;$($dsname.name) RW latency&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $false}))})});ActionFrequency = &quot;1800&quot;}))}}</pre>
<p>Alarme de <strong>latence SIOC Normalized Latency pour datastore partagé</strong>, yellow 30ms/5min et red 40ms/3min (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($dsname in (Get-View -ViewType datastore|?{$_.summary.Accessible -and $_.summary.MultipleHostAccess -and $_.IormConfiguration.Enabled})){if (!((Get-View AlarmManager).GetAlarm((Get-Folder -NoRecursion |Get-View).moref)|?{(get-view $_).info.name -match &quot;$($dsname.name) datastore SIOC Normalized Latency&quot;})){(Get-View AlarmManager).CreateAlarm((Get-Folder -NoRecursion |Get-View).MoRef,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;$($dsname.name) datastore SIOC Normalized Latency&quot;;Description = &quot;Custom alarm to monitor $($dsname.name) ($($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)) datastore SIOC Normalized Latency&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = @((New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;sizeNormalizedDatastoreLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;30000&quot;;YellowInterval = &quot;300&quot;;Red = &quot;40000&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;}))});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;$($dsname.name) SIOC Normalized Latency&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $false}))})});ActionFrequency = &quot;1800&quot;}))}}</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/oneliner/alarm_SIOC_latency.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/oneliner/alarm_SIOC_latency.png" alt="" width="514" height="194" /></a></p>
<p>Bonus : Alarme de <strong>Disk Command aborts pour datastore VMFS partagé</strong>, en cas de défaillance/saturation DAS/SAN/iSCSI (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($diskname in (Get-View -ViewType datastore|?{$_.info.vmfs -and $_.summary.Accessible -and $_.summary.MultipleHostAccess}|%{$_.info.vmfs.extent}|%{$_.diskname})){if (!((Get-View AlarmManager).GetAlarm((Get-Folder -NoRecursion |Get-View).moref)|?{(get-view $_).info.name -match &quot;$diskname Disk Command aborts&quot;})){(Get-View AlarmManager).CreateAlarm((Get-Folder -NoRecursion |Get-View).MoRef,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;$diskname Disk Command aborts&quot;;Description = &quot;Custom alarm to monitor $diskname Disk Command aborts&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = (New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;disk&quot;}|?{$_.nameinfo.key -match &quot;commandsAborted&quot;}|?{$_.GroupInfo.Key -ne &quot;virtualDisk&quot;}|?{$_.RollupType -match &quot;summation&quot;}).key;Instance = $diskname});Operator = &quot;isAbove&quot;;Yellow = &quot;1&quot;;Red = &quot;2&quot;;Type = &quot;HostSystem&quot;})});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;$diskname Disk Command aborts&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $true}))})});ActionFrequency = &quot;1800&quot;}))}}</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/oneliner/alarm_command_abort.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/oneliner/alarm_command_abort.png" alt="" width="482" height="246" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=3683</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Monitoring de cluster VMware dans cacti</title>
		<link>http://www.hypervisor.fr/?p=3361</link>
		<comments>http://www.hypervisor.fr/?p=3361#comments</comments>
		<pubDate>Mon, 03 Oct 2011 17:55:47 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[cacti]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[MRTG]]></category>
		<category><![CDATA[nagios]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=3361</guid>
		<description><![CDATA[MAJ 03/07/2012 : Un nouveau plugin est disponible
Chez nous, à Hypervisor.fr, cacti c&#8217;est une grande passion ! Il y a presque 3 ans, quelques mois après la GA d&#8217;ESXi 3.5 (aka ESX 3i), nous avions publié un template cacti basé sur le fameux script check_esx3. Il permettait à l&#8217;époque de s&#8217;affranchir de SNMP, grand absent d&#8217;ESX 3i. Malheureusement [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><strong><span style="color: #ff0000;">MAJ 03/07/2012</span> : <a href="http://www.hypervisor.fr/?p=3896" target="_blank">Un nouveau plugin est disponible</a></strong></em></p>
<p style="text-align: justify;">Chez nous, à Hypervisor.fr, cacti c&#8217;est une grande passion ! <a href="http://www.hypervisor.fr/?p=424" target="_blank">Il y a presque 3 ans, quelques mois après la GA d&#8217;ESXi 3.5 (aka ESX 3i), nous avions publié un template cacti basé sur le fameux script check_esx3</a>. Il permettait à l&#8217;époque de s&#8217;affranchir de SNMP, grand absent d&#8217;ESX 3i. Malheureusement ce script est très coûteux en ressources cpu et pouvait faire augmenter significativement le temps de polling de cacti si vous aviez de nombreux check à effectuer.</p>
<p style="text-align: justify;">Il y a peu de temps, nous avons découvert <a href="http://www.steveshipway.org/forum/viewtopic.php?f=35&amp;t=1648" target="_blank">check_vmware, une alternative (utilisable avec NAGIOS et MRTG) nettement plus efficace, developée par Steve Shipway</a>. Cela nous a permis de finaliser notre template de monitoring de cluster et de dépoussiérer notre vieux template d&#8217;ESX.</p>
<p style="text-align: justify;">Pour les utiliser, il vous faudra bien évidement le <a href="http://communities.vmware.com/community/vmtn/developer/forums/vsphere_sdk_perl" target="_blank">package vSphere SDK for Perl (aka vi perl toolkit)</a>, le script check_vmware.pl placé dans le répertoire &#8221;scripts&#8221; de cacti, des scripts fournis dans notre package placés dans le même répertoire et du template xml à importer dans cacti. Le chemin d’accès au répertoire &#8220;scripts&#8221; est &#8220;/var/www/cacti/scripts&#8221; mais peut être changé dans les scripts.</p>
<p style="text-align: justify;">Voici le rendu du <strong>template de cluster</strong>, suivit du lien pour le télécharger (gratuitement &amp; légalement, vous n&#8217;aurez par de problème avec l&#8217;HADOPI) :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vi_cluster_cpu.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vi_cluster_cpu.png" alt="" width="422" height="163" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vi_cluster_mem.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vi_cluster_mem.png" alt="" width="422" height="144" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vi_cluster_net.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vi_cluster_net.png" alt="" width="422" height="163" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vi_cluster_vm.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vi_cluster_vm.png" alt="" width="422" height="163" /></a></p>
<div class="wp-caption aligncenter" style="width: 110px"><a href="http://files.hypervisor.fr/scripts/vi_cluster.zip"><img class=" " title="vi_cluster package" src="http://files.hypervisor.fr/img/super_mario_piranha_plant.png" alt="" width="100" height="100" /></a><p class="wp-caption-text">vi_cluster package</p></div>
<p>Et voici le rendu du <strong>template host</strong>, suivit du lien pour le télécharger :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vi_host_cpu.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vi_host_cpu.png" alt="" width="422" height="163" /></a></p>
<p style="text-align: center;">
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vi_host_mem.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vi_host_mem.png" alt="" width="422" height="163" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vi_host_net.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vi_host_net.png" alt="" width="422" height="163" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vi_host_vmfs.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vi_host_vmfs.png" alt="" width="422" height="163" /></a></p>
<div class="wp-caption aligncenter" style="width: 110px"><a href="http://files.hypervisor.fr/scripts/vi_host.zip"><img class="     " title="vi_host package" src="http://files.hypervisor.fr/img/super_mario_piranha_plant.png" alt="" width="100" height="100" /></a><p class="wp-caption-text">vi_host package</p></div>
<p>Happy monitoring !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=3361</wfw:commentRss>
		<slash:comments>71</slash:comments>
		</item>
		<item>
		<title>VMTurbo : zero-config monitoring</title>
		<link>http://www.hypervisor.fr/?p=3123</link>
		<comments>http://www.hypervisor.fr/?p=3123#comments</comments>
		<pubDate>Fri, 08 Jul 2011 13:04:05 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[VMTurbo]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=3123</guid>
		<description><![CDATA[Nous profitons de l&#8217;annonce du lancement de la version Community Edition de VMTurbo (anciennement VMTurbo Monitor mais pas de gros changements, juste un renommage marketing) pour vous faire partager notre expérience très positive du produit.

A la base, hors considérations de licensing, VMTurbo Virtualization Management Suite est (surprise !) une suite de composants offrant (re-surprise !) un outil de monitoring (c&#8217;est ce composant [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Nous profitons de l&#8217;annonce du lancement de <a href="http://www.vmturbo.com/blog/bid/61028/Press-Release-VMTurbo-Announces-First-Free-Virtualization-Management-Suite" target="_blank">la version Community Edition de VMTurbo</a> (anciennement VMTurbo Monitor mais pas de gros changements, juste un renommage marketing) pour vous faire partager notre expérience très positive du produit.</p>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/vmturbo/vmturbo-logo.png" alt="" width="171" height="52" /></p>
<p style="text-align: justify;">A la base, hors considérations de licensing, VMTurbo Virtualization Management Suite est (surprise !) une suite de composants offrant (re-surprise !) un outil de monitoring (c&#8217;est ce composant qui est gratuit) sur lequel s&#8217;appuient 3 autres outils : capacity planning, reporting et optimisation. Ce dernier est <a href="http://vpivot.com/2010/12/03/alternative-to-drs/" target="_blank">un genre de DRS à large scope</a> qui peut vous suggérer (et surtout le faire pour vous si vous achetez la licence) de diminuer la quantité de ram d&#8217;une VM, de lui rajouter un vcpu ou de la  déplacer sur un autre datastore en fonction des métrics remonté par monitor.</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vmturbo/optimize.png" title="optimize" rel="lightbox[3123]"><img class="aligncenter size-large wp-image-3124" title="optimize" src="http://www.hypervisor.fr/wp-content/uploads/2011/07/optimize-1024x181.png" alt="" width="442" height="78" /></a></p>
<p style="text-align: justify;">Le composant qui nous intéresse le plus est évidement &#8221;monitor&#8221; qui se démarque par sa simplicité et surtout par sa fluidité (accès web mais flash). Même sur une grosse infra vous n&#8217;aurez pas l&#8217;effet &#8220;usine à gaz&#8221; que peuvent offrir certains produits concurrents&#8230;</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vmturbo/monitor_sum.png" title="monitor_sum" rel="lightbox[3123]"><img class="aligncenter size-full wp-image-3130" title="monitor_sum" src="http://www.hypervisor.fr/wp-content/uploads/2011/07/monitor_sum.png" alt="" width="275" height="169" /></a></p>
<p style="text-align: justify;">Cette simplicité peut aussi lui être reproché mais imaginons que vous souhaitiez vérifier que vous n&#8217;avez pas trop de CPU Ready Time sur toutes les VM d&#8217;un cluster, que vous souhaitiez connaitre la tendance en IOPS d&#8217;une VM, ou encore que vous vous inquiétiez du niveau de latence d&#8217;un datastore, ça vous donne quelque chose comme ça :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vmturbo/monitor_ready.png" title="monitor_ready" rel="lightbox[3123]"><img class="aligncenter size-full wp-image-3132" title="monitor_ready" src="http://www.hypervisor.fr/wp-content/uploads/2011/07/monitor_ready.png" alt="" width="345" height="279" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vmturbo/monitor_iops.png" title="monitor_iops" rel="lightbox[3123]"><img class="aligncenter size-full wp-image-3133" title="monitor_iops" src="http://www.hypervisor.fr/wp-content/uploads/2011/07/monitor_iops.png" alt="" width="365" height="270" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vmturbo/monitor_latency.png" title="monitor_latency" rel="lightbox[3123]"><img class="aligncenter size-full wp-image-3138" title="monitor_latency" src="http://www.hypervisor.fr/wp-content/uploads/2011/07/monitor_latency.png" alt="" width="373" height="318" /></a></p>
<p style="text-align: justify;">Ajoutez à cela un format appliance (assez light) en ovf avec pour seule configuration la config réseau et l&#8217;ajout du (ou des) vcenter à monitorer et vous obtenez un produit à tester d&#8217;urgence si ce n&#8217;est pas déjà fait !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=3123</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
