<?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>Manuele Lancia</title>
	<atom:link href="http://www.manuelelancia.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.manuelelancia.com</link>
	<description></description>
	<lastBuildDate>Thu, 12 Apr 2012 16:11:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>[Appunti] Monitoraggio Nagios</title>
		<link>http://www.manuelelancia.com/2012/03/appunti-monitoraggio-nagios/</link>
		<comments>http://www.manuelelancia.com/2012/03/appunti-monitoraggio-nagios/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 10:49:55 +0000</pubDate>
		<dc:creator>Manuele Lancia</dc:creator>
				<category><![CDATA[Lavoro]]></category>

		<guid isPermaLink="false">http://www.manuelelancia.com/?p=381</guid>
		<description><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p>Monitoraggio con Nagios3 In Debian Lenny è entrata la versione 3 di Nagios. Si installa il pacchetto nagios3 e possibilmente anchenagios-plugins-standard che portano dietro un sacco di dipendenze, tra cui notiamo: nagios3-common nagios-plugins-basic nagios3-doc iputils-ping procps]]></description>
			<content:encoded><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p><h1><a id="monitoraggio_con_nagios3" name="monitoraggio_con_nagios3"></a>Monitoraggio con Nagios3</h1>
<div>
<p>In <strong>Debian Lenny</strong> è entrata la <strong>versione 3 di Nagios</strong>. Si installa il pacchetto <strong>nagios3</strong> e possibilmente anche<strong>nagios-plugins-standard</strong> che portano dietro un sacco di dipendenze, tra cui notiamo:</p>
<ul>
<li>
<div><strong>nagios3-common</strong></div>
</li>
<li>
<div><strong>nagios-plugins-basic</strong></div>
</li>
<li>
<div><strong>nagios3-doc</strong></div>
</li>
<li>
<div><strong>iputils-ping</strong></div>
</li>
<li>
<div><strong>procps</strong></div>
</li>
<li>
<div><strong>fping</strong></div>
</li>
<li>
<div><strong>libmysqlclient15off</strong></div>
</li>
<li>
<div><strong>libnet-snmp-perl</strong></div>
</li>
<li>
<div><strong>libradiusclient-ng2</strong></div>
</li>
<li>
<div><strong>radiusclient1</strong></div>
</li>
<li>
<div><strong>smbclient</strong></div>
</li>
<li>
<div><strong>snmp</strong></div>
</li>
</ul>
<p>Dopo l&#8217;installazione c&#8217;è in esecuzione il demone <strong>nagios3</strong> che logga in <code>/var/log/nagios3/nagios.log</code>, il log dell&#8217;acquisizione dati vengono messi in<code>/var/log/nagios3/archives/</code>.</p>
<p>Per attivare l&#8217;interfaccia web bisogna includere nella configurazione di Apache il file <strong><code>/etc/nagios3/apache2.conf</code></strong>. L&#8217;accesso all&#8217;interfaccia web è protetto da autenticazione htpasswd, si devono aggiungere al file <code><strong>/etc/nagios3/htpasswd.users</strong></code> gli utenti, tra cui l&#8217;amministratore di nome<strong>nagiosadmin</strong>.</p>
<p>L&#8217;accesso si ottiene puntando il browser all&#8217;url <strong><code>http://host/nagios3/</code></strong>.</p>
<p>Per il monitoraggio di host remoti conviene installare NRPE. Si tratta di un protocollo client-server sviluppato apposta per Nagios, che si occupa di trasportare le richieste da Nagios verso i plugin remoti. Il server Nagios in questo caso si comporta da client NRPE, il pacchetto di cui ha bisogno è:</p>
<ul>
<li>
<div><strong>nagios-nrpe-plugin</strong></div>
</li>
</ul>
<p><img src="http://www.rigacci.org/wiki/lib/images/smileys/fixme.gif" alt="FIXME" /> <strong>ATTENZIONE:</strong> il resto di questi appunti sono basati su Nagios 2, ci potrebbero essere delle incongruenze con la nuova versione.</p>
</div>
<h2><a id="configurare_l_host_remoto" name="configurare_l_host_remoto"></a>Configurare l&#8217;host remoto</h2>
<div>
<p>Se si desidera monitorare una caratteristica su un host remoto (di nome Everest, in questo esempio) si deve installare almeno il pacchetto Debian <strong>nagios-nrpe-server</strong>, vari plugin di monitoraggio sono invece inclusi nel pacchetto <strong>nagios-plugins-basic</strong>. Il server risponde al sistema NRPE (nagios remote plugin execute) ed ascolta sulla porta <strong>TCP 5666</strong>. I client accettati (un minimo di controllo di accesso) sono indicati in <strong><code>/etc/nagios/nrpe.cfg</code></strong>.</p>
<p>Per verificare la connettività dall&#8217;host Nagios verso il server NRPE:</p>
<pre># /usr/lib/nagios/plugins/check_nrpe -H everest.texnet.it
NRPE v2.5.1</pre>
</div>
<h3><a id="check_raid" name="check_raid"></a>check_raid</h3>
<div>
<p><img src="http://www.rigacci.org/wiki/lib/images/smileys/icon_exclaim.gif" alt=":!:" /> <strong>NOTA:</strong> Il plugin <strong><code>check_swraid</code></strong> qui descritto non è incluso in Debian ed ha il difetto di non gestire correttamente la situazione di <em>check</em> e<em>resync</em> degli array, segnalando inutilmente un allarme. Si consiglia pertanto di usare il plugin <strong><code>check_linux_raid</code></strong> fornito dal pacchetto Debian Sqeeze <strong>nagios-plugins-standard</strong>. Gli appunti che seguno sono pertanto da considerarsi obsoleti e utili solo come riferimento.</p>
<p>Si installa il plugin <strong>check_raid</strong> che controlla lo stato di salute del <acronym title="Redundant Array of Inexpensive Disks">RAID</acronym> software Linux. Non esiste un plugin adatto nel pacchetto <em>basic</em>, si scarica e si installa lo script Python <strong><a title="http://exchange.nagios.org/directory/Plugins/Uncategorized/Operating-Systems/Linux/check_swraid/details" href="http://exchange.nagios.org/directory/Plugins/Uncategorized/Operating-Systems/Linux/check_swraid/details" rel="nofollow">check_swraid</a></strong>. Lo script va messo nella directory <code><strong>/usr/local/lib/nagios/plugins/</strong></code>, salvandolo con nome <strong><code>check_swraid</code></strong>.</p>
<p>Si definisce il nuovo <em>comando nagios</em> aggiungendo una riga a <code><strong>/etc/nagios/nrpe_local.cfg</strong></code>:</p>
<pre>command[check_swraid]=/usr/local/lib/nagios/plugins/check_swraid</pre>
<p>Bisogna quindi fare un reload di <code>nagios-nrpe-server</code>. Per verificare che l&#8217;host Nagios possa interrogare il plugin remoto:</p>
<pre># /usr/lib/nagios/plugins/check_nrpe -H everest.texnet.it -c check_swraid
All md devices ( md10 md3 md2 md1 md0 ) Ok.</pre>
</div>
<h3><a id="check_disk" name="check_disk"></a>check_disk</h3>
<div>
<p>Il plugin <strong><code>check_disk</code></strong> fa parte del pacchetto <strong>nagios-plugins-basic</strong>. Sull&#8217;host si configura la sonda aggiungendo una riga a<code><strong>/etc/nagios/nrpe_local.cfg</strong></code>:</p>
<pre>command[check_disk]=/usr/lib/nagios/plugins/check_disk --warning=20% --critical=10% \
    --iwarning=20% --icritical=10% --units=GB --mountpoint --path=/opt1</pre>
</div>
<h2><a id="configurare_il_server_nagios" name="configurare_il_server_nagios"></a>Configurare il server Nagios</h2>
<div>
<p>Sull&#8217;host che ospita Nagios (il demone e le pagine web) si installano i pacchetti Debian:</p>
<ul>
<li>
<div>nagios2</div>
</li>
<li>
<div>nagios-nrpe-plugin</div>
</li>
<li>
<div>nagios-plugins-basic</div>
</li>
<li>
<div>nagios-plugins-standard</div>
</li>
</ul>
<p>Per aggiungere al monitoraggio il servizio “Check <acronym title="Redundant Array of Inexpensive Disks">RAID</acronym>” sull&#8217;host Everest si interviene su alcuni file di configurazione:</p>
</div>
<h4><a id="etcnagios3nagioscfg" name="etcnagios3nagioscfg"></a>/etc/nagios3/nagios.cfg</h4>
<div>
<p>Contiene la configurazione generale del programma: dove cercare gli altri file di configurazione, dove scrivere i file di log, ecc. Dovrebbe essere stato configurato automaticamente durante l&#8217;installazione del pacchetto Debian. In particolare Debian indica le directory<strong><code>/etc/nagios3/conf.d/</code></strong> e <strong><code>/etc/nagios-plugins/config</code></strong> e il file <strong><code>/etc/nagios3/commands.cfg</code></strong>.</p>
</div>
<h4><a id="etcnagios3confdeverestcfg" name="etcnagios3confdeverestcfg"></a>/etc/nagios3/conf.d/everest.cfg</h4>
<div>
<p>Anzitutto si aggiunge la <strong>definizione dell&#8217;host</strong> Everest. Si crea il file apposito e si indicano solo i parametri indispensabili, tutto il resto viene ereditato dal template <strong>generic-host</strong>:</p>
<pre>define host {
    use          generic-host
    host_name    Everest
    alias        everest.texnet.it
    address      217.19.150.4
}</pre>
</div>
<h4><a id="etcnagios3confdservices_nagios2cfg" name="etcnagios3confdservices_nagios2cfg"></a>/etc/nagios3/conf.d/services_nagios2.cfg</h4>
<div>
<p>Quindi si <strong>definiscono i servizi</strong>, un <em>servizio</em> per Nagios è genericamente una caratteristica da monitorare. Poiché sono servizi generici usati su più host, si definiscono collettivamente in questo file messo a disposizione dal pacchetto Debian. Per lo stesso motivo invece di indicare il nome dell&#8217;host su cui sono attivi (<code>host_name</code>) si indica un gruppo di host (<strong><code>hostgroup_name</code></strong>).</p>
<p>Nella definizione dei servizi si indica lo script da eseguire sull&#8217;host remoto tramite il plugin <strong>check_nrpe_1arg</strong>. Rispetto al template<strong>generic-service</strong> si è ridefinito solo il <em>normal_check_interval</em> (in minuti):</p>
<pre># Check software RAID via NRPE
define service {
    hostgroup_name           nrpe-swraid
    service_description      Check RAID
    check_command            check_nrpe_1arg!check_swraid
    use                      generic-service
    normal_check_interval    120
}

# Check disk space via NRPE
define service {
    hostgroup_name           nrpe-memory
    service_description      Disk free
    check_command            check_nrpe_1arg!check_disk
    use                      generic-service
    normal_check_interval    120
}</pre>
<p>Il plugin <strong>check_nrpe_1arg</strong> esegue l&#8217;interrogazione via NRPE con un solo argomento: il nome dello script da eseguire sull&#8217;host remoto. In generale è una cattiva idea passare altri argomenti al server NRPE e infatti la configurazione predefinita non li considera (<strong><code>dont_blame_nrpe=0</code></strong>).</p>
</div>
<h4><a id="etcnagios3confdhostgroups_nagios2cfg" name="etcnagios3confdhostgroups_nagios2cfg"></a>/etc/nagios3/conf.d/hostgroups_nagios2.cfg</h4>
<div>
<p>In questo file si dichiarano due gruppi di host (<strong>nrpe-swraid</strong> e <strong>nrpe-disk</strong>) che saranno interessati al servizio dichiarato in precedenza. A questi gruppi appartiene l&#8217;host Everest:</p>
<pre>define hostgroup {
    hostgroup_name  nrpe-swraid
    alias           Check software RAID via NRPE
    members         Everest
}

define hostgroup {
    hostgroup_name  nrpe-disk
    alias           Check disk free space via NRPE
    members         Everest
}</pre>
</div>
<h2><a id="notifiche_via_mail" name="notifiche_via_mail"></a>Notifiche via mail</h2>
<div>
<p>L&#8217;installazione Nagios3 di Debian prevede che le notifiche via mail siano spedite all&#8217;utente <strong>root</strong>, bisogna che tali messaggio siano correttamente indirizzati eventualmente con un alias in <code>/etc/aliases</code>.</p>
<p>I contatti per le notifiche sono configurati in <strong><code>/etc/nagios3/conf.d/contacts_nagios2.cfg</code></strong>.</p>
</div>
<h2><a id="check_di_clamav_daemon_via_nrpe" name="check_di_clamav_daemon_via_nrpe"></a>Check di ClamAV daemon, via NRPE</h2>
<div>
<p>Con questa configurazione il server Nagios esegue il plugin <code>check_clamd</code> via NRPE. Con tale accorgimento la configurazione è identica sia che il demone <code>clamd</code> sia in esecuzione sull&#8217;host Nagios, sia che si tratti di un host remoto.</p>
<p>L&#8217;host su cui gira <code>clamd</code> deve autorizzare l&#8217;interrogazione via NRPE, quindi in <strong><code>/etc/nagios/nrpe.cfg</code></strong> si deve aggiungere l&#8217;indirizzo da cui proviene l&#8217;interrogazione agli <strong><code>allowed_hosts</code></strong> (elenco separato da virgole).</p>
<p>Poi si definisce un comando NRPE, di nome <strong>check_clamd</strong>, in <strong><code>/etc/nagios/nrpe_local.cfg</code></strong>:</p>
<pre>command[check_clamd]=/usr/lib/nagios/plugins/check_clamd -H /var/run/clamav/clamd.ctl</pre>
<p>Il plugin <code>check_clamd</code> viene fornito dal pacchetto Debian <code>nagios-plugins-basic</code>, in questo caso interroghiamo <code>clamd</code> via Unix socket (per vedere altri parametri supportati dal plugin, eseguirlo con <strong><code>--help</code></strong>).</p>
<p>Sul server Nagios3 si definisce il servizio <strong>clamd-servers</strong>, in <strong><code>/etc/nagios3/conf.d/services_nagios2.cfg</code></strong>:</p>
<pre># check that ClamAV service is running, via NRPE
define service {
	hostgroup_name                  clamd-servers
	service_description             CLAMD
	check_command                   check_nrpe_1arg_long!check_clamd
	use                             generic-service
	notification_interval           180 ; renotify every 3 hours
}</pre>
<p>Infine si definisce la lista degli host su cui monitorare tale servizio, in <strong><code>/etc/nagios3/conf.d/hostgroups_nagios2.cfg</code></strong>:</p>
<pre># A list of your ClamAV servers
define hostgroup {
        hostgroup_name  clamd-servers
                alias           Clamd servers
                members         localhost
        }</pre>
<p>Dopo aver cambiato i file di configurazione riavviare i servizi <strong>nagios3</strong> e <strong>nagios-nrpe-server</strong> sui rispettivi host.</p>
<p>L&#8217;interrogazione via NRPE viene eseguita dal plugin <strong><code>check_nrpe</code></strong> tramite il comando <strong><code>check_nrpe_1arg</code></strong>, definito in <code>/etc/nagios-plugins/config/check_nrpe.cfg</code>:</p>
<pre># this command runs a program $ARG1$ with no arguments
define command {
        command_name    check_nrpe_1arg
        command_line    /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}</pre>
<p>In tal modo non è possibile passare (via NRPE) ulteriori parametri al plugin <code>check_clamd</code>. Conviene infatti che i parametri siano contenuti nella definizione del comando NRPE (locale al server su cui viene eseguito il plugin) definito in <code>/etc/nagios/nrpe_local.cfg</code>. Nell&#8217;esempio sopra viene passato solo il nome del socket.</p>
</div>
<h1><a id="accesso_ai_dati_snmp" name="accesso_ai_dati_snmp"></a>Accesso ai dati SNMP</h1>
<div>
<p>Nagios si integra facilmente con il sistema <a title="doc:appunti:linux:sa:snmp" href="http://www.rigacci.org/wiki/doku.php/doc/appunti/linux/sa/snmp">SNMP</a>. E&#8217; possibile monitorare apparati che offrono solo SNMP oppure installare sull&#8217;host da monitorare il server NRPE e con questo interrogare localmente il demone SNMP.</p>
</div>
<h2><a id="via_nrpe" name="via_nrpe"></a>Via NRPE</h2>
<div>
<p>Installando il plugin <strong>check_snmp</strong> sull&#8217;host che deve essere monitorato è possibile leggere i parametri SNMP tramite Nagios. Il plugin si trova nel pacchetto Debian <strong>nagios-plugins-standard</strong>, va installato insieme al demone SNMP. In pratica la richiesta del dato avviene seguendo questa catena:</p>
<p>Server Nagios → protocollo NRPE → host monitorato → check_snmp → protocollo SNMP → snmpd</p>
<p>Per configurare il gateway NRPE → SNMP sull&#8217;host monitorato si deve aggiungere una riga al file <code><strong>/etc/nagios/nrpe_local.cfg</strong></code>:</p>
<pre>command[check_memory]=/usr/lib/nagios/plugins/check_snmp -H 127.0.0.1 -C Tex.NET -o UCD-SNMP-MIB::memAvailReal.0 \
    -w 50000: -c 20000: \
    --label="SNMP memAvailReal.0" --units=kb</pre>
<p>Eseguire <strong><code>check_snmp -help</code></strong> per i dettagli sui parametri.</p>
<p>Il server Nagios effettua l&#8217;interrogazione via NRPE, verificare con:</p>
<pre>/usr/lib/nagios/plugins/check_nrpe -H router.texnet.it -c check_memory</pre>
</div>
<h2><a id="via_snmp" name="via_snmp"></a>Via SNMP</h2>
<div>
<p>Il plugin <strong>check_snmp</strong> (dal pacchetto <code>nagios-plugins-standard</code>) viene eseguito sul server Nagios e l&#8217;interrogazione dell&#8217;host da monitorare avviene <strong>via SNMP</strong>.</p>
<p>La configurazione predefinita rende disponibili diversi <em>comandi Nagios</em> che corrispondono a diverse grandezze SNMP monitorabili. Vedere tutti i<strong><code>define command</code></strong> contenuti in <code><strong>/etc/nagios-plugins/config/snmp.cfg</strong></code>.</p>
<p>Non esiste però il sensore per misurare la <strong>percentuale di utilizzo CPU</strong>. Inziamo definendo il <em>comando Nagios</em> di nome <strong>snmp_cpu_load</strong>, basato sul generico plugin <strong>check_snmp</strong>. Si crea il file <strong><code>/etc/nagios-plugins/config/local.cfg</code></strong> con dentro:</p>
<pre># 'snmp_cpu_load' command definition
define command {
    command_name snmp_cpu_load
    command_line /usr/lib/nagios/plugins/check_snmp -H $HOSTADDRESS$ -C $ARG1$ \
        -m UCD-SNMP-MIB \
        -o ssCpuRawUser.0,ssCpuRawNice.0,ssCpuRawSystem.0 \
        -w :,:,: -c :,:,: -l "CPU load"
}</pre>
<p>Il comando (grazie alle macro <strong><code>$HOSTADDRESS$</code></strong> e <strong><code>$ARG1$</code></strong>) farà riferimento all&#8217;indirizzo dell&#8217;<strong>host remoto</strong> ed accetterà come parametro il nome della<strong>community SNMP</strong>. Le grandezze SNMP che interessano sono tre e sono state specificate con il <strong>nome OID</strong> che hanno nel MIB <strong>UCD-SNMP-MIB</strong>. In alternativa si può utilizzare l&#8217;OID numerico.</p>
<p>La percentuale di utilizzo CPU è data dalla somma di <strong>ssCpuRawUser.0</strong>, <strong>ssCpuRawNice.0</strong> e <strong>ssCpuRawSystem.0</strong>, questi però sono <strong>valori raw</strong> (semplici contatori), per ottenere la percentuale bisogna fare la differenza tra due letture successive e dividere per il tempo trascorso.</p>
<p>Per mantenere la semplicità del plugin <code>check_snmp</code>, l&#8217;aggregazione dei dati (calcolo della percentuale) verrà fatta solo quando i <em>performance data</em> vengono salvati nell&#8217;archivio RRD (vedi più avanti le note su Nagiostat). Unico inconveniente è che sui contatori <strong>non possiamo stabilire un warning range e un critical range</strong>, pertanto questa sonda Nagios restituisce sempre un valore <strong>STATE_OK</strong> e serve solo per generare il grafico sui <em>performance data</em>.</p>
<p>Infine si definisce il nuovo servizio in Nagios, indicando il parametro da passare al comando <code>snmp_cpu_load</code> (separato dal punto esclamativo):</p>
<pre>define service {
    host_name               pierargo
    service_description     CPU load
    check_command           snmp_cpu_load!community_name
    use                     generic-service
}</pre>
</div>
<h1><a id="servizio_specifico_per_un_host" name="servizio_specifico_per_un_host"></a>Servizio specifico per un host</h1>
<div>
<p>In generale un singolo servizio viene erogato da molti server, quindi nel file <strong><code>services_nagios2.cfg</code></strong> il servizio viene associato ad un <strong><code>hostgroup_name</code></strong>:</p>
<pre>define service {
        hostgroup_name          http-servers
        service_description     HTTP
        check_command           check_http
        use                     generic-service
}</pre>
<p>Se invece si ha bisogno di una configurazione diversa per ogni host conviene creare un file specifico (ad esempio <strong><code>wget_services.cfg</code></strong>) e ad ogni servizio assegnare un solo <strong><code>host_name</code></strong>:</p>
<pre>define service {
        host_name               Hostname1
        service_description     WGET
        use                     generic-service
        check_command           check_http_get!80!http://www.hostname1.com/dokuwiki/
}
define service {
        host_name               Hostname2
        service_description     WGET
        use                     generic-service
        check_command           check_http_get!80!http://www.hostname2.com/drupal/
}</pre>
</div>
<h1><a id="autenticazione_utenti" name="autenticazione_utenti"></a>Autenticazione utenti</h1>
<div>
<p>Si vuole dare accesso come utente <strong>non amministratore</strong> all&#8217;interfaccia di Nagios. L&#8217;autenticazione è comunque fortemente consigliata per evitare abusi del servizio.</p>
<p>Il nome utente scelto (<strong>guest</strong>) non deve essere uguale ad uno de <em>contact</em> di Nagios, infatti i <em>contatti autenticati</em> hanno accesso a tutte le informazioni relative ai <strong>servizi</strong> e <strong>host</strong> per i quali sono un contatto. Noi invece creiamo un semplice <em>utente autenticato</em>, che non corrisponde ad alcun contatto.</p>
<p>Aggiungiamo l&#8217;utente all&#8217;autenticazione <acronym title="Hyper Text Transfer Protocol">HTTP</acronym>:</p>
<pre>htpasswd /etc/nagios3/htpasswd.users guest</pre>
<p>Poi nel file <strong><code>/etc/nagios3/cgi.cfg</code></strong> aggiungiamo l&#8217;utente almeno a due direttive:</p>
<pre>authorized_for_all_services=nagiosadmin,guest
authorized_for_all_hosts=nagiosadmin,guest</pre>
<p>È possibile indicare come link la sola pagina di <em>Service detail</em>, passando eventualmente anche login e password (visibile in chiaro!) sull&#8217;<acronym title="Uniform Resource Locator">URL</acronym>:<br />
<strong><code>http://guest:guest@nagios.host.it/cgi-bin/nagios3/status.cgi</code></strong></p>
<p>Per concedere altri diritti all&#8217;utente consultare la pagina <a title="http://nagios.sourceforge.net/docs/2_0/cgiauth.html" href="http://nagios.sourceforge.net/docs/2_0/cgiauth.html" rel="nofollow">Authentication And Authorization In The CGIs</a>.</p>
</div>
<h1><a id="external_commands" name="external_commands"></a>External commands</h1>
<div>
<p>Quando Nagios è in esecuzione può ricevere dei comandi sulla pipe <strong><code>/var/lib/nagios3/rw/nagios.cmd</code></strong>, ma questa esiste solo se sono attivi gli<strong><a title="http://nagios.sourceforge.net/docs/2_0/extcommands.html" href="http://nagios.sourceforge.net/docs/2_0/extcommands.html" rel="nofollow">external commands</a></strong>. Per questo verificare che in <code>/etc/nagios3/nagios.cfg</code> ci siano almeno queste impostazioni:</p>
<pre>check_external_commands=1
command_check_interval=10</pre>
<p>Anche l&#8217;interfaccia web utilizza la pipe per comandare Nagios (ad esempio per disabilitare le notifiche). L&#8217;impostazione predefinita Debian tuttavia non imposta i privilegi sufficienti, ecco la ricetta per abilitare l&#8217;interfaccia web ai comandi esterni (da <code>/usr/share/doc/nagios3/README.Debian</code>):</p>
<pre>/etc/init.d/nagios3 stop
dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
/etc/init.d/nagios3 start</pre>
</div>
<h1><a id="grafici_con_nagiostat" name="grafici_con_nagiostat"></a>Grafici con NagioStat</h1>
<div>
<p>Esistono almeno tre progetti per aggiungere grafici a Nagios, purtroppo nessuno pacchettizzato Debian:</p>
<ul>
<li>
<div><a title="http://nagiostat.sourceforge.net/" href="http://nagiostat.sourceforge.net/" rel="nofollow">Nagiostat</a></div>
</li>
<li>
<div><a title="http://sourceforge.net/projects/nagiosgraph" href="http://sourceforge.net/projects/nagiosgraph" rel="nofollow">Nagiosgraph</a></div>
</li>
<li>
<div><a title="http://www.nagiosexchange.org/NagiosGrapher.84.0.html" href="http://www.nagiosexchange.org/NagiosGrapher.84.0.html" rel="nofollow">NagiosGrapher</a></div>
</li>
</ul>
<p>Sebbene Nagiosgraph sia più recente e NagiosGrapher pare sia meglio integrato con Nagios, qui si prova <strong>NagioStat</strong>.</p>
<p><strong>ATTENZIONE:</strong> NagioStat ha dei <strong>problemi gravi di affidabilità</strong>: lo stesso script cgi-bin viene utilizzato sia per il salvataggio dei dati negli RRD sia per la consultazione dei grafici via browser. La configurazione è mantenuta nell&#8217;unico file <strong>nagiostat.conf</strong>. Il parsing del file di configurazione è fragile: se si introduce un <strong>errore nel file di configurazione</strong> si <strong>compromette</strong> in un colpo solo la visualizzazione dei grafici e la <strong>memorizzazione di tutti i <em>performance data</em></strong>. Ad esempio una riga di commento terminante con un backslash oppure con delle virgolette non bilanciate causa il<strong>blocco del programma</strong>.</p>
<p>In teoria ci sarebbe l&#8217;opzione <strong><code>nagiostat -t</code></strong> per testare la validità del file di configurazione, peccato che l&#8217;exit code del programma sia sempre zero, anche in caso di errori.</p>
</div>
<h2><a id="archiviare_i_performance_data_di_nagios_con_nagiostat" name="archiviare_i_performance_data_di_nagios_con_nagiostat"></a>Archiviare i performance data di Nagios con NagioStat</h2>
<div></div>
<h3><a id="installare_nagiostat" name="installare_nagiostat"></a>Installare NagioStat</h3>
<div>
<p>Scompattare l&#8217;archivio <code>nagiostat-1.0.0.tgz</code> in <strong><code>/usr/lib/cgi-bin/nagiostat/</code></strong>, assegnare i permessi opportuni.</p>
<p>Predisporre la directory <strong><code>/var/lib/nagiostat</code></strong> dove salvare i dati RRD:</p>
<pre>mkdir /var/lib/nagiostat
mkdir /var/lib/nagiostat/archives
chown nagios:nagios /var/lib/nagiostat/archives
chmo 755 /var/lib/nagiostat/archives</pre>
<p>Configurare NagioStat in modo che utilizzi tale directory: in <strong><code>nagiostat.conf</code></strong> mettere</p>
<pre>RRDArchivePath  /var/lib/nagiostat/archives</pre>
<p>Predisporre la directory <strong><code>/var/log/nagiostat/</code></strong> per salvare il debug, assegnare i permessi opportuni e creare un link simbolico:</p>
<pre>mkdir /var/log/nagiostat
touch /var/log/nagiostat/debug.log
chown -R nagios:adm /var/log/nagiostat
chmod 2750 /var/log/nagiostat
chmod 640 /var/log/nagiostat/debug.log
ln -s /var/log/nagiostat/debug.log /usr/lib/cgi-bin/nagiostat/debug.log</pre>
<p>Configurare anche logrotate per gestire la rotazione dei log con un file <strong><code>/etc/logrotate.d/nagiostat</code></strong>:</p>
<pre>/var/log/nagiostat/debug.log {
  rotate 7
  daily
  compress
  delaycompress
  missingok
  notifempty
  create 640 nagios adm
}</pre>
<p>Modificare l&#8217;eseguibile <acronym title="Practical Extraction and Report Language">Perl</acronym> di NagioStat in modo che trovi tutte le sue componenti:</p>
<pre>my $BASE_DIR = "/usr/lib/cgi-bin/nagiostat";</pre>
</div>
<h3><a id="configurare_nagiostat" name="configurare_nagiostat"></a>Configurare NagioStat</h3>
<div>
<p>Vedere anche <strong><a title="doc:appunti:linux:sa:nagiostat_snmp_cpu_load" href="http://www.rigacci.org/wiki/doku.php/doc/appunti/linux/sa/nagiostat_snmp_cpu_load">questo esempio più complesso</a></strong> per la generazione del grafico del carico della CPU a partire dai valori SNMP.</p>
<p>Per ogni grafico di Nagiostat bisogna configurare alcune sezioni nel file di configurazione <strong><code>nagiostat.conf</code></strong>:</p>
<ol>
<li>
<div><strong>RRDCreateTemplate</strong></div>
</li>
<li>
<div><strong>InsertValue</strong></div>
</li>
<li>
<div><strong>ValueRegexTemplate</strong></div>
</li>
<li>
<div><strong>PlotTemplate</strong></div>
</li>
<li>
<div><strong>Graph</strong></div>
</li>
</ol>
<p>Dopo aver configurato i primi 3 parametri, NagioStat è in grado di ricevere i dati e salvarli nel database RRD. Al primo inserimento il database viene creato al volo. Per verificare il contenuto di un file RRD si può utilizzare la riga di comando:</p>
<pre>rrdtool dump /var/lib/nagiostat/archives/pierargo-load.rrd</pre>
</div>
<h4><a id="rrdcreatetemplate" name="rrdcreatetemplate"></a>RRDCreateTemplate</h4>
<div>
<p>Il parametro <strong>RRDCreateTemplate</strong> indica come inizializzare l&#8217;archivio RRD con <strong>rrdcreate</strong> quando arriveranno i primi dati. Ecco un esempio tipico (<strong>ATTENZIONE</strong>: il file di configurazione non accetta le andate a capo, mettere <strong>tutto sulla stessa riga!</strong>):</p>
<pre>RRDCreateTemplate ping_5min --step 300
    DS:rta:GAUGE:600:0:5000
    DS:pktloss:GAUGE:600:0:100
    RRA:AVERAGE:0.5:1:396
    RRA:AVERAGE:0.5:6:336
    RRA:AVERAGE:0.5:24:480
    RRA:AVERAGE:0.5:234:480</pre>
<p>In questo esempio si dichiara che i dati saranno acquisiti ogni 300 secondi: <strong>–step 300</strong>.</p>
<p>Le grandezze acquisite sono due (<strong>DS</strong>, data source), entrambe sono letture di un valore puntuale (<strong>GAUGE</strong>). Se la lettura fallisce per più di <strong>600</strong> secondi, il dato viene considerato UNKNOWN. Se il dato non rientra nell&#8217;intervallo <strong>MIN:MAX</strong> viene considerato UNKNOWN.</p>
<p>Il consolidamento dei dati nell&#8217;archivio round-robin (<strong>RRA</strong>) verrà fatto sulla media dei dati (<strong>AVERAGE</strong>) se questi saranno disponibili almeno al 50% (<strong>0.5</strong>). Il consolidamento ad <strong>1</strong> (cioè il singolo dato originale) mantiene <strong>396</strong> record, il consolidamento a <strong>6</strong> (300 x 6 = 1800; media su 30 min) sarà di <strong>336</strong> record, ecc.</p>
</div>
<h4><a id="insertvalue" name="insertvalue"></a>InsertValue</h4>
<div>
<p>Con <strong>InsertValue</strong> si indica a Nagiostat come e quando inserire i dati nell&#8217;archivio RRD. Ad esempio:</p>
<pre>##           RRDArchiveFile  RRDCreateTemplate   HostRegex   ServiceRegex   ValueRegexTemplate
InsertValue  argo-ping.rrd   ping_5min           /^argo$/    /^PING$/       ping_rta_pktloss</pre>
<p>Quando arriva un dato (<em>performance data</em>) proveniente dall&#8217;host <strong>argo</strong> per il servizio <strong>PING</strong>, viene estratto il valore numerico grazie all&#8217;espressione regolare <strong>ping_rta_pktloss</strong>. Quindi il dato viene memorizzato nell&#8217;archivio <strong>argo-ping.rrd</strong> eventualmente creato con il template <strong>ping_5min</strong>.</p>
</div>
<h4><a id="valueregextemplate" name="valueregextemplate"></a>ValueRegexTemplate</h4>
<div>
<p>Il parametro <strong>ValueRegexTemplate</strong> indica come estrarre il dato numerico dall&#8217;informazione proveniente da Nagios; tramite un&#8217;espressione regolare si analizza il <strong>PERFDATA</strong> oppure l&#8217;<strong>OUTPUT</strong> (vedere il log di Nagiostat per l&#8217;esatto contenuto dei due campi). Ecco un esempio su come estrarre i valori relativi al ping (round trip average e packet loss):</p>
<pre>ValueRegexTemplate   ping_rta_pktloss   "output:rta:/RTA = ([0-9.]+) ms/" "output:pktloss:/loss = (\\d+)%/"</pre>
</div>
<h4><a id="plottemplate" name="plottemplate"></a>PlotTemplate</h4>
<div>
<p>Questa riga indica come deve essere invocato <strong><code>rrdgraph</code></strong> (vedi anche le man di <strong><code>rrdgraph_data</code></strong> e <strong><code>rrdgraph_graph</code></strong>) per generare il grafico. Anche in questo esempio ricordarsi di scrivere tutto sulla stessa riga e notare come alcuni caratteri devono essere preceduti da backslash:</p>
<pre>PlotTemplate disk_free --start $s --end $e
    DEF:disk_free=$f:disk_free:AVERAGE LINE1:disk_free#A00000:\"Disk free (bytes?)\"</pre>
</div>
<h2><a id="configurazione_nagios" name="configurazione_nagios"></a>Configurazione Nagios</h2>
<div></div>
<h3><a id="predisporre_nagios_ad_inviare_i_dati" name="predisporre_nagios_ad_inviare_i_dati"></a>Predisporre Nagios ad inviare i dati</h3>
<div>
<p>Nel file principale di configurazione <strong><code>/etc/nagios2/nagios.cfg</code></strong> si abilita il trattamento dei dati <em>performance</em> e si definisce il<strong>service_perfdata_command</strong> (comando da eseguire dopo il check di ogni servizio):</p>
<pre>process_performance_data=1
service_perfdata_command=service-perf-data-handler</pre>
<p>Quindi si definisce il comando <strong>service-perf-data-handler</strong> nel file <strong><code>/etc/nagios2/commands.cfg</code></strong>:</p>
<pre>define command {
    command_name    service-perf-data-handler
    command_line    /usr/lib/cgi-bin/nagiostat/nagiostat -p \
        "$LASTSERVICECHECK$|!!|$HOSTNAME$|!!|$SERVICEDESC$|!!|$SERVICESTATE$|!!|$SERVICEOUTPUT$|!!|$SERVICEPERFDATA$"
}</pre>
</div>
<h3><a id="integrare_i_grafici_in_nagios" name="integrare_i_grafici_in_nagios"></a>Integrare i grafici in Nagios</h3>
<div>
<p>Si può aggiungere alla pagina <em>Service Detail</em> di Nagios un link che rimanda ai grafici di NagioStat. Si utilizza la funzione <em>Extended Host and Service Information</em>. In uno dei file di configurazione (suggerito <strong><code>/etc/nagios2/conf.d/extinfo_nagios2.cfg</code></strong>) si mette:</p>
<pre>define serviceextinfo {
        host_name           everest
        service_description Disk free
        notes_url           /nagiostat/nagiostat.cgi?graph_name=everest-df
}</pre>
<p>Purtroppo l&#8217;icona non è personalizzabile, viene utilizzata <strong>notes.gif</strong> dalla directory <code>/usr/share/nagios2/htdocs/images/</code>.</p>
<p>&nbsp;</p>
<p>Direttamente da <a href="http://www.rigacci.org/wiki/doku.php/doc/appunti/linux/sa/nagios">http://www.rigacci.org/wiki/doku.php/doc/appunti/linux/sa/nagios</a></p>
</div>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F03%2Fappunti-monitoraggio-nagios%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:80px"></iframe><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F03%2Fappunti-monitoraggio-nagios%2F&amp;title=%5BAppunti%5D%20Monitoraggio%20Nagios" id="wpa2a_2"><img src="http://www.manuelelancia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.manuelelancia.com/2012/03/appunti-monitoraggio-nagios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amy Pond &lt;3</title>
		<link>http://www.manuelelancia.com/2012/02/amy-pond-3/</link>
		<comments>http://www.manuelelancia.com/2012/02/amy-pond-3/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 18:40:00 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[amy pond]]></category>
		<category><![CDATA[doctor who]]></category>

		<guid isPermaLink="false">http://www.manuelelancia.com/2012/02/amy-pond-3/</guid>
		<description><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p>]]></description>
			<content:encoded><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p><div id="attachment_398" class="wp-caption alignnone" style="width: 490px"><img src="http://www.manuelelancia.com/wp-content/uploads/2012/04/tumblr_lyxnv2ESlL1qm5yq0o1_500.jpg" alt="" width="480" height="360" class="size-large wp-image-398" /><p class="wp-caption-text">Amy Pond &lt;3</p></div>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F02%2Famy-pond-3%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:80px"></iframe><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F02%2Famy-pond-3%2F&amp;title=Amy%20Pond%20%3C3" id="wpa2a_4"><img src="http://www.manuelelancia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.manuelelancia.com/2012/02/amy-pond-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>American Horror Story </title>
		<link>http://www.manuelelancia.com/2012/02/american-horror-story/</link>
		<comments>http://www.manuelelancia.com/2012/02/american-horror-story/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 18:33:08 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[american horror story]]></category>
		<category><![CDATA[horror]]></category>
		<category><![CDATA[tate]]></category>

		<guid isPermaLink="false">http://www.manuelelancia.com/2012/02/american-horror-story/</guid>
		<description><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p>]]></description>
			<content:encoded><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p><div id="attachment_401" class="wp-caption alignnone" style="width: 490px"><img src="http://www.manuelelancia.com/wp-content/uploads/2012/04/tumblr_lyxnj8UFdQ1qm5yq0o1_500.gif" alt="" width="480" height="256" class="size-large wp-image-401" /><p class="wp-caption-text">American Horror Story </p></div>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F02%2Famerican-horror-story%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:80px"></iframe><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F02%2Famerican-horror-story%2F&amp;title=American%20Horror%20Story%C2%A0" id="wpa2a_6"><img src="http://www.manuelelancia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.manuelelancia.com/2012/02/american-horror-story/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title></title>
		<link>http://www.manuelelancia.com/2012/02/404/</link>
		<comments>http://www.manuelelancia.com/2012/02/404/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 18:30:35 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Lavoro]]></category>

		<guid isPermaLink="false">http://www.manuelelancia.com/2012/02/404/</guid>
		<description><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p>]]></description>
			<content:encoded><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p><p><img src="http://www.manuelelancia.com/wp-content/uploads/2012/04/tumblr_lyxnezaoCp1qm5yq0o1_500.gif" alt="" width="480" height="351" class="alignnone size-large wp-image-403" /></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F02%2F404%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:80px"></iframe><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F02%2F404%2F&amp;title=" id="wpa2a_8"><img src="http://www.manuelelancia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.manuelelancia.com/2012/02/404/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title></title>
		<link>http://www.manuelelancia.com/2012/02/406/</link>
		<comments>http://www.manuelelancia.com/2012/02/406/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 18:28:07 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Lavoro]]></category>

		<guid isPermaLink="false">http://www.manuelelancia.com/2012/02/406/</guid>
		<description><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p>]]></description>
			<content:encoded><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p><p><img src="http://www.manuelelancia.com/wp-content/uploads/2012/04/tumblr_lyxnawpsjb1qm5yq0o1_500.gif" alt="" width="480" height="376" class="alignnone size-large wp-image-405" /></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F02%2F406%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:80px"></iframe><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F02%2F406%2F&amp;title=" id="wpa2a_10"><img src="http://www.manuelelancia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.manuelelancia.com/2012/02/406/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>True story&#8230; every day.</title>
		<link>http://www.manuelelancia.com/2012/02/true-story-every-day/</link>
		<comments>http://www.manuelelancia.com/2012/02/true-story-every-day/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 18:26:44 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Lavoro]]></category>

		<guid isPermaLink="false">http://www.manuelelancia.com/2012/02/true-story-every-day/</guid>
		<description><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p>]]></description>
			<content:encoded><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p><div id="attachment_408" class="wp-caption alignnone" style="width: 490px"><img src="http://www.manuelelancia.com/wp-content/uploads/2012/04/tumblr_lyxn8kop5a1qm5yq0o1_1280.png" alt="" width="480" height="354" class="size-large wp-image-408" /><p class="wp-caption-text">True story&#8230; every day.</p></div>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F02%2Ftrue-story-every-day%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:80px"></iframe><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F02%2Ftrue-story-every-day%2F&amp;title=True%20story%E2%80%A6%20every%20day." id="wpa2a_12"><img src="http://www.manuelelancia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.manuelelancia.com/2012/02/true-story-every-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Me gusta me trolla xD</title>
		<link>http://www.manuelelancia.com/2012/02/me-gusta-me-trolla-xd/</link>
		<comments>http://www.manuelelancia.com/2012/02/me-gusta-me-trolla-xd/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 18:23:00 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[me gusta]]></category>
		<category><![CDATA[me trolla]]></category>
		<category><![CDATA[meme]]></category>
		<category><![CDATA[trollface]]></category>

		<guid isPermaLink="false">http://www.manuelelancia.com/2012/02/me-gusta-me-trolla-xd/</guid>
		<description><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p>]]></description>
			<content:encoded><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p><div id="attachment_411" class="wp-caption alignnone" style="width: 410px"><img src="http://www.manuelelancia.com/wp-content/uploads/2012/04/tumblr_lyxn3myS5s1qm5yq0o1_400.gif" alt="" width="400" height="300" class="size-large wp-image-411" /><p class="wp-caption-text">Me gusta me trolla xD</p></div>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F02%2Fme-gusta-me-trolla-xd%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:80px"></iframe><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F02%2Fme-gusta-me-trolla-xd%2F&amp;title=Me%20gusta%20me%20trolla%20xD" id="wpa2a_14"><img src="http://www.manuelelancia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.manuelelancia.com/2012/02/me-gusta-me-trolla-xd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&lt;3</title>
		<link>http://www.manuelelancia.com/2012/02/3/</link>
		<comments>http://www.manuelelancia.com/2012/02/3/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 18:19:00 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[bolivia]]></category>
		<category><![CDATA[fringe]]></category>
		<category><![CDATA[olive dunham]]></category>
		<category><![CDATA[peter bishop]]></category>
		<category><![CDATA[red olivia]]></category>
		<category><![CDATA[walter bishop]]></category>

		<guid isPermaLink="false">http://www.manuelelancia.com/2012/02/3/</guid>
		<description><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p>&#60;3]]></description>
			<content:encoded><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p>
<a href='http://www.manuelelancia.com/2012/02/3/attachment/414/' title=''><img width="150" height="150" src="http://www.manuelelancia.com/wp-content/uploads/2012/04/tumblr_lyxjb8yrqe1qe4o1bo1_250-150x150.gif" class="attachment-thumbnail" alt="" title="" /></a>
<a href='http://www.manuelelancia.com/2012/02/3/attachment/415/' title=''><img width="150" height="150" src="http://www.manuelelancia.com/wp-content/uploads/2012/04/tumblr_lyxjb8yrqe1qe4o1bo2_250-150x150.gif" class="attachment-thumbnail" alt="" title="" /></a>
<a href='http://www.manuelelancia.com/2012/02/3/attachment/416/' title=''><img width="150" height="150" src="http://www.manuelelancia.com/wp-content/uploads/2012/04/tumblr_lyxjb8yrqe1qe4o1bo3_250-150x150.gif" class="attachment-thumbnail" alt="" title="" /></a>
<a href='http://www.manuelelancia.com/2012/02/3/attachment/417/' title=''><img width="150" height="150" src="http://www.manuelelancia.com/wp-content/uploads/2012/04/tumblr_lyxjb8yrqe1qe4o1bo4_250-150x150.gif" class="attachment-thumbnail" alt="" title="" /></a>

<p>&lt;3</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F02%2F3%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:80px"></iframe><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.manuelelancia.com%2F2012%2F02%2F3%2F&amp;title=%3C3" id="wpa2a_16"><img src="http://www.manuelelancia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.manuelelancia.com/2012/02/3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>http://www.youtube.com/watch?v=zwJkqh3aGy4 If I promise to settle down with you forever by my sideOh</title>
		<link>http://www.manuelelancia.com/2011/12/if-i-promise-to-settle-down-with-you-forever-by-my/</link>
		<comments>http://www.manuelelancia.com/2011/12/if-i-promise-to-settle-down-with-you-forever-by-my/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 20:28:02 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[james yorkston]]></category>

		<guid isPermaLink="false">http://www.manuelelancia.com/2011/12/if-i-promise-to-settle-down-with-you-forever-by-my/</guid>
		<description><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p>If I promise to settle down with you forever by my sideOh will you keep the peace, oh lord knows I have tried, lord know I have triedI live for]]></description>
			<content:encoded><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p><p><iframe width="480" height="360" src="http://www.youtube.com/embed/zwJkqh3aGy4?fs=1&#038;feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p><span>If I promise to settle down with you forever by my side</span><br /><span>Oh will you keep the peace, oh lord knows I have tried, lord know I have tried</span><br /><span>I live for your kind words there the cool (cruel?) words that I’ve heard</span><br /><span>I live for your quite embrace we have years yet left to waste</span><br /><span>The more time we spend alone the happier I am</span><br /><span>I place my trust in fool lord will I never learn, lord will I never learn</span></p>
<p><span>The summer it is near, it’s time that we all left behind</span><br /><span>Unlocked to say a word?? and we’ll do the best we can, we do the best we can.</span></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.manuelelancia.com%2F2011%2F12%2Fif-i-promise-to-settle-down-with-you-forever-by-my%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:80px"></iframe><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.manuelelancia.com%2F2011%2F12%2Fif-i-promise-to-settle-down-with-you-forever-by-my%2F&amp;title=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DzwJkqh3aGy4%20If%20I%20promise%20to%20settle%20down%20with%20you%20forever%20by%20my%20sideOh" id="wpa2a_18"><img src="http://www.manuelelancia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.manuelelancia.com/2011/12/if-i-promise-to-settle-down-with-you-forever-by-my/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>http://www.youtube.com/watch?v=MAsrDu3pL2g We&#8217;ve crushed everything, I can see, in this mornin</title>
		<link>http://www.manuelelancia.com/2011/12/weve-crushed-everything-i-can-see-in-this/</link>
		<comments>http://www.manuelelancia.com/2011/12/weve-crushed-everything-i-can-see-in-this/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 17:00:04 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Lavoro]]></category>

		<guid isPermaLink="false">http://www.manuelelancia.com/2011/12/weve-crushed-everything-i-can-see-in-this/</guid>
		<description><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p>We&#8217;ve crushed everything, I can see, in this morning selfishly, How we&#8217;ve failed, And I feel like I do. ]]></description>
			<content:encoded><![CDATA[<p>Posted in <a href="http://www.manuelelancia.com/category/lavoro/" title="Lavoro">Lavoro</a></p><p><iframe width="480" height="360" src="http://www.youtube.com/embed/MAsrDu3pL2g?fs=1&#038;feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p><span>We&#8217;ve crushed everything, </span><br /><span>I can see, in this morning selfishly, </span><br /><span>How we&#8217;ve failed, </span><br /><span>And I feel like I do. </span></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.manuelelancia.com%2F2011%2F12%2Fweve-crushed-everything-i-can-see-in-this%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:80px"></iframe><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.manuelelancia.com%2F2011%2F12%2Fweve-crushed-everything-i-can-see-in-this%2F&amp;title=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DMAsrDu3pL2g%20We%E2%80%99ve%20crushed%20everything%2C%C2%A0I%20can%20see%2C%20in%20this%20mornin" id="wpa2a_20"><img src="http://www.manuelelancia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.manuelelancia.com/2011/12/weve-crushed-everything-i-can-see-in-this/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

