<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2frenchfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Le blog de NicoLargo</title>
	
	<link>http://blog.nicolargo.com</link>
	<description>"Tribulations d'un blogger dans le monde des logiciels libres et du Web..."</description>
	<lastBuildDate>Sun, 05 Jul 2009 13:15:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<thespringbox:skin xmlns:thespringbox="http://www.thespringbox.com/dtds/thespringbox-1.0.dtd">http://feeds.feedburner.com/LeBlogDeNicolargo?format=skin</thespringbox:skin><creativeCommons:license>http://creativecommons.org/licenses/by/2.0/</creativeCommons:license><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/LeBlogDeNicolargo" type="application/rss+xml" /><feedburner:emailServiceId>LeBlogDeNicolargo</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FLeBlogDeNicolargo" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/LeBlogDeNicolargo" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FLeBlogDeNicolargo" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FLeBlogDeNicolargo" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FLeBlogDeNicolargo" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=fr&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FLeBlogDeNicolargo" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/bn/intatm_fr_1.gif">Subscribe with Mon Yahoo!</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Mes "marques ta-pages" de la semaine</title>
		<link>http://feedproxy.google.com/~r/LeBlogDeNicolargo/~3/_TdgegJsooU/mes-marques-ta-pages-de-la-semaine-10.html</link>
		<comments>http://blog.nicolargo.com/2009/07/mes-marques-ta-pages-de-la-semaine-10.html#comments</comments>
		<pubDate>Sun, 05 Jul 2009 13:10:42 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/07/mes-marques-ta-pages-de-la-semaine-10.html</guid>
		<description>Le Livre de Packet Filter vient de sortir en version FR
 14 effets de visualisation pour iTunes
 Comment redimensionner des lots d'images dans Gnome directement depuis Nautilus...
 20 thèmes Wordpress beaux et gratuits...
 35 photos macro de toute beauté...



                [...]</description>
			<content:encoded><![CDATA[<div class="blogmarks">
<ul>
<li><a href="http://www.amazon.fr/s/ref=nb_ss_w?__mk_fr_FR=�M�Z��&amp;url=search-alias=aps&amp;field-keywords=Le Livre de Packet Filter&amp;x=0&amp;y=0"> </a><a href="http://www.amazon.fr/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.fr%2Fs%3Fie%3DUTF8%26x%3D0%26ref%255F%3Dnb%255Fss%255Fw%26y%3D0%26%255F%255Fmk%255Ffr%255FFR%3D%25C3%25AF%25C2%25BF%25C2%25BDM%25C3%25AF%25C2%25BF%25C2%25BDZ%25C3%25AF%25C2%25BF%25C2%25BD%25C3%25AF%25C2%25BF%25C2%25BD%26field-keywords%3DLe%2520Livre%2520de%2520Packet%2520Filter%26url%3Dsearch-alias%253Daps&amp;tag=leblogdenico-21&amp;linkCode=ur2&amp;camp=1642&amp;creative=19458">Le Livre de Packet Filter vient de sortir en version FR</a></li>
<li><a href="http://theappleblog.com/2009/07/02/14-free-itunes-visualizers/"> </a><a href="http://theappleblog.com/2009/07/02/14-free-itunes-visualizers/">14 effets de visualisation pour iTunes</a></li>
<li><a href="http://jonasluthi.com/2009/07/redimensionner-des-lots-dimages-directement-depuis-nautilus-dans-gnome/"> </a><a href="http://jonasluthi.com/2009/07/redimensionner-des-lots-dimages-directement-depuis-nautilus-dans-gnome/">Comment redimensionner des lots d'images dans Gnome directement depuis Nautilus...</a></li>
<li><a href="http://10steps.sg/themes/20-most-beautiful-free-wordpress-themes/"> </a><a href="http://10steps.sg/themes/20-most-beautiful-free-wordpress-themes/">20 thèmes Wordpress beaux et gratuits...</a></li>
<li><a href="http://www.smashingmagazine.com/2009/06/26/35-examples-of-stunning-macro-photography/"> </a><a href="http://www.smashingmagazine.com/2009/06/26/35-examples-of-stunning-macro-photography/">35 photos macro de toute beauté...</a></li>
</ul>
</div>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2053">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/AdRSBJpO_A27RVj2tz-by2_xX6Q/0/da"><img src="http://feedads.g.doubleclick.net/~a/AdRSBJpO_A27RVj2tz-by2_xX6Q/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/AdRSBJpO_A27RVj2tz-by2_xX6Q/1/da"><img src="http://feedads.g.doubleclick.net/~a/AdRSBJpO_A27RVj2tz-by2_xX6Q/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=_TdgegJsooU:q9ljPx-kO20:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=_TdgegJsooU:q9ljPx-kO20:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=_TdgegJsooU:q9ljPx-kO20:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=_TdgegJsooU:q9ljPx-kO20:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/LeBlogDeNicolargo/~4/_TdgegJsooU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/07/mes-marques-ta-pages-de-la-semaine-10.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.nicolargo.com/2009/07/mes-marques-ta-pages-de-la-semaine-10.html</feedburner:origLink></item>
		<item>
		<title>Installation pas à pas de Xen sous Debian</title>
		<link>http://feedproxy.google.com/~r/LeBlogDeNicolargo/~3/zjYzwvLn-M8/installation-pas-a-pas-de-xen-sous-debian.html</link>
		<comments>http://blog.nicolargo.com/2009/06/installation-pas-a-pas-de-xen-sous-debian.html#comments</comments>
		<pubDate>Mon, 29 Jun 2009 10:58:05 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tutoriel]]></category>
		<category><![CDATA[xen]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/06/installation-pas-a-pas-de-xen-sous-debian.html</guid>
		<description>Le but de ce billet est d'installer un serveur de de virtualisation Xen (Wiki) sur un système GNU/Linux Debian. Ce dernier pourra héberger de manière virtuelle (c'est à dire sur la même machine physique) un nombre important de serveurs, mutualisant ainsi votre hardware.
Installation du serveur Xen
J'ai choisi d'héberger mon serveur de virtualisation Xen (on appelle [...]</description>
			<content:encoded><![CDATA[<p><font face="sans-serif"><img style="max-width: 800px; float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/xen_logo.gif" />Le but de ce billet est d'installer un serveur de de virtualisation Xen (<a href="http://fr.wikipedia.org/wiki/Xen"><small>Wiki</small></a>) sur un système GNU/Linux Debian. Ce dernier pourra héberger de manière virtuelle (c'est à dire sur la même machine physique) </font>un nombre important de serveurs, mutualisant ainsi votre hardware.<br />
<h1>Installation du serveur Xen<br /></h1>
<p>J'ai choisi d'héberger mon serveur de virtualisation Xen (on appelle cette machine le dom0 pour "domaine 0" dans le jargon Xen) sur la machine suivante:</p>
<p><b><i><small>HP Proliant DL145<br />AMD Optron 64<br />2 Go RAM<br />2 disques durs de 80 Go en RAID 1 (LVM)<br />Système d'exploitation: GNU/Linux Debian Lenny 5</small></i></b></p>
<p>J'ai effectué une installation standard à partir du CD d'installation de la Debian 5.0 en appelant ma machine virt1 et en installant comme seul et unique service le daemon OpenSSH (pour un accès à distance).</p>
<p>Ensuite, il faut procéder à l'installation de Xen et de ses utilitaires:<br />
<blockquote>aptitude install xen-hypervisor-i386 xen-linux-system-2.6.26-2-xen-686 xen-utils xen-tools xen-shell xenwatch xenstore-utils</p></blockquote>
<p>On configure ensuite le réseau de la manière à transformer notre machine dom0 en bridge. Pour cela, on édite le fichier /etc/xen/xend-config.sxp et on remplace la ligne:<br />
<blockquote><font color="#666666">(network-script network-dummy)</font><br />par <br />(network-script network-bridge)</p></blockquote>
<p>On reboot notre système pour prendre en compte le noyau supportant Xen:<br />
<blockquote>reboot</p></blockquote>
<h1>Configuration du serveur Xen</h1>
<p>Nous allons utiliser xen-tools pour administrer nos serveurs virtuels. Pour cela il faut éditer le fichier de configuration (/etc/xen-tools/xen-tools.conf) de la manière suivante (en gras les options à adapter selon votre configuration):<br />
<blockquote><b>dir = /xen</b><br />install-method = debootstrap<br />size&nbsp;&nbsp; = 4Gb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Disk image size.<br />memory = 128Mb&nbsp;&nbsp;&nbsp; # Memory size<br />swap&nbsp;&nbsp; = 128Mb&nbsp;&nbsp;&nbsp; # Swap size<br />fs&nbsp;&nbsp;&nbsp;&nbsp; = ext3&nbsp;&nbsp;&nbsp;&nbsp; # use the EXT3 filesystem for the disk image.<br />dist&nbsp;&nbsp; = etch&nbsp;&nbsp;&nbsp;&nbsp; # Default distribution to install.<br />image&nbsp; = sparse&nbsp;&nbsp; # Specify sparse vs. full disk images.<br /><b>gateway&nbsp;&nbsp; = 192.168.29.1<br />netmask&nbsp;&nbsp; = 255.255.255.0</b><br />passwd = 1<br />kernel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = /boot/vmlinuz-`uname -r`<br />initrd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = /boot/initrd.img-`uname -r`<br />mirror = http://ftp.lip6.fr/pub/linux/distributions/debian/<br />ext3_options&nbsp;&nbsp; = noatime,nodiratime,errors=remount-ro<br />ext2_options&nbsp;&nbsp; = noatime,nodiratime,errors=remount-ro<br />xfs_options&nbsp;&nbsp;&nbsp; = defaults<br />reiser_options = defaults<br /><b>serial_device = hvc0<br />disk_device = xvda</b></p></blockquote>
<p>On pense également à créer le répertoire qui contiendra les domaines hôtes (/xen dans ma configuration):<br />
<blockquote>mkdir /xen</p></blockquote>
<h1>Installation d'un serveur virtuel<br /></h1>
<p>Nous allons commencer par ajouter un nouveau serveur virtuel (que l'on appelle domU pour "domaine Users" dans le jargon Xen) à notre configuration. Cette action se fait de manière très simple grâce à la commande suivante (attendre quelques minutes):<br />
<blockquote># xen-create-image --hostname=servvirt1.mondomaine.com --size=10Gb --swap=512Mb --ip=192.168.29.171 --memory=256Mb --arch=i386 --role=udev<br /><font color="#666666"><small>General Information<br />--------------------<br />Hostname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :&nbsp; servvirt1.mondomaine.com<br />Distribution&nbsp;&nbsp; :&nbsp; etch<br />Partitions&nbsp;&nbsp;&nbsp;&nbsp; :&nbsp; swap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512Mb (swap)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10Gb&nbsp; (ext3)<br />Image type&nbsp;&nbsp;&nbsp;&nbsp; :&nbsp; sparse<br />Memory size&nbsp;&nbsp;&nbsp; :&nbsp; 256Mb<br />Kernel path&nbsp;&nbsp;&nbsp; :&nbsp; /boot/vmlinuz-2.6.26-2-xen-686<br />Initrd path&nbsp;&nbsp;&nbsp; :&nbsp; /boot/initrd.img-2.6.26-2-xen-686</p>
<p>Networking Information<br />----------------------<br />IP Address 1&nbsp;&nbsp; : 192.168.29.171 [MAC: 00:16:3E:8B:F0:9E]<br />Netmask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 255.255.255.0<br />Gateway&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 192.168.29.1</small></font></p></blockquote>
<p>Xen va alors créer un serveur virtuel disposant d'un disque de 10 Go, d'un taille de swap de 512 Mo et d'une mémoire de 256 Mb. L'adresse IP de ce nouveau serveur virtuel sera 192.168.29.171. Le mot de passe root du système vous sera demandé en fin d'installation.</p>
<p>Un fichier de configuration dédié a ce nouveau serveur a été généré: <b>/etc/xen/servvirt1.mondomaine.com.cfg</b><br />
<h1>Gestion du serveur virtuel</h1>
<h2>Démarrage du serveur virtuel</h2>
<p>Pour lancer le serveur virtuel préalablement créé, il faut saisir la commande:<br />
<blockquote>xm create <b>/etc/xen/servvirt1.mondomaine.com.cfg</b></p></blockquote>
<p>Vous pouvez alors vous connecte dessus en SSH:<br />
<blockquote>ssh root@<b>servvirt1.mondomaine.com</b></p></blockquote>
<p>Pour automatiser le démarrage de ce serveur virtuel (domU) au lancement de votre serveur hôte (dom0), il faut créer le lien suivant:<br />
<blockquote>ln -s /etc/xen/<b>servvirt1.mondomaine.com</b>.cfg /etc/xen/auto/host1.cfg</p></blockquote>
<p>Cette commande permet de séquencer le lancement des serveurs domU dans un certain ordre. Cela peut être utile si le service hébérgé sur un serveur virtuel dépend d'un autre...<br />
<h2>Autres commandes utiles à l'administration de vos serveurs virtuels</h2>
<p>Pour arrêter un serveur virtuel:<br />
<blockquote>xm shutdown <b>servvirt1.mondomaine.com</b></p></blockquote>
<p>Pour voir la liste des serveurs virtuelles lancées:<br />
<blockquote># xm list<br /><font color="#666666"><small>Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ID&nbsp;&nbsp; Mem VCPUs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; State&nbsp;&nbsp; Time(s)</small></font><br /><font color="#666666"><small>Domain-0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp; 1765&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; r-----&nbsp;&nbsp;&nbsp; 106.7</small></font><br /><font color="#666666"><small><b>servvirt1.mondomaine.com</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp; 256&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; -b----&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.6</small></font></p></blockquote>
<p>Liste des serveurs virtuels créés:<br />
<blockquote># xen-list-images<br /><font color="#666666"><small>Name: <b>servvirt1.mondomaine.com</b></small></font><br /><font color="#666666"><small>Memory: 256</small></font><br /><font color="#666666"><small>IP: 192.168.29.171</small></font></p></blockquote>
<p>Occupation des ressources en temps réel:<br />
<blockquote>xentop</p></blockquote>
<p>Pour rendre prioritaire un serveur virtuel par rapport à un autre, nous allons utiliser les options du gestionnaire d'allocation des ressources ("Credit scheduler", par défaut dans la version Xen 3.0). <br />Par exemple, si nous avons deux serveurs virtuels <b>servvirt1 </b>et <b>servvirt2 </b>(domU) hébérgés sur notre serveur hôte (dom0) et que nous souhaitons donner deux fois plus de temps CPU à <b>servvirt2</b>, il suffit de saisir la commande suivante:</p>
<p>xm sched-credit -d <b>servvirt2.mondomaine.com</b> -w 512</p>
<p>PS: par défaut, un serveur virtuel à un poids de 256.</p>
<p>La liste des poids des serveurs virtuels peut être obtenue grâce à la commande:<br />
<blockquote># xm sched-credit<br /><small>Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ID Weight&nbsp; Cap</small><br /><small>Domain-0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 256&nbsp;&nbsp;&nbsp; 0</small><br /><small><b>servvirt1.mondomaine.com</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 256&nbsp;&nbsp;&nbsp; 0</small><br /><small><b>servvirt2.mondomaine.com</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 512 &nbsp;&nbsp; 0</small></p></blockquote>
<p>Les commandes xm sched-credit sont à lancer (par exemple dans un script shell) au démarrage du serveur hôte.<br />
<h1>Conclusion</h1>
<p>Xen et la virtualisation en général est un très bon moyen, dans cette période de crise, d'optimiser au mieux les ressources hardware disponibles. Il est bien sûr possible de créer autant de serveurs virtuels que possible sur notre serveur hôte (dans les limites de performances souhaités au niveau des domU).<br /><i><br /><small>Quelques sources utiles à la rédaction de ce billet:<br /></small></i>
<ul>
<li><i><small><a href="http://www.cl.cam.ac.uk/research/srg/netos/xen/readmes/user/user.html">http://www.cl.cam.ac.uk/</a></small></i></li>
<li><i><small><a href="http://www.howtoforge.com/virtualization-with-xen-on-debian-lenny-amd64">http://www.howtoforge.com/</a></small></i></li>
<li><i><small><a href="http://www.eecs.iu-bremen.de/wiki/index.php/Xen">http://www.eecs.iu-bremen.de/</a></small></i></li>
<li><i><small><a href="http://www.d7031.de/text/xen_with_lvm_under_etch.shtml">http://www.d7031.de/</a></small></i></li>
<li><i><small><a href="http://www.unixgarden.com/index.php/administration-systeme/problematique-de-consolidation-et-atteinte-des-objectifs-de-niveau-de-service-slo-avec-xen">http://www.unixgarden.com/</a><br /></small></i></li>
</ul>
<p></p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2046">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/JF1pe2G65j9hyW8ahFqkKABEfFQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/JF1pe2G65j9hyW8ahFqkKABEfFQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/JF1pe2G65j9hyW8ahFqkKABEfFQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/JF1pe2G65j9hyW8ahFqkKABEfFQ/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=zjYzwvLn-M8:HRioHRaKCY8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=zjYzwvLn-M8:HRioHRaKCY8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=zjYzwvLn-M8:HRioHRaKCY8:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=zjYzwvLn-M8:HRioHRaKCY8:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/LeBlogDeNicolargo/~4/zjYzwvLn-M8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/06/installation-pas-a-pas-de-xen-sous-debian.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://blog.nicolargo.com/2009/06/installation-pas-a-pas-de-xen-sous-debian.html</feedburner:origLink></item>
		<item>
		<title>Nagios 3.1.2 est sorti !</title>
		<link>http://feedproxy.google.com/~r/LeBlogDeNicolargo/~3/v1ATIawJLPM/nagios-3-1-2-est-sorti.html</link>
		<comments>http://blog.nicolargo.com/2009/06/nagios-3-1-2-est-sorti.html#comments</comments>
		<pubDate>Wed, 24 Jun 2009 12:05:57 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[3.1.2]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/06/nagios-3-1-2-est-sorti.html</guid>
		<description>Pas de nouveauté mais juste le correctif pour un gros bug de la version 3.1.1 qui mettait votre CPU KO...Il est donc temps de mettre à jour son serveur en suivant cette procédure.

                       [...]</description>
			<content:encoded><![CDATA[<div align="center"><font face="sans-serif"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_0021.png" width="251" height="142" /></font></div>
<p><font face="sans-serif"><br />Pas de nouveauté mais juste le correctif pour un gros bug de la version 3.1.1 qui mettait votre CPU KO...<br />Il est donc temps de mettre à jour son serveur en suivant <a href="http://blog.nicolargo.com/2008/04/comment-mettre-a-jour-son-serveur-nagios.html">cette procédure</a>.</font></p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2043">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/ZGKaM6zJgSGn6aESBO9MPyW6q7Y/0/da"><img src="http://feedads.g.doubleclick.net/~a/ZGKaM6zJgSGn6aESBO9MPyW6q7Y/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ZGKaM6zJgSGn6aESBO9MPyW6q7Y/1/da"><img src="http://feedads.g.doubleclick.net/~a/ZGKaM6zJgSGn6aESBO9MPyW6q7Y/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=v1ATIawJLPM:7wyLMWmWftM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=v1ATIawJLPM:7wyLMWmWftM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=v1ATIawJLPM:7wyLMWmWftM:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=v1ATIawJLPM:7wyLMWmWftM:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/LeBlogDeNicolargo/~4/v1ATIawJLPM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/06/nagios-3-1-2-est-sorti.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.nicolargo.com/2009/06/nagios-3-1-2-est-sorti.html</feedburner:origLink></item>
		<item>
		<title>Installation de Songbird 1.2 sous Ubuntu</title>
		<link>http://feedproxy.google.com/~r/LeBlogDeNicolargo/~3/hmnY-E1QzsI/installation-de-songbird-1-2-sous-ubuntu.html</link>
		<comments>http://blog.nicolargo.com/2009/06/installation-de-songbird-1-2-sous-ubuntu.html#comments</comments>
		<pubDate>Wed, 24 Jun 2009 09:31:11 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Musique]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[songbird]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/06/installation-de-songbird-1-2-sous-ubuntu.html</guid>
		<description>La version 1.2 de Songbird vient d'être mise à disposition, voici donc une procédure pour l'installer sur votre système GNU/Linux Ubuntu. Songbird est un gestionnaire de fichiers multimédia (musique, vidéo) open-source que l'on présente souvent comme le Firefox des iTunes (une belle pression sur ses épaules...). 

Je ne vais pas rentrer dans le détail des [...]</description>
			<content:encoded><![CDATA[<p>La version 1.2 de Songbird vient d'être mise à disposition, voici donc une procédure pour l'installer sur votre système GNU/Linux Ubuntu. Songbird est un gestionnaire de fichiers multimédia (musique, vidéo) open-source que l'on présente souvent comme le Firefox des iTunes (une belle pression sur ses épaules...). </p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/songbird-1.1-screenshot-full.jpg" width="575" height="417" /></div>
<p>Je ne vais pas rentrer dans le détail des fonctions que propose ce logiciel, il suffit de se rendre <a href="http://getsongbird.com/features/">sur cette page</a> pour avoir ces informations. Par contre, nous allons dans ce billet nous pencher sur l'installation de la "bête" sur notre bonne vieille distribution GNUL/Linux Ubuntu. Il va falloir un tout petit peu bidouiller car cette dernière version n'est pas encore dans les repos officiels.</p>
<p>On commence par récupérer Songbird à l'adresse suivante: <a href="http://getsongbird.com/download/">http://getsongbird.com/download/</a></p>
<p>On va obtenir un fichier au format (extension) .tar.gz
<p>Il faut ensuite ouvrir un terminal et ce rendre dans le répertoire ou le fichier a été télé-chargé (/home/nicolargo/Bureau dans mon exemple):</p>
<blockquote><p>cd /home/nicolargo/Bureau</p>
</blockquote>
<p>Ensuite on décompresse l'archive:</p>
<blockquote><p>tar zxvf Songbird_1.2.0-1146_linux-i686.tar.gz</p>
</blockquote>
<p>On va obtenir un répertoire <b>Songbird</b>.</p>
<p>Il ne reste plus qu'a dés-installer (si nécessaire) les versions précédentes:</p>
<blockquote><p> sudo apt-get remove songbird</p></blockquote>
<p>Puis à copier la nouvelle version dans notre système:<br />
<blockquote>sudo mv Songbird /opt/
<p>sudo chown -R root:root /opt/Songbird</p>
<p>sudo chmod -R 755 /opt/Songbird</p>
</blockquote>
<p>Enfin, on créé un nouveau lanceur d'application personnalisé dans le tableau de bord:</p>
<ul>
<li>click droit sur la barre de menu, puis click sur "Editer les menus"</li>
<li>click sur le menu Applications / Son et vidéo</li>
<li>click sur "Nouvel élément"</li>
</ul>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_0011.png" width="477" height="229" /></div>
<ul>
<li>click sur Valider</li>
</ul>
<p>Et voili, il ne reste plus qu'à aller dans le menu Applications / Son et vidéo et cliquer sur Songbird pour lancer l'application !</p>
<p>Bonne écoute <img src="http://blog.nicolargo.com/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> </p>
<p></p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2037">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/ssMrhw8jnoLCXCH0b1SU3b5tyv8/0/da"><img src="http://feedads.g.doubleclick.net/~a/ssMrhw8jnoLCXCH0b1SU3b5tyv8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ssMrhw8jnoLCXCH0b1SU3b5tyv8/1/da"><img src="http://feedads.g.doubleclick.net/~a/ssMrhw8jnoLCXCH0b1SU3b5tyv8/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=hmnY-E1QzsI:KqRARQshUKU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=hmnY-E1QzsI:KqRARQshUKU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=hmnY-E1QzsI:KqRARQshUKU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=hmnY-E1QzsI:KqRARQshUKU:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/LeBlogDeNicolargo/~4/hmnY-E1QzsI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/06/installation-de-songbird-1-2-sous-ubuntu.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.nicolargo.com/2009/06/installation-de-songbird-1-2-sous-ubuntu.html</feedburner:origLink></item>
		<item>
		<title>Mes "marques ta-pages" de la semaine</title>
		<link>http://feedproxy.google.com/~r/LeBlogDeNicolargo/~3/x_wbaTzZkK4/mes-marques-ta-pages-de-la-semaine-9.html</link>
		<comments>http://blog.nicolargo.com/2009/06/mes-marques-ta-pages-de-la-semaine-9.html#comments</comments>
		<pubDate>Thu, 18 Jun 2009 15:19:55 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/06/mes-marques-ta-pages-de-la-semaine-9.html</guid>
		<description>Un assureur en ligne avec un site très Web 2.0 (merci tux-planet...)


Script shell pour ne plus avoir les erreurs PUBKEY de dépôts PPA.


Thèmes zgegblog pour GNU/Linux Ubuntu


NConf, enfin une couche Web acceptable pour Nagios (à essayer...)




                    [...]</description>
			<content:encoded><![CDATA[<div class="blogmarks">
<ul>
<li><a href="http://www.amaguiz.com/assurance-en-ligne-@/index.jspz?id=52">
<p>Un assureur en ligne avec un site très Web 2.0 (merci tux-planet...)</p>
<p></a></li>
<li><a href="http://www.michtoblog.com/2009/06/16/un-script-pour-reparer-en-une-seule-fois-toutes-les-erreurs-de-cle-des-depots-ppa/">
<p>Script shell pour ne plus avoir les erreurs PUBKEY de dépôts PPA.</p>
<p></a></li>
<li><a href="http://jonasluthi.com/2009/06/de-magnifiques-themes-pour-votre-distribution-gnulinux-ubuntu/">
<p>Thèmes zgegblog pour GNU/Linux Ubuntu</p>
<p></a></li>
<li><a href="http://sourceforge.net/apps/mediawiki/nconf/index.php?title=Main_Page">
<p>NConf, enfin une couche Web acceptable pour Nagios (à essayer...)</p>
<p></a></li>
</ul>
</div>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2034">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/WwM5HIWGgCYl7Ru0hi7DyYm9wGQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/WwM5HIWGgCYl7Ru0hi7DyYm9wGQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/WwM5HIWGgCYl7Ru0hi7DyYm9wGQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/WwM5HIWGgCYl7Ru0hi7DyYm9wGQ/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=x_wbaTzZkK4:qAMDROmkI-g:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=x_wbaTzZkK4:qAMDROmkI-g:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=x_wbaTzZkK4:qAMDROmkI-g:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=x_wbaTzZkK4:qAMDROmkI-g:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/LeBlogDeNicolargo/~4/x_wbaTzZkK4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/06/mes-marques-ta-pages-de-la-semaine-9.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.nicolargo.com/2009/06/mes-marques-ta-pages-de-la-semaine-9.html</feedburner:origLink></item>
		<item>
		<title>NConf, une interface Web pour Nagios</title>
		<link>http://feedproxy.google.com/~r/LeBlogDeNicolargo/~3/TTkSx7gvjgc/nconf-une-interface-web-pour-nagios.html</link>
		<comments>http://blog.nicolargo.com/2009/06/nconf-une-interface-web-pour-nagios.html#comments</comments>
		<pubDate>Tue, 16 Jun 2009 09:17:04 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nconf]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/06/nconf-une-interface-web-pour-nagios.html</guid>
		<description>Utilisateurs de Nagios, votre rêve va bientôt se réaliser ! Une équipe Suisse travaille sur le saint Graal de la supervision système et réseau. En effet leur projet NConf vient répondre à un besoin récurrent des utilisateurs de Nagios: l'impossibilité d'administrer son serveur via une interface Web.
Nous allons dans ce billet tester la version 1.2.5 [...]</description>
			<content:encoded><![CDATA[<p><img style="max-width: 800px; float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/350px-Nc-logo-large.png" width="154" height="77" />Utilisateurs de Nagios, votre rêve va bientôt se réaliser ! Une équipe Suisse travaille sur le saint Graal de la supervision système et réseau. En effet leur projet NConf vient répondre à un besoin récurrent des utilisateurs de Nagios: l'impossibilité d'administrer son serveur via une interface Web.</p>
<p>Nous allons dans ce billet tester la version 1.2.5 de NConf sur un serveur Nagios 3.1. Je pars sur l'hypothèse ou le serveur Nagios a été installé en suivant mes deux premiers tutos (<a href="http://blog.nicolargo.com/2009/01/le-serveur-de-supervision-libre-part-1.html">1</a> et <a href="http://blog.nicolargo.com/2009/01/le-serveur-de-supervision-libre-part-2.html">2</a>).</p>
<p><span id="more-2031"></span><br />
<h1>Installation de NConf</h1>
<p>On commence par récupérer la dernière version disponible de NConf (la 1.2.5 au moment de l'écriture de ce billet).<br />
<blockquote>wget http://puzzle.dl.sourceforge.net/sourceforge/nconf/nconf-1.2.5-0.tgz</p></blockquote>
<p>On décompresse l'archive:<br />
<blockquote>tar zxvf nconf-1.2.5-0.tgz</p></blockquote>
<p>Puis on copie le répertoire nconf à la racine de son serveur Web et on change les droits:<br />
<blockquote>sudo mv nconf /usr/local<br />sudo chown -R www-data:www-data /usr/local/nconf</p></blockquote>
<p>Notes: les sous-répertoires suivants doivent avoir les droits en écriture pour l'utilisateur www-data:<br /> ./config <br />&nbsp;./output <br />&nbsp;./static_cfg <br />&nbsp;./temp</p>
<h1>Création de la base de donnée</h1>
<p>La prochaine étape consiste à créer une base de données dédiée ) NConf. Pour créer un base de donnée nommée nconf avec les droits pour l'utilisateur nconfuser (mot de passe: nconfpassword), il faut saisir les commandes suivantes sur son serveur MySQL:<br />
<blockquote># mysqladmin --user=root -p create nconf</p>
<p># mysql --user=root -p mysql</p>
<p>mysql&gt; GRANT ALL ON nconf.* TO nconfuser@localhost IDENTIFIED BY 'nconfpassword';</p>
<p>mysql&gt; flush privileges;</p></blockquote>
<h1>Configuration du serveur Web</h1>
<p>Pour rendre accessible le répertoire /usr/local/nconf à partir de votre serveur Web, il faut ajouter le fichier de configuration /etc/apache2/conf.d/nconf.conf dans votre configuration Apache:<br />
<blockquote>Alias /nconf /usr/local/nconf/<br />&lt;Directory "/usr/local/nconf"&gt;<br />&nbsp;&nbsp;&nbsp; Options Indexes<br />&nbsp;&nbsp;&nbsp; AllowOverride AuthConfig Options<br />&nbsp;&nbsp;&nbsp; Order allow,deny<br />&nbsp;&nbsp;&nbsp; Allow from all<br />&lt;/Directory&gt;</p></blockquote>
<p>Puis relancer Apache:<br />
<blockquote>apache2ctl restart</p></blockquote>
<p>
<h1>Configuration de NConf</h1>
<p>La fin de l'installation se fait via une interface Web. Il faut donc saisir l'URL suivante dans un navigateur:</p>
<div align="center"><b>http://adressedevotreserveur/nconf/INSTALL.php</b></div>
<p>Ce qui devrait afficher:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_001.png" /></div>
<p>On clique sur le bouton <b>Next</b>.</p>
<p>On doit saisir les paramètres de la base de donnée préalablement créées:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_002.png" width="576" height="274" /></div>
<p>On clique sur le bouton <b>Next</b>.</p>
<p>Le test de la BD doit être OK:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_003.png" /></div>
<p>On clique sur le bouton <b>Next</b>.</p>
<p>On fixe les répertoires de Nconf et de Nagios (/usr/local/nagios/bin). <b>Attention</b> dans le champs NAGIOS BIN, il faut saisir le chemin complet vers le binaire de Nagios (/usr/local/nagios/bin/nagios) et pas seulement le répertoire comme je l'ai fait dans un premier temps dans cette capture d'écran...</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_004.png" width="572" height="260" /></div>
<p>On clique sur le bouton <b>Next</b>.</p>
<p>On fixe un mot de passe (adminpassword) pour l'accès à NConf:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_005.png" width="577" height="247" /></div>
<p>On clique sur le bouton <b>Next</b>.</p>
<p>Le programme d'installation va vérifier la configuration (tout doit être OK):</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_006.png" width="578" height="532" /></div>
<p>On clique sur le bouton <b>Finish</b>.</p>
<p>On efface les fichier suivant:<br />
<blockquote>sudo rm -r /usr/local/nconf/INSTALL /usr/local/nconf/INSTALL.php /usr/local/nconf/UPDATE /usr/local/nconf/UPDATE.php</p></blockquote>
<h1>Mise en place de la synchronisation avec Nagios</h1>
<p>Comme NConf peut être hébergé sur une machine différente du serveur Nagios, l'importation de la configuration NCOnf vers Nagios doit se faire à la main ou par un script shell. Je préfére bien entendu cette deuxième méthode. </p>
<p>Avant tout, il faut vérifier que le répertoire Nagios à les bon droits en lecture et écriture pour être modifié par l'utilisateur www-data (utilisateur avec lequel le serveur Apache est lancé). Le plus simple est d'ajouter www-data au groupe nagiosgrp:<br />
<blockquote># vigr<br />nagiosgrp:x:1002:nagios,www-data</p></blockquote>
<p>puis de mettre les bons droits au répertoire etc:<br />
<blockquote>chown -R nagios:<b>nagiosgrp</b> /usr/local/nagios/etc<br />chmod 770 /usr/local/nagios/etc</p></blockquote>
<p>J'ai ensuite modifié le script ADD-ONS/deploy-local.sh de la manière suivante:<br />
<blockquote><small>#!/bin/bash</small><br /><small>OUTPUT_DIR="/usr/local/nconf/output/"</small><br /><small>NAGIOS_DIR="/usr/local/nagios/etc/"</small><br /><small>TEMP_DIR=${NAGIOS_DIR}"import/"</small><br /><small>CONF_ARCHIVE="NagiosConfig.tgz"</small><br /><small>if [ ! -e ${TEMP_DIR} ] ; then</small><br /><small>mkdir -p ${TEMP_DIR}</small><br /><small>fi</small><br /><small>if [ ${OUTPUT_DIR}${CONF_ARCHIVE} -nt ${TEMP_DIR}${CONF_ARCHIVE} ] ; then</small><br /><small>cp -p ${OUTPUT_DIR}${CONF_ARCHIVE} ${TEMP_DIR}${CONF_ARCHIVE}</small><br /><small>tar -xf ${TEMP_DIR}${CONF_ARCHIVE} -C ${NAGIOS_DIR}</small><br /><small>/etc/init.d/nagios reload</small><br /><small>fi</small><br /><small>exit</small></p></blockquote>
<p>Il ne reste plus qu'a l'éxecuter de manière automatique (par exemple toutes les 5 minutes) via un crontab root:<br />
<blockquote># crontab -e<br />*/5 * * * * /bin/bash /usr/local/nconf/ADD-ONS/deploy_local.sh 2&gt;&amp;1 &gt; /dev/null</p></blockquote>
<p>
<h1>Utilisation de NConf</h1>
<p>La première chose à faire est de se connecter à l'interface Web et de s'authentifier (admin/adminpassword). La page suivante devrait s'afficher:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/NConf_1245079025114.png" width="574" height="413" /></div>
<p>On va tester notre nouvelle interface en ajoutant un nouvel host dans Nagios. Pour cela on clique sur le menu "Hosts Add" de NConf:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_009.png" width="572" height="578" /></div>
<p>On clique ensuite sur <b>Submit</b>.</p>
<p>On peut alors choisir les services à superviser (il est bien sûr possible d'ajouter des services via NConf):</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_007.png" width="563" height="233" /></div>
<p>On clique ensuite sur <b>Submit</b>.</p>
<p>Une dernière page s'affiche avec le résumé:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_008.png" /></div>
<p>On clique sur <b>Finish</b>.</p>
<p>NConf vient ainsi d'ajouter ce nouvel host dans sa base de donnée. En cliquant maintenant sur le lien "<b>Generate Nagios config</b>", on va générer les fichiers de configuration de Nagios dans un NagiosConfig.tgz se trouvant dans le répertoire&nbsp; /usr/local/nconf/output. </p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_010.png" /></div>
<p>Il ne reste plus qu'a attendre le prochain lancement du script deploy-local.sh (dans les 5 minutes via crontab) pour que le host apparaisse dans Nagios:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_011.png" width="553" height="96" /></div>
<p>
<h1>Conclusion</h1>
<p>Bien qu'en développement, NConf est très prometteur et comble le vide laissé par Nagios pour l'administration via une interface Web. L'idéal serait maintenant d'intégrer cette interface dans celle de Nagios (le hack ne doit pas être très difficile à faire) afin de ne pas avoir deux interfaces (NConf et Nagios).</p>
<p>A vous de tester maintenant...</p>
<p></p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2031">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/nT9-uqrlk8m-ZuonhNOZG-Y8x-I/0/da"><img src="http://feedads.g.doubleclick.net/~a/nT9-uqrlk8m-ZuonhNOZG-Y8x-I/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/nT9-uqrlk8m-ZuonhNOZG-Y8x-I/1/da"><img src="http://feedads.g.doubleclick.net/~a/nT9-uqrlk8m-ZuonhNOZG-Y8x-I/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=TTkSx7gvjgc:a1do3l2S6vM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=TTkSx7gvjgc:a1do3l2S6vM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=TTkSx7gvjgc:a1do3l2S6vM:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=TTkSx7gvjgc:a1do3l2S6vM:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/LeBlogDeNicolargo/~4/TTkSx7gvjgc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/06/nconf-une-interface-web-pour-nagios.html/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		<feedburner:origLink>http://blog.nicolargo.com/2009/06/nconf-une-interface-web-pour-nagios.html</feedburner:origLink></item>
		<item>
		<title>Mes "marques ta-pages" de la semaine</title>
		<link>http://feedproxy.google.com/~r/LeBlogDeNicolargo/~3/x2f_6Dd1c8U/mes-marques-ta-pages-de-la-semaine-8.html</link>
		<comments>http://blog.nicolargo.com/2009/06/mes-marques-ta-pages-de-la-semaine-8.html#comments</comments>
		<pubDate>Fri, 12 Jun 2009 09:28:24 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/06/mes-marques-ta-pages-de-la-semaine-8.html</guid>
		<description>Compilation du kernel Linux sous Ubuntu


Un fil de discussion très intéressant sur le comment de la sécurisation d'un système FreeBSD.


Comment libérer un peu d'espace disque sur son Mac...




                            [...]</description>
			<content:encoded><![CDATA[<div class="blogmarks">
<ul>
<li><a href="http://ubuntuforums.org/showthread.php?t=311158">
<p>Compilation du kernel Linux sous Ubuntu</p>
<p></a></li>
<li><a href="http://forums.freebsd.org/showthread.php?t=4108">
<p>Un fil de discussion très intéressant sur le comment de la sécurisation d'un système FreeBSD.</p>
<p></a></li>
<li><a href="http://www.macgeneration.com/news/voir/135173/recuperez-des-giga-octets-sur-votre-mac">
<p>Comment libérer un peu d'espace disque sur son Mac...</p>
<p></a></li>
</ul>
</div>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2017">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/Y8BPCM7-J0Z7GalToUbW0U1gQ7c/0/da"><img src="http://feedads.g.doubleclick.net/~a/Y8BPCM7-J0Z7GalToUbW0U1gQ7c/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Y8BPCM7-J0Z7GalToUbW0U1gQ7c/1/da"><img src="http://feedads.g.doubleclick.net/~a/Y8BPCM7-J0Z7GalToUbW0U1gQ7c/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=x2f_6Dd1c8U:toJEq_gv_II:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=x2f_6Dd1c8U:toJEq_gv_II:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=x2f_6Dd1c8U:toJEq_gv_II:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=x2f_6Dd1c8U:toJEq_gv_II:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/LeBlogDeNicolargo/~4/x2f_6Dd1c8U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/06/mes-marques-ta-pages-de-la-semaine-8.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.nicolargo.com/2009/06/mes-marques-ta-pages-de-la-semaine-8.html</feedburner:origLink></item>
		<item>
		<title>Un bon bouquin d'introduction à Nagios</title>
		<link>http://feedproxy.google.com/~r/LeBlogDeNicolargo/~3/sC-BVue8oTQ/un-bon-bouquin-dintroduction-a-nagios.html</link>
		<comments>http://blog.nicolargo.com/2009/06/un-bon-bouquin-dintroduction-a-nagios.html#comments</comments>
		<pubDate>Fri, 12 Jun 2009 08:50:14 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[livre]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/06/un-bon-bouquin-dintroduction-a-nagios.html</guid>
		<description>Il y a quelques jours, j'ai eu entre le main le livre de Wojciech Kocjan entre les mains: "Learning Nagios 3.0".

C'est une très bonne introduction à Nagios, plutôt dédiée aux personnes débutant dans le domaine de la supervision réseau mais ayant quand même de bonne base en système et réseau.
Le livre est seulement disponible en [...]</description>
			<content:encoded><![CDATA[<p>Il y a quelques jours, j'ai eu entre le main le livre de Wojciech Kocjan entre les mains: <a href="https://images-na.ssl-images-amazon.com/images/I/41wWx9e269L._SL160_.jpg">"Learning Nagios 3.0"</a>.</p>
<div align="center"><a href="http://www.amazon.fr/gp/product/1847195180?ie=UTF8&amp;tag=leblogdenico-21&amp;linkCode=as2&amp;camp=1642&amp;creative=19458&amp;creativeASIN=1847195180"><img src="41wWx9e269L._SL160_.jpg" border="0" alt="" /></a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.fr/e/ir?t=leblogdenico-21&amp;l=as2&amp;o=8&amp;a=1847195180" border="0" alt="" width="1" height="1" /></div>
<p>C'est une très bonne introduction à Nagios, plutôt dédiée aux personnes débutant dans le domaine de la supervision réseau mais ayant quand même de bonne base en système et réseau.</p>
<p>Le livre est seulement disponible en Anglais (pas de traduction prévue pour le moment). Si vous êtes allergique à la langue de Shakespeare, je vous conseille encore une fois le très bon livre d'Olivier Jan: <a href="http://blog.nicolargo.com/wp-content/plugins/wp-adserve/adclick.php?id=8">"Nagios et la supervision open source"</a>.</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2014">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/jqxCCJc-UdeSnXuF0s7KszjueXk/0/da"><img src="http://feedads.g.doubleclick.net/~a/jqxCCJc-UdeSnXuF0s7KszjueXk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/jqxCCJc-UdeSnXuF0s7KszjueXk/1/da"><img src="http://feedads.g.doubleclick.net/~a/jqxCCJc-UdeSnXuF0s7KszjueXk/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=sC-BVue8oTQ:2k_myeKPKCw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=sC-BVue8oTQ:2k_myeKPKCw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=sC-BVue8oTQ:2k_myeKPKCw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=sC-BVue8oTQ:2k_myeKPKCw:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/LeBlogDeNicolargo/~4/sC-BVue8oTQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/06/un-bon-bouquin-dintroduction-a-nagios.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.nicolargo.com/2009/06/un-bon-bouquin-dintroduction-a-nagios.html</feedburner:origLink></item>
		<item>
		<title>Offre de support professionnel pour Nagios</title>
		<link>http://feedproxy.google.com/~r/LeBlogDeNicolargo/~3/rJidZVXRqHs/offre-de-support-professionnel-pour-nagios.html</link>
		<comments>http://blog.nicolargo.com/2009/06/offre-de-support-professionnel-pour-nagios.html#comments</comments>
		<pubDate>Fri, 12 Jun 2009 07:44:11 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[professionnel]]></category>
		<category><![CDATA[support]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/06/offre-de-support-professionnel-pour-nagios.html</guid>
		<description>Nagios, l'outil de supervision open-source, connait un succès très important dans les entreprises (il n'y a qu'à voir le nombre de commentaires de stagiaires bossant sur le sujet dans mes tutos...). De nombreuses sociétés de service en informatique propose un support sur ce logiciel. C'est dans ce contexte que la société Nagios vient de lancer [...]</description>
			<content:encoded><![CDATA[<p><a href="http://blog.nicolargo.com/nagios-tutoriels-et-documentations">Nagios</a>, l'outil de supervision open-source, connait un succès très important dans les entreprises (il n'y a qu'à voir le nombre de commentaires de stagiaires bossant sur le sujet dans <a href="http://blog.nicolargo.com/2009/01/le-serveur-de-supervision-libre-part-2.html">mes tutos</a>...). De nombreuses sociétés de service en informatique propose un support sur ce logiciel. C'est dans ce contexte que la société Nagios vient de lancer <a href="http://support.nagios.com">un portail</a> pour le support de son logiciel.</p>
<div style="text-align: center;"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_013.png" alt="" width="579" height="330" /></div>
<p>Ce support comprend l'accès à des équipes d'experts dédiés disponible un peu partout sur la planète (pas de problème de décalage horaire), un accès à un gestionnaire de tickets pour saisir et suivre vos appels. Une base de connaissance <span style="text-decoration: underline;">publique</span> (documentation, FAQ) est <a href="http://support.nagios.com/knowledge-base">également disponible</a>.</p>
<p><a href="http://www.nagios.com/services/support">Le prix annuel</a> pour l'accès à ce support commence à  $2495 (soit environ <span style="text-decoration: underline;">1766</span> Euros). Comme quoi il est possible d'associer business et open-source...</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2011">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/cfi0NrE6firXMLcFe3df9VZs6Yc/0/da"><img src="http://feedads.g.doubleclick.net/~a/cfi0NrE6firXMLcFe3df9VZs6Yc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/cfi0NrE6firXMLcFe3df9VZs6Yc/1/da"><img src="http://feedads.g.doubleclick.net/~a/cfi0NrE6firXMLcFe3df9VZs6Yc/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=rJidZVXRqHs:2GVQv4nNoj0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=rJidZVXRqHs:2GVQv4nNoj0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=rJidZVXRqHs:2GVQv4nNoj0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=rJidZVXRqHs:2GVQv4nNoj0:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/LeBlogDeNicolargo/~4/rJidZVXRqHs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/06/offre-de-support-professionnel-pour-nagios.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.nicolargo.com/2009/06/offre-de-support-professionnel-pour-nagios.html</feedburner:origLink></item>
		<item>
		<title>GStreamer et le codec X.264</title>
		<link>http://feedproxy.google.com/~r/LeBlogDeNicolargo/~3/06AuZXt5xQQ/gstreamer-et-le-codec-x264.html</link>
		<comments>http://blog.nicolargo.com/2009/06/gstreamer-et-le-codec-x264.html#comments</comments>
		<pubDate>Wed, 10 Jun 2009 08:32:03 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[gstreamer]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[codec]]></category>
		<category><![CDATA[H.264]]></category>
		<category><![CDATA[MPEG.4]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[X.264]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/06/gstreamer-et-le-codec-x264.html</guid>
		<description>Souhaitant effectuer un streaming RTP à partir d'une Webcam, voici un billet sur l'optimisation des paramètres du codec libre X.264 (implémentation libre du codec H.264 ou MPEG-4 AVC - WIKI) dont l'équipe de VideoLAN est à l'origine. Pour tester ce codec et ensuite mettre en place le streaming, j'utiliserai le framework GStreamer.

A la recherche des [...]</description>
			<content:encoded><![CDATA[<p><img style="max-width: 800px; float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/x264.png" />Souhaitant effectuer un streaming RTP à partir d'une Webcam, voici un billet sur l'optimisation des paramètres du codec libre X.264 (implémentation libre du codec H.264 ou MPEG-4 AVC - <small><a href="http://fr.wikipedia.org/wiki/X264">WIKI</a></small>) dont l'équipe de VideoLAN est à l'<a href="http://www.videolan.org/developers/x264.html">origine</a>. Pour tester ce codec et ensuite mettre en place le streaming, j'utiliserai le framework <a href="http://blog.nicolargo.com/tag/gstreamer">GStreamer</a>.</p>
<p><span id="more-2001"></span><br />
<h1>A la recherche des "bons" paramètres</h1>
<p>On commence par&nbsp; créer un fichier vidéo de référence. Ce dernier est à adapter à votre besoin. Pour mes tests, j'ai enregistré une séquence d'une dizaine de secondes devant ma Webcam:<br />
<blockquote>gst-launch v4l2src device="/dev/video1" ! queue ! videoscale method=1 ! video/x-raw-yuv,width=320,height=240 ! avimux ! filesink location=webcam.avi</p></blockquote>
<p>Ensuite on génère un fichier encodé en H.264 (c'est à dire sans paramètre, avec un encodage à 2 Mbps). Il servira de référence pour la comparaison qualitative:<br />
<blockquote>gst-launch filesrc location=webcam.avi ! decodebin ! queue ! ffmpegcolorspace ! x264enc ! avimux ! filesink location=webcam-x264-10.avi</p></blockquote>
<p>On peut comparer les deux:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcamavi-2.png" width="250" height="187" /> <img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcam-x264-10avi-21.png" width="250" height="187" /><br /><i><small>Original <b>vs</b> X.264 (defaut)</small></i></div>
<p>On va maintenant jouer avec les paramètres disponibles pour le codec X.264. La liste de ces paramètres est longue et le paramétrage très pointu. Je vous conseille la lecture de ce <a href="http://www.scribd.com/doc/16217934/x264-Options-Analysis-08">document</a> et de ce <a href="http://forum.doom9.org/forumdisplay.php?f=77">forum</a>.</p>
<p>Nous allons dans un premier temps fixer le débit de compression à 200 Kbps (paramètre <i>bitrate</i>) puis mettre des valeurs moyennes au niveau des paramètres <i>ref</i> et <i>subme</i>. Cela devrait assurer un bon compromis entre vitesse de compression et qualité d'image.<br />
<blockquote>gst-launch filesrc location=webcam.avi ! decodebin ! queue ! x264enc byte-stream=true bitrate=200 ! gst-launch filesrc location=webcam.avi ! decodebin ! queue ! ffmpegcolorspace ! x264enc byte-stream=true bitrate=200 bframes=4 ref=4 me=hex subme=4 weightb=true threads=0 ! avimux ! filesink location=webcam-x264-11.avi</p></blockquote>
<p>On compare le résultat:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcam-x264-10avi-21.png" width="250" height="187" /> <img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcam-x264-11avi-2.png" width="250" height="187" /><br /><i><small>X.264 (defaut) <b>vs</b> X.264 test 11<br /></small><small>(</small></i><small>byte-stream=true bitrate=200 bframes=4 ref=4 me=hex subme=4 weightb=true threads=0<i><small>)</small></i></small></div>
<p>Comme on peut le voir la qualité est moins bonne (surtout quand il y a des mouvements) mais l'on passe d'un débit de 2089 Kbps à 203 Kbps (soit un facteur 10). </p>
<p>En choisissant des options qui permettent une compression plus rapide (ce qui peut être utile pour une utilisation interactive de type videoconference), on perd encore en qualité:<br />
<blockquote>gst-launch filesrc location=webcam.avi ! decodebin ! queue ! ffmpegcolorspace ! x264enc byte-stream=true bitrate=200 bframes=4 ref=1 me=dia subme=1 weightb=true threads=0 ! avimux ! filesink location=webcam-x264-12.avi</p></blockquote>
<p>On compare le résultat par rapport aux paramètres précédant:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcam-x264-11avi-2.png" width="250" height="187" /> <img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcam-x264-12avi-2.png" width="250" height="187" /></div>
<div align="center"><i><small>X.264 test 11 <b>vs</b> X.264 test 12<br />(</small></i><small>byte-stream=true bitrate=200 bframes=4 ref=1 me=dia subme=1 weightb=true threads=0</small><i><small>)<br /></small></i></div>
<p>La consommation de bande passante entre les deux tests est la même (203 Kbps). Seul le temps d'encodage diffère (gain de 25%). </p>
<p>Enfin on paramètre X.264 pour améliorer la qualité (donc au détriment du temps d'encodage):<br />
<blockquote>gst-launch filesrc location=webcam.avi ! decodebin ! queue ! ffmpegcolorspace ! x264enc byte-stream=true bitrate=200 bframes=4 ref=8 me=umh subme=6 weightb=true threads=0 ! avimux ! filesink location=webcam-x264-13.avi</p></blockquote>
<p>On compare le résultat par rapport aux paramètres du test 11:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcam-x264-11avi-2.png" width="250" height="187" /> <img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcam-x264-13avi-2.png" width="250" height="187" /></div>
<div align="center"><i><small>X.264 test 11 <b>vs</b> X.264 test 13</small></i><br /><i><small>(</small></i><small>byte-stream=true bitrate=200 bframes=4 ref=8 me=umh subme=6 weightb=true threads=0</small><i><small>)</small></i></div>
<p>La qualité est légèrement meilleure (difficile à voir sur cette image), le débit identique, par contre le délais d'encodage bondit de plus de 100%.</p>
<p>Pour résumé, les paramètres suivant sont ceux qui offre le meilleur résultat pour mon besoin:<br />
<blockquote><small>byte-stream=true bitrate=200 bframes=4 ref=4 me=hex subme=4 weightb=true threads=0</small></p></blockquote>
<h1>Ratio qualité/bande passante</h1>
<p>Maintenant que nous avons identifié les "bons" paramètres pour notre besoin. Il faut jouer sur les paramètres externes pour trouver le bon ratio entre la qualité de l'image et la bande passante consommé lors du streaming de notre Webcam.</p>
<p>Les paramètres sur lesquels on a des leviers sont les suivants:
<ul>
<li>taille de l'image (résolution)</li>
<li>nombre d'images par seconde (fps)</li>
<li>débit cible au niveau du codec X.264 (bitrate)</li>
</ul>
<p>Comme je n'aime pas faire des choses répétitives (non non, ce n'est pas de la fainéantise...),&nbsp; j'ai développé un petit script shell qui prend en entrée un fichier vidéo de référence, une liste de résolution (au format GStreamer), une liste de fps et une liste de débit. Le script va générer automatiquement les vidéos encodés avec ces différents paramètres.</p>
<p>Voici le script en question:<br />
<blockquote><small>#!/bin/sh</p>
<p># Je génére le fichier de référence avec la commande:<br /># sudo gst-launch v4l2src device="/dev/video1" ! queue ! videoscale method=1 ! video/x-raw-yuv,width=704,height=576 ! avimux ! filesink location=videotest.avi</p>
<p>videosrc="./videotest.avi"<br />reslist="width=704,height=576 width=352,height=288 width=176,height=144 width=128,height=96"<br />fpslist="24 12 6 3"<br />bitratelist="400 300 200 100 50"</p>
<p>for res in `echo $reslist`<br />do <br />&nbsp;resname=`echo $res | sed "s/width=//" | sed "s/height=//" | sed "s/,/x/"`<br />&nbsp;for fps in `echo $fpslist`<br />&nbsp;do<br />&nbsp; for bitrate in `echo $bitratelist`<br />&nbsp; do<br />&nbsp;&nbsp; echo videotest-${resname}-${fps}fps-${bitrate}kbps.avi<br />&nbsp;&nbsp; gst-launch filesrc location=$videosrc ! decodebin ! ffmpegcolorspace ! queue ! cairotextoverlay text="${resname} ${fps}fps ${bitrate}kbps" shaded-background=true ! queue ! videorate ! video/x-raw-yuv,framerate=$fps/1 ! queue ! videoscale method=1 !&nbsp; video/x-raw-yuv,$res ! queue ! ffmpegcolorspace ! x264enc byte-stream=true bitrate=$bitrate bframes=4 ref=4 me=hex subme=4 weightb=true threads=0 ! avimux ! filesink location=videotest-${resname}-${bitrate}kbps-${fps}fps.avi<br />&nbsp; done<br />&nbsp;done<br />done<br /></small></p></blockquote>
<p>J'obtient les résultats suivants:<br />
<blockquote><small>videotest-704x576-50kbps-6fps.avi donne un débit moyen de 41 kb/s<br />videotest-352x288-50kbps-3fps.avi donne un débit moyen de 42 kb/s<br />videotest-352x288-50kbps-6fps.avi donne un débit moyen de 42 kb/s<br />videotest-704x576-50kbps-3fps.avi donne un débit moyen de 43 kb/s<br />videotest-176x144-50kbps-3fps.avi donne un débit moyen de 44 kb/s<br />videotest-128x96-50kbps-3fps.avi donne un débit moyen de 45 kb/s<br />videotest-176x144-50kbps-6fps.avi donne un débit moyen de 46 kb/s<br />videotest-128x96-50kbps-6fps.avi donne un débit moyen de 47 kb/s<br />videotest-352x288-50kbps-12fps.avi donne un débit moyen de 47 kb/s<br />videotest-704x576-50kbps-12fps.avi donne un débit moyen de 47 kb/s<br />videotest-176x144-50kbps-12fps.avi donne un débit moyen de 51 kb/s<br />videotest-128x96-50kbps-12fps.avi donne un débit moyen de 52 kb/s<br />videotest-352x288-50kbps-24fps.avi donne un débit moyen de 53 kb/s<br />videotest-704x576-50kbps-24fps.avi donne un débit moyen de 53 kb/s<br />videotest-176x144-50kbps-24fps.avi donne un débit moyen de 54 kb/s<br />videotest-128x96-50kbps-24fps.avi donne un débit moyen de 56 kb/s<br />videotest-128x96-100kbps-3fps.avi donne un débit moyen de 73 kb/s<br />videotest-704x576-100kbps-6fps.avi donne un débit moyen de 76 kb/s<br />videotest-352x288-100kbps-3fps.avi donne un débit moyen de 81 kb/s<br />videotest-352x288-100kbps-6fps.avi donne un débit moyen de 81 kb/s<br />videotest-704x576-100kbps-3fps.avi donne un débit moyen de 84 kb/s<br />videotest-176x144-100kbps-3fps.avi donne un débit moyen de 86 kb/s<br />videotest-128x96-200kbps-3fps.avi donne un débit moyen de 87 kb/s<br />videotest-128x96-300kbps-3fps.avi donne un débit moyen de 87 kb/s<br />videotest-128x96-400kbps-3fps.avi donne un débit moyen de 87 kb/s<br />videotest-128x96-100kbps-6fps.avi donne un débit moyen de 88 kb/s<br />videotest-704x576-100kbps-12fps.avi donne un débit moyen de 89 kb/s<br />videotest-352x288-100kbps-12fps.avi donne un débit moyen de 91 kb/s<br />videotest-704x576-100kbps-24fps.avi donne un débit moyen de 93 kb/s<br />videotest-176x144-100kbps-6fps.avi donne un débit moyen de 94 kb/s<br />videotest-176x144-100kbps-12fps.avi donne un débit moyen de 99 kb/s<br />videotest-352x288-100kbps-24fps.avi donne un débit moyen de 99 kb/s<br />videotest-128x96-100kbps-12fps.avi donne un débit moyen de 101 kb/s<br />videotest-176x144-100kbps-24fps.avi donne un débit moyen de 103 kb/s<br />videotest-128x96-100kbps-24fps.avi donne un débit moyen de 104 kb/s<br />videotest-128x96-200kbps-6fps.avi donne un débit moyen de 125 kb/s<br />videotest-128x96-300kbps-6fps.avi donne un débit moyen de 130 kb/s<br />videotest-128x96-400kbps-6fps.avi donne un débit moyen de 131 kb/s<br />videotest-176x144-200kbps-3fps.avi donne un débit moyen de 136 kb/s<br />videotest-704x576-200kbps-6fps.avi donne un débit moyen de 150 kb/s<br />videotest-176x144-300kbps-3fps.avi donne un débit moyen de 151 kb/s<br />videotest-176x144-400kbps-3fps.avi donne un débit moyen de 152 kb/s<br />videotest-352x288-200kbps-6fps.avi donne un débit moyen de 161 kb/s<br />videotest-352x288-200kbps-3fps.avi donne un débit moyen de 162 kb/s<br />videotest-704x576-200kbps-3fps.avi donne un débit moyen de 165 kb/s<br />videotest-176x144-200kbps-6fps.avi donne un débit moyen de 170 kb/s<br />videotest-128x96-200kbps-12fps.avi donne un débit moyen de 174 kb/s<br />videotest-352x288-200kbps-12fps.avi donne un débit moyen de 174 kb/s<br />videotest-704x576-200kbps-12fps.avi donne un débit moyen de 174 kb/s<br />videotest-704x576-200kbps-24fps.avi donne un débit moyen de 187 kb/s<br />videotest-128x96-300kbps-12fps.avi donne un débit moyen de 188 kb/s<br />videotest-128x96-400kbps-12fps.avi donne un débit moyen de 188 kb/s<br />videotest-128x96-200kbps-24fps.avi donne un débit moyen de 191 kb/s<br />videotest-352x288-200kbps-24fps.avi donne un débit moyen de 192 kb/s<br />videotest-176x144-200kbps-12fps.avi donne un débit moyen de 193 kb/s<br />videotest-176x144-200kbps-24fps.avi donne un débit moyen de 199 kb/s<br />videotest-176x144-300kbps-6fps.avi donne un débit moyen de 202 kb/s<br />videotest-128x96-300kbps-24fps.avi donne un débit moyen de 211 kb/s<br />videotest-128x96-400kbps-24fps.avi donne un débit moyen de 215 kb/s<br />videotest-176x144-400kbps-6fps.avi donne un débit moyen de 216 kb/s<br />videotest-704x576-300kbps-6fps.avi donne un débit moyen de 220 kb/s<br />videotest-352x288-300kbps-3fps.avi donne un débit moyen de 235 kb/s<br />videotest-704x576-300kbps-3fps.avi donne un débit moyen de 245 kb/s<br />videotest-352x288-300kbps-6fps.avi donne un débit moyen de 249 kb/s<br />videotest-704x576-300kbps-12fps.avi donne un débit moyen de 262 kb/s<br />videotest-352x288-300kbps-12fps.avi donne un débit moyen de 265 kb/s<br />videotest-176x144-300kbps-12fps.avi donne un débit moyen de 272 kb/s<br />videotest-704x576-300kbps-24fps.avi donne un débit moyen de 278 kb/s<br />videotest-176x144-300kbps-24fps.avi donne un débit moyen de 289 kb/s<br />videotest-352x288-300kbps-24fps.avi donne un débit moyen de 293 kb/s<br />videotest-704x576-400kbps-6fps.avi donne un débit moyen de 297 kb/s<br />videotest-352x288-400kbps-3fps.avi donne un débit moyen de 298 kb/s<br />videotest-176x144-400kbps-12fps.avi donne un débit moyen de 301 kb/s<br />videotest-704x576-400kbps-3fps.avi donne un débit moyen de 318 kb/s<br />videotest-352x288-400kbps-6fps.avi donne un débit moyen de 336 kb/s<br />videotest-176x144-400kbps-24fps.avi donne un débit moyen de 339 kb/s<br />videotest-704x576-400kbps-12fps.avi donne un débit moyen de 346 kb/s<br />videotest-352x288-400kbps-12fps.avi donne un débit moyen de 355 kb/s<br />videotest-704x576-400kbps-24fps.avi donne un débit moyen de 373 kb/s<br />videotest-352x288-400kbps-24fps.avi donne un débit moyen de 385 kb/s</small></p></blockquote>
<p>Si on se focalise sur un nombre d'images par seconde de 12 et une résolution CIF (ce qui est suffisant pour une besoin de type vidéoconférence), on obtient les qualités suivantes:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/videotest-352x288-50kbps-12fpsavi-2.png" width="250" height="205" /><br /><small>Dévit cible: 50 Kbps / Débit mesuré: <b>47</b> Kbps</small></p>
<p> <img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/videotest-352x288-100kbps-12fpsavi-2.png" width="250" height="204" /><br /><small>Dévit cible: 100 Kbps / Débit mesuré: <b>91</b> Kbps</small></p>
<p><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/videotest-352x288-200kbps-12fpsavi-2.png" width="250" height="205" /><br /><small>Dévit cible: 200 Kbps / Débit mesuré: <b>174</b> Kbps</p>
<p></small><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/videotest-352x288-300kbps-12fpsavi-2.png" width="250" height="204" /><br /><small>Dévit cible: 300 Kbps / Débit mesuré: <b>265</b> Kbps</p>
<p></small><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/videotest-352x288-400kbps-12fpsavi-2.png" width="250" height="204" /> <br /><small>Dévit cible: 400 Kbps / Débit mesuré: <b>355</b> Kbps</small></div>
<p>On peut voir que la qualité augmente moins à partir d'un débit cible de 200 Kbps. <br />
<h1>On teste enfin le streaming</h1>
<p>Pas la peine de réinventer la roue, j'avais déjà écrit <a href="http://blog.nicolargo.com/2009/02/jai-streame-avec-gstreamer.html">un billet sur le sujet</a>. Si l'on souhaite faire un streaming RTP entre deux machines en prenant en compte l'optimisation X.264 décrite dans les chapitres précédant, il faut saisir les commandes suivantes:</p>
<p>Sur le serveur (192.168.1.1):<br />
<blockquote>gst-launch -v&nbsp; gstrtpbin name=rtpbin \<br />
v4l2src \<br />
! queue ! videoscale method=1 ! video/x-raw-yuv,width=352,height=288 \<br />! queue ! videorate ! video/x-raw-yuv,framerate=\(fraction\)12/1 \<br />
! queue ! x264enc byte-stream=true bitrate=200 bframes=4 ref=4 me=hex subme=4 weightb=true threads=0 ! rtph264pay \<br />
! rtpbin.send_rtp_sink_0 \<br />
rtpbin.send_rtp_src_0 ! udpsink port=5000 host=192.168.1.2 \<br />
rtpbin.send_rtcp_src_0 ! udpsink port=5001 host=192.168.1.2 sync=false async=false \<br />
udpsrc port=5002 ! rtpbin.recv_rtcp_sink_0</p></blockquote>
<p>Puis sur le client (192.168.1.2):<br />
<blockquote>gst-launch -v gstrtpbin name=rtpbin latency=200 \<br />
udpsrc caps="application/x-rtp, media=(string)video,<br />
clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" port=5000 \<br />
! rtpbin.recv_rtp_sink_0 \<br />
rtpbin. ! rtph264depay ! ffdec_h264 ! xvimagesink \<br />
udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0 \<br />
rtpbin.send_rtcp_src_0 ! udpsink port=5002 host=192.168.0.1 sync=false async=false</p></blockquote>
<h1>Conclusion</h1>
<p>Comme toujours dans ce genre d'exercice, le paramétrage des codecs vidéos dépend de votre source (on n'encode pas de la même manière le flux CIF venant d'une Webcam ou un fichier vidéo HD...). On a ici trouvé un bon compromis entre qualité d'affichage et bande passante consommée sur le réseau. Etant loin d'être un spécialiste sur le sujet, il y a surement des optimisations à faire. Les commentaires sont fait pour ça !</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2001">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/TKpUqZYAevO4eLHtQNAIow1nIMY/0/da"><img src="http://feedads.g.doubleclick.net/~a/TKpUqZYAevO4eLHtQNAIow1nIMY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/TKpUqZYAevO4eLHtQNAIow1nIMY/1/da"><img src="http://feedads.g.doubleclick.net/~a/TKpUqZYAevO4eLHtQNAIow1nIMY/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=06AuZXt5xQQ:rLfsLqFzxfE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=06AuZXt5xQQ:rLfsLqFzxfE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=06AuZXt5xQQ:rLfsLqFzxfE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=06AuZXt5xQQ:rLfsLqFzxfE:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/LeBlogDeNicolargo/~4/06AuZXt5xQQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/06/gstreamer-et-le-codec-x264.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.nicolargo.com/2009/06/gstreamer-et-le-codec-x264.html</feedburner:origLink></item>
	</channel>
</rss>
