<?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>asyd's blog</title>
	<atom:link href="http://blog.asyd.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.asyd.net</link>
	<description>unix forever, for everyone. Not convinced, try Mac OS X!</description>
	<lastBuildDate>Mon, 09 Aug 2010 13:50:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Séminaire sysadmin 1ère édition, le retour</title>
		<link>http://blog.asyd.net/2010/08/seminaire-sysadmin-1ere-edition-le-retour/</link>
		<comments>http://blog.asyd.net/2010/08/seminaire-sysadmin-1ere-edition-le-retour/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 11:46:24 +0000</pubDate>
		<dc:creator>asyd</dc:creator>
				<category><![CDATA[Social]]></category>
		<category><![CDATA[Sysadmin]]></category>

		<guid isPermaLink="false">http://blog.asyd.net/?p=456</guid>
		<description><![CDATA[Une semaine après le premier séminaire sysadmin, je prends un peu de temps pour vous faire un retour. Je pense que l&#8217;on peut parler de franc succès (vu que la plupart des gens ont manifestés leur contentement, sauf les râleurs de première, ils se reconnaîtront !). Comme prévu au programme : 3 conférences le matin, [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_479" class="wp-caption alignright" style="width: 310px"><br />
<a href="http://blog.asyd.net/wp-content/uploads/2010/08/Capture-d’écran-2010-08-09-à-13.53.02.png"><img src="http://blog.asyd.net/wp-content/uploads/2010/08/Capture-d’écran-2010-08-09-à-13.53.02-300x199.png" alt="" title="Une partie du public" width="300" height="199" class="size-medium wp-image-479" /></a><p class="wp-caption-text">Une partie du public</p></div>
<div style="text-align: justify;">
Une semaine après le premier séminaire sysadmin, je prends un peu de temps pour vous faire un retour. Je pense que l&#8217;on peut parler de franc succès (vu que la plupart des gens ont manifestés leur contentement, sauf les râleurs de première, ils se reconnaîtront !). Comme prévu au programme : 3 conférences le matin, 4 l&#8217;après midi, plus 3 conférences éclairs (dont une improvisée par notre ami beorn, à qui je tire mon chapeau, car ce n&#8217;est pas forcément facile de se lancer sans préparation). Coté public, on compte une trentaine de personnes présentes, ce qui correspond à peu près au doodle.</div>
<h2>Puppet</h2>
<div id="attachment_463" class="wp-caption aligncenter" style="width: 370px"><a href="http://blog.asyd.net/wp-content/uploads/2010/08/Alban.png"><img src="http://blog.asyd.net/wp-content/uploads/2010/08/Alban.png" alt="Alban Peignier" title="Alban" width="360" height="410" class="size-full wp-image-463" /></a><p class="wp-caption-text">Alban Peignier</p></div> Alban nous a fait part de ses retours d&#8217;expériences sur puppet, en soulignant que ce genre de technos étant relativement jeunes dans le monde sysadmin, il reste difficile de mettre en place une plateforme de tests digne de ce nom.</li>
<h2>ZFS</h2>
<p><div id="attachment_462" class="wp-caption aligncenter" style="width: 431px"><a href="http://blog.asyd.net/wp-content/uploads/2010/08/Olivier.png"><img src="http://blog.asyd.net/wp-content/uploads/2010/08/Olivier.png" alt="Olivier Delhomme" title="Olivier Delhomme" width="421" height="389" class="size-full wp-image-462" /></a><p class="wp-caption-text">Olivier Delhomme</p></div><br />
Une présentation très intéressante sur le retour d&#8217;expérience de ZFS (sur Solaris 10) d&#8217;Olivier. Pourquoi il a utilisé ZFS plutôt qu&#8217;une solution basée sur Linux, ses choix (judicieux) sur la création du pool et les différentes problématiques qu&#8217;il a rencontré (par exemple, l&#8217;absence de quota Unix dans les premières versions des zpool). Olivier à même agrémenté sa conférence de quelques vidéos, un vrai plaisir !</p>
<h2>Le clustering</h2>
<p><div id="attachment_473" class="wp-caption aligncenter" style="width: 149px"><a href="http://blog.asyd.net/wp-content/uploads/2010/08/Capture-d’écran-2010-08-09-à-13.46.57.png"><img src="http://blog.asyd.net/wp-content/uploads/2010/08/Capture-d’écran-2010-08-09-à-13.46.57.png" alt="Arnaud Gomes-do-Vale" title="Arnaud Gomes-do-Vale" width="139" height="205" class="size-full wp-image-473" /></a><p class="wp-caption-text">Arnaud Gomes-do-Vale</p></div>Voilà un sujet vaste mais abordé avec brio par Arnaud ! En effet, son cas d&#8217;utilisation était plutôt inhabituel, puisqu&#8217;il a besoin de redondance sur un grand nombre d&#8217;applications autonomes, tournant sur un nombre réduit de machines. Il en a donc profité pour parler des solutions pacemaker et corosync, qui je dois l&#8217;avouer m&#8217;étaient totalement inconnues.</p>
<h2>Splunk</h2>
<p><div id="attachment_460" class="wp-caption aligncenter" style="width: 205px"><a href="http://blog.asyd.net/wp-content/uploads/2010/08/Bruno.png"><img src="http://blog.asyd.net/wp-content/uploads/2010/08/Bruno.png" alt="Bruno Bonfils" title="Bruno Bonfils" width="195" height="276" class="size-full wp-image-460" /></a><p class="wp-caption-text">Bruno Bonfils</p></div><br />
Étant l&#8217;orateur de ce sujet, je me vois mal donner un avis sur ma prestation, qui consistait à une brève présentation de splunk, ainsi que l&#8217;utilisation que j&#8217;en fais.</p>
<h2>Gestionnaire des annuaires via GoSa</h2>
<p><div id="attachment_459" class="wp-caption aligncenter" style="width: 189px"><a href="http://blog.asyd.net/wp-content/uploads/2010/08/Benoit.png"><img src="http://blog.asyd.net/wp-content/uploads/2010/08/Benoit.png" alt="Benoit Mortier" title="Benoit Mortier" width="179" height="246" class="size-full wp-image-459" /></a><p class="wp-caption-text">Benoit Mortier</p></div> En provenance de Bruxelles, Benoit nous a fait une démonstration des différentes fonctionnalités de GoSa, un éditeur d&#8217;annuaire orienté métier plutôt que technique, bien que le métier abordé reste quand même de l&#8217;informatique pure (mail, déploiement, etc.)</p>
<h2>Fusion Inventory</h2>
<p><div id="attachment_477" class="wp-caption aligncenter" style="width: 184px"><a href="http://blog.asyd.net/wp-content/uploads/2010/08/Capture-d’écran-2010-08-09-à-13.49.16.png"><img src="http://blog.asyd.net/wp-content/uploads/2010/08/Capture-d’écran-2010-08-09-à-13.49.16.png" alt="David Durieux" title="David Durieux" width="174" height="282" class="size-full wp-image-477" /></a><p class="wp-caption-text">David Durieux</p></div>David nous a présenté FusionInventory, le <em>nouvel</em> agent de découverte de parc pour GLPI (résultant d&#8217;un fork d&#8217;OCS Inventory), qui supporte notamment la découverte SNMP. </p>
<h2>iTop</h2>
<p><div id="attachment_476" class="wp-caption aligncenter" style="width: 218px"><a href="http://blog.asyd.net/wp-content/uploads/2010/08/Capture-d’écran-2010-08-09-à-13.49.36.png"><img src="http://blog.asyd.net/wp-content/uploads/2010/08/Capture-d’écran-2010-08-09-à-13.49.36.png" alt="Erwan Taloc" title="Erwan Taloc" width="208" height="306" class="size-full wp-image-476" /></a><p class="wp-caption-text">Erwan Taloc</p></div>J&#8217;avoue que j&#8217;avais peur des réactions de certains en invitant Erwan à présenter iTop, un outil que je présenterais comme un générateur de CMDB, son gros atout résidant dans le fait que l&#8217;on peut créer son propre modèles de données. En effet, j&#8217;avais peur que certains trouvent cette présentation trop loin de la technique, et effectivement certains s&#8217;en sont plaints. Cependant, d&#8217;autres personnes ont en effet trouvé ça génial, et je sais que Erwan à déjà reçu des demandes d&#8217;information, donc au final, je suis content du résultat, et ne regrette en aucun cas mon choix.</p>
<h2>Remerciements et conclusion</h2>
<p><div id="attachment_484" class="wp-caption alignright" style="width: 283px"><a href="http://blog.asyd.net/wp-content/uploads/2010/08/Capture-d’écran-2010-08-09-à-13.55.41.png"><img src="http://blog.asyd.net/wp-content/uploads/2010/08/Capture-d’écran-2010-08-09-à-13.55.41-273x300.png" alt="" title="Pause café" width="273" height="300" class="size-medium wp-image-484" /></a><p class="wp-caption-text">Quelques minutes de pause entre deux conférences</p></div>
<p style="text-align: justify;">
En premier lieu, je tiens à remercier Olivier Delhomme et l&#8217;école des mines pour nous avoir mis à disposition la salle, qui je dois l&#8217;avouer était vraiment sympathique. D&#8217;autre part, merci à François Bayart pour avoir imprimé et fabriqué les badges, ramener le café et des gâteaux, ça fais tout de suite plus convivial ! Bien entendu un grand merci aux conférenciers, d&#8217;une part d&#8217;être tous là, et d&#8217;autre part d&#8217;avoir bien compris l&#8217;objectif de la journée. Merci à <a href="http://photo.jrds.fr/v/seminaire-sysadmin/">Fabrice Bacchella pour ses photos.</a></p>
<p style="text-align: justify;">
Au vu de ce que l&#8217;on peut nommer un succès, nul doute que cette journée ne sera que la première. La seconde est prévue pour fin janvier, donc si vous avez des idées de sujets, n&#8217;hésitez pas à m&#8217;en faire part !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.asyd.net/2010/08/seminaire-sysadmin-1ere-edition-le-retour/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>LSC Use Case: synchronize telephoneNumber from Sun LDAP to Active Directory</title>
		<link>http://blog.asyd.net/2010/07/lsc-use-case-synchronize-telephonenumber-from-sun-ldap-to-active-directory/</link>
		<comments>http://blog.asyd.net/2010/07/lsc-use-case-synchronize-telephonenumber-from-sun-ldap-to-active-directory/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 14:26:42 +0000</pubDate>
		<dc:creator>asyd</dc:creator>
				<category><![CDATA[IAM]]></category>
		<category><![CDATA[lsc]]></category>

		<guid isPermaLink="false">http://blog.asyd.net/?p=449</guid>
		<description><![CDATA[At work, we are using two directories. The first one, a damn old Sun Directory 5.2, used by the mail system and VOIP. The second directory is an Active Directory used by &#8230; everything which run on Windows. At the moment, we don&#8217;t have some Identity Provisionning products, so users are created by hand in [...]]]></description>
			<content:encoded><![CDATA[<p>At <a href="http://www.rtl.fr/">work</a>, we are using two directories. The first one, a damn old Sun Directory 5.2, used by the mail system and VOIP. The second directory is an Active Directory used by &#8230; everything which run on Windows. At the moment, we don&#8217;t have some Identity Provisionning products, so users are created by hand in both directories. I want to make this synchronization automatic, however since it&#8217;s a complex and dangerous thing, I want to start by synchronize few attributes. The first one is the telephoneNumber, available in the Sun Directory with format &#8220;21xxx&#8221; (the internal phone number), while the one store in active directory is the public one (014070xxx), so I need to transform the attribute before sending it in AD.</p>
<p>Some friends of mine start the <a href="http://www.lsc-project.org">LSC Project</a>(LDAP Synchronization Connector) few years ago, a tool to synchronize directories! Here the configuration file I used for my use case:</p>
<h2>Define the source</h2>
<p><code><br />
src.java.naming.provider.url = ldap://sun_hostname:389/dc=rtl,dc=fr<br />
src.java.naming.security.authentication = none<br />
src.java.naming.security.principal =<br />
src.java.naming.security.credentials =<br />
src.java.naming.referral = ignore<br />
src.java.naming.ldap.derefAliases = never<br />
src.java.naming.factory.initial = com.sun.jndi.ldap.LdapCtxFactory<br />
src.java.naming.ldap.version = 3<br />
</code></p>
<h2>Define the target</h2>
<p><code><br />
dst.java.naming.provider.url = ldap://ad_hostname:389/dc=activedirectory,dc=domain<br />
dst.java.naming.security.authentication = simple<br />
dst.java.naming.security.principal = userwithenoughperms@activedirectory.domain<br />
dst.java.naming.security.credentials = secret<br />
dst.java.naming.referral = ignore<br />
dst.java.naming.ldap.derefAliases = never<br />
dst.java.naming.factory.initial = com.sun.jndi.ldap.LdapCtxFactory<br />
dst.java.naming.ldap.version = 3<br />
</code></p>
<h2>Define the task to manage telephoneNumber attribute</h2>
<p><code><br />
lsc.tasks = FirstTask<br />
lsc.tasks.FirstTask.srcService = org.lsc.jndi.SimpleJndiSrcService<br />
lsc.tasks.FirstTask.srcService.baseDn = ou=People<br />
lsc.tasks.FirstTask.srcService.filterAll = (inetUserStatus=ACTIVE)<br />
lsc.tasks.FirstTask.srcService.pivotAttrs = mail<br />
lsc.tasks.FirstTask.srcService.filterId = (mail={mail})<br />
lsc.tasks.FirstTask.srcService.attrs = mail telephoneNumber<br />
lsc.tasks.FirstTask.srcService.requestNameForList = getAllPeoplePivots<br />
lsc.tasks.FirstTask.srcService.requestNameForObject = getOnePerson<br />
lsc.tasks.FirstTask.dstService = org.lsc.jndi.SimpleJndiDstService<br />
lsc.tasks.FirstTask.dstService.baseDn = ou=Pole radio,dc=activedirectory,dc=domain<br />
lsc.tasks.FirstTask.dstService.filterAll = (&#038;(sn=*)(objectClass=inetOrgPerson))<br />
lsc.tasks.FirstTask.dstService.pivotAttrs = mail<br />
lsc.tasks.FirstTask.dstService.filterId = (mail={mail})<br />
lsc.tasks.FirstTask.dstService.attrs = telephoneNumber<br />
lsc.tasks.FirstTask.bean = org.lsc.beans.SimpleBean<br />
lsc.tasks.FirstTask.dn = ""<br />
lsc.syncoptions.FirstTask = org.lsc.beans.syncoptions.PropertiesBasedSyncOptions<br />
lsc.syncoptions.FirstTask.default.action = K<br />
lsc.syncoptions.FirstTask.default.delimiter = $<br />
lsc.syncoptions.FirstTask.telephoneNumber.action = F<br />
lsc.syncoptions.FirstTask.telephoneNumber.force_value = StringUtils.replaceFromMap(srcBean.getAttributeValueById("telephoneNumber"), "telephone.csv")<br />
</code></p>
<p>I think most of properties are self-meaning, however here some explanations about few of thems</p>
<ul>
<li><em>default.action =  K</em>, meaning the attribute is not overriden if the value is ok </li>
<li><em>telephoneNumber.action = F</em>, force the attribute to be updated</li>
<li><em>lsc.syncoptions.FirstTask.telephoneNumber.force_value= StringUtils.replaceFromMap(srcBean.getAttributeValueById(&#8220;telephoneNumber&#8221;), &#8220;telephone.csv&#8221;)</em> is the code to compute the new value of the telephoneNumber attribute. In that case, I use a CSV files where I specify two fields: the pattern, and the value to replace if the pattern is found. (i.e. &#8220;^21,014070&#8243;)</ul>
</ul>
<h2>Output in dryrun mode</h2>
<p><code><br />
% ./bin/lsc -n -f etc -s FirstTask<br />
juil. 21 16:24:43 - WARN  - Starting sync for FirstTask<br />
juil. 21 16:24:43 - INFO  - Connecting to LDAP server ldap://sun_hostname:389/dc=rtl,dc=fr anonymously<br />
juil. 21 16:24:44 - INFO  - Connecting to LDAP server ldap://ad_hostname:389/dc=activedirectory,dc=domain as admin@activedirectory.domain<br />
juil. 21 16:24:44 - WARN  - The method getAttributeValueById() is deprecated and will be removed in a future version of LSC. Please use getAttributeFirstValueById() instead.<br />
juil. 21 16:24:44 - DEBUG - Update condition false. Should have modified object CN=BONFILS Bruno,OU=Users,DC=activedirectory,DC=DOMAIN<br />
dn:: CN=BONFILS Bruno,OU=Users,DC=activedirectory,DC=DOMAIN<br />
changetype: modify<br />
replace: telephoneNumber<br />
telephoneNumber: 0140704049</p>
<p>juil. 21 16:24:44 - INFO  - All entries: 1, to modify entries: 0, modified entries: 0, errors: 0<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.asyd.net/2010/07/lsc-use-case-synchronize-telephonenumber-from-sun-ldap-to-active-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZSH: Create dynamically associatives array in a function</title>
		<link>http://blog.asyd.net/2010/07/zsh-create-dynamically-associatives-array-in-a-function/</link>
		<comments>http://blog.asyd.net/2010/07/zsh-create-dynamically-associatives-array-in-a-function/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 21:52:06 +0000</pubDate>
		<dc:creator>asyd</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[zsh]]></category>

		<guid isPermaLink="false">http://blog.asyd.net/?p=446</guid>
		<description><![CDATA[I&#8217;m currently working on some scripts to create CSV files (to import into iTop, I&#8217;ll post about it in few weeks) from data received via snmp. To make things propers, I want to reuse my code as far as possible, so I was looking for a way to create some associatives array in a function, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently working on some scripts to create CSV files (to import into <a href="http://www.combodo.com/iTop-a-new-generation-of-IT.html">iTop</a>, I&#8217;ll post about it in few weeks) from data received via snmp. To make things propers, I want to reuse my code as far as possible, so I was looking for a way to create some associatives array in a function, where the array name is give as argument.</p>
<p>Thanks to the ZSH IRC channel (special thanks to ft) here a way to achieve that:</p>
<p><code><br />
mytest() {<br />
   typeset -A -g $1<br />
   buffer="$1[$2]"<br />
   : ${(P)buffer::=$3}<br />
}<br />
</code></p>
<p>so, the following sample code:</p>
<p><code><br />
mytest() {<br />
   typeset -A -g $1<br />
   buffer="$1[$2]"<br />
   : ${(P)buffer::=$3}<br />
}</p>
<p>mytest toto 3 42<br />
mytest tutu 4 43</p>
<p>print -l $toto[3]<br />
print -l $tutu[4]<br />
</code></p>
<p>will display 42, and then 43!</p>
<p>One final word: zsh is magic.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.asyd.net/2010/07/zsh-create-dynamically-associatives-array-in-a-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Splunk: useful URL</title>
		<link>http://blog.asyd.net/2010/07/splunk-useful-url/</link>
		<comments>http://blog.asyd.net/2010/07/splunk-useful-url/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 09:24:27 +0000</pubDate>
		<dc:creator>asyd</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[splunk]]></category>

		<guid isPermaLink="false">http://blog.asyd.net/?p=443</guid>
		<description><![CDATA[as you probably already know IRC is good to learn things, here some URL I learn from the splunk channel: http://host:webport/en-US/debug/refresh reload some parts of splunk, including applications&#8217;s views. Very useful when developing a new application. No need to restart each time! https://host:8089/services/admin/inputstatus/TailingProcessor:FileStatus display the status of file monitorings. Note the port is the manager [...]]]></description>
			<content:encoded><![CDATA[<p>as you probably already know IRC is good to learn things, here some URL I learn from the splunk channel:</p>
<ul>
<li> http://host:webport/en-US/debug/refresh reload some parts of splunk, including applications&#8217;s views. Very useful when developing a new application. No need to restart each time! </li>
<li> https://host:8089/services/admin/inputstatus/TailingProcessor:FileStatus display the status of file monitorings. Note the port is the manager one, not the webone, so I guess this interface is available on agents even if splunkweb is not started. You can hit /services/admin/ to find another log of informations.
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.asyd.net/2010/07/splunk-useful-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bandwidth monitor: simple but efficient</title>
		<link>http://blog.asyd.net/2010/06/bandwidth-monitor-simple-but-efficient/</link>
		<comments>http://blog.asyd.net/2010/06/bandwidth-monitor-simple-but-efficient/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 12:42:50 +0000</pubDate>
		<dc:creator>asyd</dc:creator>
				<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[networking]]></category>

		<guid isPermaLink="false">http://blog.asyd.net/?p=439</guid>
		<description><![CDATA[Today, I was looking for a small tool to display interface usage on Solaris, I tried first iftop. However, after spent few hours to try to build it (including ncurses, libpcap) I finally got a binary, but it&#8217;s not working! After google for few minutes, I found Bandwitdth monitor NG. It&#8217;s a very simple software, [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I was looking for a small tool to display interface usage on Solaris, I tried first iftop. However, after spent few hours to try to build it (including ncurses, libpcap) I finally got a binary, but it&#8217;s not working! After google for few minutes, I found <a href="http://sourceforge.net/projects/bwmng/">Bandwitdth monitor NG</a>. It&#8217;s a very simple software, which uses only few libraries, and works like a charm!</p>
<p>Here a snapshot:</p>
<p><a href="http://blog.asyd.net/wp-content/uploads/2010/06/Capture-d’écran-2010-06-21-à-14.39.21.png"><img src="http://blog.asyd.net/wp-content/uploads/2010/06/Capture-d’écran-2010-06-21-à-14.39.21.png" alt="Bandwith Monitor NG screenshot" title="Bandwith Monitor NG" width="634" height="294" class="aligncenter size-full wp-image-440" /></a></p>
<p>And for information, ldd output :<br />
<code><br />
% ldd /opt/tools/bwm-ng-0.6/bin/bwm-ng<br />
      libcurses.so.1 =>        /lib/libcurses.so.1<br />
        libkstat.so.1 =>         /lib/libkstat.so.1<br />
        libc.so.1 =>     /lib/libc.so.1<br />
        libm.so.2 =>     /lib/libm.so.2<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.asyd.net/2010/06/bandwidth-monitor-simple-but-efficient/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to clone search&#8217;s dashboard in splunk</title>
		<link>http://blog.asyd.net/2010/06/how-to-clone-searchs-dashboard-in-splunk/</link>
		<comments>http://blog.asyd.net/2010/06/how-to-clone-searchs-dashboard-in-splunk/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 07:38:04 +0000</pubDate>
		<dc:creator>asyd</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[splunk]]></category>

		<guid isPermaLink="false">http://blog.asyd.net/?p=432</guid>
		<description><![CDATA[After few weeks trying to persuade my boss to buy Splunk, I start to put it in production. My first goal was to clone the search application&#8217;s dashboard using a dedicated index. Indeed, I have few splunks agent reading some tomcat&#8217;s logs and forward them to my splunk instance. All these logs are going to [...]]]></description>
			<content:encoded><![CDATA[<p>After few weeks trying to persuade my boss to buy Splunk, I start to put it in production. My first goal was to clone the search application&#8217;s dashboard using a dedicated index. Indeed, I have few splunks agent reading some tomcat&#8217;s logs and forward them to my splunk instance. All these logs are going to a dedicated index, named <i>rtlnet</i>. Our webdeveloppers want to use splunk to see the production&#8217;s logs. While it was easy to create the <i>rtlnet</i> index, I wanted to clone the search&#8217;s dashboard to give them an overview of logs by application, or by host. However, while it was easy to add <i>index=rtlnet</i> in the metadata search, I was not able to add the index in the search computed when you click on a result (for example the sourcetype).</p>
<p>Here the original code which produce one of the three panel:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;module</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;SearchLinkLister&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;settingToCreate&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>list1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;search&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>| metadata type=sources<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;searchFieldsToDisplay&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;list<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>source<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;value&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>source<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/list<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;list<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>totalCount<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;labelFormat&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>number<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/list<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;module</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;ConvertToIntention&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;settingToConvert&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>list1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;intention&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;name&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>addterm<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;arg&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;source&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>$target$<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;module</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;ViewRedirector&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;viewTarget&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>flashtimeline<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;uriParam.auto_pause&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>true<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/module<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/module<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/module<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>As I said, adding <i>index=rtlnet</i> in the metadata search is trivial. However, when a user click on a result (in that case on a source), the computed search was only <i>source=$target</i> so there was no result, since it the index is not specified. After spending few hours trying to understand how to add the index in the existing intention, I finally understood I need to  nest it into a new HiddenIntention.  Here the new module definition:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;module</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;SearchLinkLister&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;settingToCreate&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>list1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;search&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>| metadata type=sources index=rtlnet <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;searchFieldsToDisplay&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;list<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>source<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;value&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>source<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/list<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;list<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>totalCount<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;labelFormat&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>number<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/list<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;module</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;HiddenIntention&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;intention&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;name&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>addterm<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;arg&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;index&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>rtlnet<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;module</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;ConvertToIntention&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;settingToConvert&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>list1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;intention&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;name&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>addterm<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;arg&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;source&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>$target$<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;module</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;ViewRedirector&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;viewTarget&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>flashtimeline<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;uriParam.auto_pause&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>true<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/module<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/module<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/module<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/module<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>As you can notice, I embedded the existing <i>ConvertToIntention</i> module in a new <i>HiddenIntention</i>. Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.asyd.net/2010/06/how-to-clone-searchs-dashboard-in-splunk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rsyslog, split file by hostname</title>
		<link>http://blog.asyd.net/2010/06/rsyslog-split-file-by-hostname/</link>
		<comments>http://blog.asyd.net/2010/06/rsyslog-split-file-by-hostname/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 09:19:24 +0000</pubDate>
		<dc:creator>asyd</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[rsylsog]]></category>

		<guid isPermaLink="false">http://blog.asyd.net/?p=417</guid>
		<description><![CDATA[Here a rsyslog snippet to create a file by day, by device. Indeed, the %now variable take a value like 2010-05-24. Note that HOSTNAME will be replace by the hostname send by the syslog client. If you want to use IP, you can use %fromhost-ip%, and if you want the DNS name resoved by the [...]]]></description>
			<content:encoded><![CDATA[<p>Here a rsyslog snippet to create a file by day, by device. Indeed, the %now variable take a value like 2010-05-24. Note that HOSTNAME will be replace by the hostname send by the syslog client. If you want to use IP, you can use %fromhost-ip%, and if you want the DNS name resoved by the rsyslog server, use %fromhost%.</p>
<p><code><br />
$template default,"/data/logs/%HOSTNAME%/%$now%.log"</p>
<p>*.*                                       ?default<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.asyd.net/2010/06/rsyslog-split-file-by-hostname/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Séminaire sysadmin le 2 août</title>
		<link>http://blog.asyd.net/2010/06/seminaire-sysadmin-le-2-aout/</link>
		<comments>http://blog.asyd.net/2010/06/seminaire-sysadmin-le-2-aout/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 08:57:25 +0000</pubDate>
		<dc:creator>asyd</dc:creator>
				<category><![CDATA[Sysadmin]]></category>

		<guid isPermaLink="false">http://blog.asyd.net/?p=419</guid>
		<description><![CDATA[Alors que la liste sysadmin@asyd.net va bientôt fêter ses 4 ans d&#8217;existence (création le 17 septembre 2006), avec un total de 157 abonnés, nous commençons l&#8217;organisation du premier séminaire. Au programme : Horaire Titre Intervenant 9h00 → 9h45 Puppet Alban Peigner 10h00 → 10h45 ZFS ce qui nous plait et comment on l&#8217;utilise Olivier Delhomme [...]]]></description>
			<content:encoded><![CDATA[<p>Alors que la liste sysadmin@asyd.net va bientôt fêter ses 4 ans d&#8217;existence (création le 17 septembre 2006), avec un total de 157 abonnés, nous commençons l&#8217;organisation du premier séminaire.</p>
<p>Au programme :</p>
<table style="witdh: 100%;">
<thead>
<tr>
<th>Horaire</th>
<th>Titre</th>
<th>Intervenant</th>
</tr>
</thead>
<tbody>
<tr>
<td>9h00 → 9h45</td>
<td>Puppet</td>
<td>Alban Peigner</td>
</tr>
<tr>
<td>10h00 → 10h45</td>
<td>ZFS ce qui nous plait et comment on l&#8217;utilise</td>
<td>Olivier Delhomme</td>
</tr>
<tr>
<td>11h00 → 11h45</td>
<td>Retour d&#8217;expérience sur la haute disponibilité</td>
<td>Arnaud Gomes Do Vale</td>
</tr>
<tr>
<td>14h00 → 14h45</td>
<td>Splunk, use case et retour d&#8217;expérience</td>
<td>Bruno Bonfils</td>
</tr>
<tr>
<td>15h00 → 15h45</td>
<td>Annuaire LDAP et interface de gestions</td>
<td>Benoît Mortier</td>
</tr>
<tr>
<td>16h00 → 16h45</td>
<td>FusionInventory</td>
<td>David Durieux</td>
</tr>
<tr>
<td>17h00 → 17h45</td>
<td>iTop</td>
<td>Erwan Taloc</td>
</tr>
<tr>
<td>18h00 → xxx</td>
<td>Confs éclairs</td>
<td>NA</td>
</tr>
</tbody>
</table>
<p>Pour les confs éclairs, la liste ne fait que commencer, mais on y trouvera :</p>
<ul>
<li>JRDS, un cacti like en Java</li>
<li>PowerDNS</li>
</ul>
<p>N&#8217;hésitez pas à vous manifester pour proposer une conf éclair !</p>
<p>Cet événement prendra place à <a href="http://urlalacon.com/NFcPc3">l&#8217;école des mines à Paris, 60 Boulevard Saint Michel</a>. Pour des raisons pratiques d&#8217;organisation, les participants sont <a href="http://doodle.com/db9zpua6nsyuztvx">invités à s&#8217;enregistrer</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.asyd.net/2010/06/seminaire-sysadmin-le-2-aout/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Nagios: check_ldap on Solaris</title>
		<link>http://blog.asyd.net/2010/03/nagios-check_ldap-on-solaris/</link>
		<comments>http://blog.asyd.net/2010/03/nagios-check_ldap-on-solaris/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 12:18:00 +0000</pubDate>
		<dc:creator>asyd</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ldap nagios]]></category>

		<guid isPermaLink="false">http://blog.asyd.net/?p=411</guid>
		<description><![CDATA[A personal note about how to get check_ldap (Nagios&#8217;s plugins) on Solaris, you simply need to edit the configure file itself to remove -llber from the line LIBS=&#8221;-lldap -llber $LIBS&#8221;. You also need to execute the following commands: perl -i -pe &#8216;s/-lldap -llber/-lldap/g&#8217; **/*Makefile Cheers!]]></description>
			<content:encoded><![CDATA[<p>A personal note about how to get check_ldap (Nagios&#8217;s plugins) on Solaris, you simply need to edit the configure file itself to remove <em>-llber</em> from the line <em>LIBS=&#8221;-lldap -llber $LIBS&#8221;</em>. You also need to execute the following commands:</p>
<p><em>perl -i -pe &#8216;s/-lldap -llber/-lldap/g&#8217; **/*Makefile</em></p>
<p>Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.asyd.net/2010/03/nagios-check_ldap-on-solaris/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>varnish: Send a client always on the same backend</title>
		<link>http://blog.asyd.net/2010/03/varnish-send-a-client-always-on-the-same-backend/</link>
		<comments>http://blog.asyd.net/2010/03/varnish-send-a-client-always-on-the-same-backend/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 17:43:23 +0000</pubDate>
		<dc:creator>asyd</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[varnish]]></category>

		<guid isPermaLink="false">http://blog.asyd.net/?p=408</guid>
		<description><![CDATA[I&#8217;m now very close to migrate from akamai to varnish at work. However, since we doesn&#8217;t have session replications on the application server, I was required to send a client always on the same backend, even if the user is not authentified. In a first try, we thought about use a cookie, valued by the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m now very close to migrate from akamai to varnish at work. However, since we doesn&#8217;t have session replications on the application server, I was required to send a client always on the same backend, even if the user is not authentified. In a first try, we thought about use a cookie, valued by the name of the server, and write some VCL to define the backend based on the cookie value.</p>
<p>However, thanks to the varnish developper (through the channel) <a href="http://people.freebsd.org/~phk/">phk</a> pointed me they&#8217;re working on a director method to implements this behavior. While this feature is not yet available on a release, it&#8217;s present in the trunk (I&#8217;m using r4602).</p>
<p>Here the source code:<br />
<code><br />
   if (vs->criteria == c_client) {<br />
      /*<br />
       * Hash the client IP# ascii representation, rather than<br />
       * rely on the raw IP# being a good hash distributor, since<br />
       * experience shows this not to be the case.<br />
       * We do not hash the port number, to make everybody behind<br />
       * a given NAT gateway fetch from the same backend.<br />
       */<br />
      SHA256_Init(&#038;ctx);<br />
      AN(sp->addr);<br />
      SHA256_Update(&#038;ctx, sp->addr, strlen(sp->addr));<br />
      SHA256_Final(sign, &#038;ctx);<br />
      hp = sign;<br />
   }<br />
<code></p>
<p>Here how to define your director:</p>
<p><code></p>
<p>director rtl client {<br />
        { .backend = www1rtl; .weight = 1; }<br />
        { .backend = www2rtl; .weight = 1; }<br />
}<br />
<code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.asyd.net/2010/03/varnish-send-a-client-always-on-the-same-backend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
