<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Netmonitor on Details...</title>
    <link>https://www.deepreflect.net/tags/netmonitor/</link>
    <description>Recent content in Netmonitor on Details...</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <copyright>Copyright © 2003 - 2026 Leonardo Rizzi</copyright>
    <lastBuildDate>Tue, 30 Jun 2026 03:28:29 +0200</lastBuildDate>
    <atom:link href="https://www.deepreflect.net/tags/netmonitor/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Nagios - Twitter alerts</title>
      <link>https://www.deepreflect.net/2010/02/27/nagios-twitter-alerts/</link>
      <pubDate>Sat, 27 Feb 2010 13:22:23 +0000</pubDate>
       <guid isPermaLink="false">http://blog.deepreflect.net/?p=844</guid> 
      <description>&lt;p&gt;This entry will cover how to send nagios alerts to twitter, in the examples to follow using curl.&lt;/p&gt;
&lt;p&gt;Firstly edit &lt;code&gt;commands.cfg&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;And add the two following line:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;define command {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;command_name    notify-by-twitter
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;command_line    /usr/bin/curl --basic --user &amp;#34;twitteruser:twitterpassword&amp;#34; --data-ascii &amp;#34;status=[Nagios] $NOTIFICATIONTYPE$ $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$&amp;#34; http://twitter.com/statuses/update.json
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;define command {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;command_name    host-notify-by-twitter
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;command_line    /usr/bin/curl --basic --user &amp;#34;twitteruser:twitterpassword&amp;#34; --data-ascii &amp;#34;status=[Nagios] $HOSTSTATE$ alert for $HOSTNAME$&amp;#34; http://twitter.com/statuses/update.json
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now define a contact for this twitter service into: &lt;code&gt;contacts.cfg&lt;/code&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This entry will cover how to send nagios alerts to twitter, in the examples to follow using curl.</p>
<p>Firstly edit <code>commands.cfg</code></p>
<p>And add the two following line:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>define command {
</span></span><span style="display:flex;"><span>command_name    notify-by-twitter
</span></span><span style="display:flex;"><span>command_line    /usr/bin/curl --basic --user &#34;twitteruser:twitterpassword&#34; --data-ascii &#34;status=[Nagios] $NOTIFICATIONTYPE$ $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$&#34; http://twitter.com/statuses/update.json
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>define command {
</span></span><span style="display:flex;"><span>command_name    host-notify-by-twitter
</span></span><span style="display:flex;"><span>command_line    /usr/bin/curl --basic --user &#34;twitteruser:twitterpassword&#34; --data-ascii &#34;status=[Nagios] $HOSTSTATE$ alert for $HOSTNAME$&#34; http://twitter.com/statuses/update.json
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>Now define a contact for this twitter service into: <code>contacts.cfg</code></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>define contact{
</span></span><span style="display:flex;"><span>contact_name                    twitter
</span></span><span style="display:flex;"><span>service_notification_commands   notify-by-twitter
</span></span><span style="display:flex;"><span>host_notification_commands      host-notify-by-twitter
</span></span><span style="display:flex;"><span>service_notification_period 24x7
</span></span><span style="display:flex;"><span>host_notification_period 24x7
</span></span><span style="display:flex;"><span>service_notification_options a
</span></span><span style="display:flex;"><span>host_notification_options a
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>Add this contact into your existing contact groups like this (in <code>contacts.cfg</code>):</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>define contactgroup{
</span></span><span style="display:flex;"><span>contactgroup_name       admins
</span></span><span style="display:flex;"><span>alias                   Nagios Administrators
</span></span><span style="display:flex;"><span>members                 nagiosadmin,sms_alert,twitter
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>Then run a nagios prefly check to ensure you have no syntax errors, and restart nagios.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Perl - Zabbix SMS Allert</title>
      <link>https://www.deepreflect.net/2008/11/21/zabbix-sms-allert/</link>
      <pubDate>Fri, 21 Nov 2008 00:56:33 +0000</pubDate>
       <guid isPermaLink="false">http://blog.deepreflect.net/?p=330</guid> 
      <description>&lt;p&gt;Un netmonitor, non è un vero netmonitor se non fa squillare il telefono del sysadmin con un sms almeno 3 volte a notte, ecco qui uno script in perl per interfacciare zabbix con il servizio fornito da Mobyt tramite un POST http su un loro gateway, con qualche aggiustatina può essere usato anche con altri servizi analoghi.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#!/usr/bin/perl
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Leonardo Rizzi
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Version 0.3
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# SMS sent throuth Mobyt gateway
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Designed for use without ip autentication only MD5 Hash
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Attention: there aren&amp;#39;t any check but message limit is of 160 charaters.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;use Digest::MD5  qw(md5_hex);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;use strict;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;use LWP::UserAgent;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;use HTTP::Request::Common qw(POST);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my ($operation, $qty, $rcpt, $query, $out, $ua, $ok, $ko, $data, $from);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my ($code, $id, $password);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$id=&amp;#34;username&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$password=&amp;#34;password&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ok=&amp;#39;SMS Sent Correctly&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ko=&amp;#39;SMS Not Sent&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$from= $ARGV[1];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$operation=&amp;#34;TEXT&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$qty = &amp;#39;h&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#attention this fuking provider don&amp;#39;t accept 00 for international area code only + if you use 00 you get sent error
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$rcpt = $ARGV[0];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$data = $ARGV[2];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$code = join &amp;#39;&amp;#39;, $id,$operation,$rcpt,$from,$data,$password;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my $ticket=md5_hex($code);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ua = new LWP::UserAgent;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ua-&amp;gt;agent(&amp;#34;SMS_MD5_Relay/0.2 &amp;#34; . $ua-&amp;gt;agent);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my $req = POST &amp;#39;http://smsweb.mobyt.it/sms-gw/sendsmart&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;id =$id,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;operation =&amp;#39;TEXT&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rcpt =$rcpt,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;from =$from,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data =$data,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;qty =$qty,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ticket=$ticket
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my $res=$ua-&amp;gt;request($req);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;if ($res-&amp;gt;content =~ /^OK/)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fine_ok (); }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;else
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{ fine_ko (); }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;exit;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sub fine_ko () {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my $msg=shift;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print &amp;#34;$ko\n&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;exit (1);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sub fine_ok () {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my $msg=shift;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print &amp;#34;$ok\n&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;exit (1);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
      <content:encoded><![CDATA[<p>Un netmonitor, non è un vero netmonitor se non fa squillare il telefono del sysadmin con un sms almeno 3 volte a notte, ecco qui uno script in perl per interfacciare zabbix con il servizio fornito da Mobyt tramite un POST http su un loro gateway, con qualche aggiustatina può essere usato anche con altri servizi analoghi.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>#!/usr/bin/perl
</span></span><span style="display:flex;"><span># Leonardo Rizzi
</span></span><span style="display:flex;"><span># Version 0.3
</span></span><span style="display:flex;"><span># SMS sent throuth Mobyt gateway
</span></span><span style="display:flex;"><span># Designed for use without ip autentication only MD5 Hash
</span></span><span style="display:flex;"><span># Attention: there aren&#39;t any check but message limit is of 160 charaters.
</span></span><span style="display:flex;"><span>use Digest::MD5  qw(md5_hex);
</span></span><span style="display:flex;"><span>use strict;
</span></span><span style="display:flex;"><span>use LWP::UserAgent;
</span></span><span style="display:flex;"><span>use HTTP::Request::Common qw(POST);
</span></span><span style="display:flex;"><span>my ($operation, $qty, $rcpt, $query, $out, $ua, $ok, $ko, $data, $from);
</span></span><span style="display:flex;"><span>my ($code, $id, $password);
</span></span><span style="display:flex;"><span>$id=&#34;username&#34;;
</span></span><span style="display:flex;"><span>$password=&#34;password&#34;;
</span></span><span style="display:flex;"><span>$ok=&#39;SMS Sent Correctly&#39;;
</span></span><span style="display:flex;"><span>$ko=&#39;SMS Not Sent&#39;;
</span></span><span style="display:flex;"><span>$from= $ARGV[1];
</span></span><span style="display:flex;"><span>$operation=&#34;TEXT&#34;;
</span></span><span style="display:flex;"><span>$qty = &#39;h&#39;;
</span></span><span style="display:flex;"><span>#attention this fuking provider don&#39;t accept 00 for international area code only + if you use 00 you get sent error
</span></span><span style="display:flex;"><span>$rcpt = $ARGV[0];
</span></span><span style="display:flex;"><span>$data = $ARGV[2];
</span></span><span style="display:flex;"><span>$code = join &#39;&#39;, $id,$operation,$rcpt,$from,$data,$password;
</span></span><span style="display:flex;"><span>my $ticket=md5_hex($code);
</span></span><span style="display:flex;"><span>$ua = new LWP::UserAgent;
</span></span><span style="display:flex;"><span>$ua-&gt;agent(&#34;SMS_MD5_Relay/0.2 &#34; . $ua-&gt;agent);
</span></span><span style="display:flex;"><span>my $req = POST &#39;http://smsweb.mobyt.it/sms-gw/sendsmart&#39;,
</span></span><span style="display:flex;"><span>[
</span></span><span style="display:flex;"><span>id =$id,
</span></span><span style="display:flex;"><span>operation =&#39;TEXT&#39;,
</span></span><span style="display:flex;"><span>rcpt =$rcpt,
</span></span><span style="display:flex;"><span>from =$from,
</span></span><span style="display:flex;"><span>data =$data,
</span></span><span style="display:flex;"><span>qty =$qty,
</span></span><span style="display:flex;"><span>ticket=$ticket
</span></span><span style="display:flex;"><span>];
</span></span><span style="display:flex;"><span>my $res=$ua-&gt;request($req);
</span></span><span style="display:flex;"><span>if ($res-&gt;content =~ /^OK/)
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>fine_ok (); }
</span></span><span style="display:flex;"><span>else
</span></span><span style="display:flex;"><span>{ fine_ko (); }
</span></span><span style="display:flex;"><span>exit;
</span></span><span style="display:flex;"><span>sub fine_ko () {
</span></span><span style="display:flex;"><span>my $msg=shift;
</span></span><span style="display:flex;"><span>print &#34;$ko\n&#34;;
</span></span><span style="display:flex;"><span>exit (1);
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>sub fine_ok () {
</span></span><span style="display:flex;"><span>my $msg=shift;
</span></span><span style="display:flex;"><span>print &#34;$ok\n&#34;;
</span></span><span style="display:flex;"><span>exit (1);
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div>]]></content:encoded>
    </item>
    <item>
      <title>Linux - Zabbix Build 1.6.1 (MySql)</title>
      <link>https://www.deepreflect.net/2008/11/08/linux-zabbix-build-161-mysql/</link>
      <pubDate>Sat, 08 Nov 2008 18:00:51 +0000</pubDate>
       <guid isPermaLink="false">http://blog.deepreflect.net/?p=245</guid> 
      <description>&lt;p&gt;Una breve guida sull&amp;rsquo;implementazione di questo giovane netmonitor che a mio avviso a differenza di soluzioni più conosciute e consolidate come nagios, introduce una gestione molto più web oriented semplificando moldo le operazioni in ambienti che necessitano di rapida scalabilità.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;installazione è stata effettuato con successo usando Debian Etch 4.0r5 e CentOS 5.2 inutile dire che tutte le operazio che seguiranno dovranno essere fatte da utente &amp;lsquo;root&amp;rsquo;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Prepariamo quello che ci serve per la compilazione:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;tardis:~# aptitude -y install build-essential libmysqlclient-dev libssl-dev libsnmp-dev libiksemel-dev libcurl3-dev&lt;/code&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Una breve guida sull&rsquo;implementazione di questo giovane netmonitor che a mio avviso a differenza di soluzioni più conosciute e consolidate come nagios, introduce una gestione molto più web oriented semplificando moldo le operazioni in ambienti che necessitano di rapida scalabilità.</p>
<p>L&rsquo;installazione è stata effettuato con successo usando Debian Etch 4.0r5 e CentOS 5.2 inutile dire che tutte le operazio che seguiranno dovranno essere fatte da utente &lsquo;root&rsquo;</p>
<ol>
<li>Prepariamo quello che ci serve per la compilazione:</li>
</ol>
<p><code>tardis:~# aptitude -y install build-essential libmysqlclient-dev libssl-dev libsnmp-dev libiksemel-dev libcurl3-dev</code></p>
<p><code>tardis:~# apt-get install snmp libiksemel3 libcurl3 libsnmp-base libmysqlclient15off</code></p>
<ol start="2">
<li>Scarichiamo i sorgenti, e procediamo con scompattazione:</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>tardis:~# wget http://garr.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.6.1.tar.gz
</span></span><span style="display:flex;"><span>tardis:~# tar zxvf zabbix-1.6.1.tar.gz
</span></span><span style="display:flex;"><span>tardis:~# cd zabbix-1.6.1
</span></span></code></pre></div><ol start="3">
<li>Configurazione e compilazione, in questo caso verà compilato oltre all&rsquo;agente dedicato a discovery e al monitoraggio, anche il server che ha la funzione di raccogliere di dati dai vari agent, gestire gli allarmi e le operazioni di cordinameto:</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>tardis:~# ./configure --prefix=/usr --with-mysql --with-net-snmp --enable-server --enable-agent --enable-ipv6 --with-jabber
</span></span><span style="display:flex;"><span>tardis:~# make
</span></span></code></pre></div><p>Ora una piccola nota, se compilaste direttamente su macchine di produzione a questo punto basterebbe fare un &lsquo;make install&rsquo; non avendo gli strumenti dedicati, è necessario spostare il compilato sulla macchina dedicata e procedere a mano, quindi (questa fase è da eseguire sulla macchina di produzione che dovrà avere a bordo Apache2, PHP5, Mysql5 già funzionanti):</p>
<ol start="4">
<li>Creiamo utente e gruppo dedicato:</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span> groupadd zabbix
</span></span><span style="display:flex;"><span> useradd -c &#39;Zabbix&#39; -d /home/zabbix -g zabbix -s /bin/bash zabbix
</span></span><span style="display:flex;"><span> mkdir /home/zabbix
</span></span><span style="display:flex;"><span> chown zabbix:zabbix /home/zabbix
</span></span></code></pre></div><ol start="5">
<li>Creiamo database e utente dedicato in mysql server:</li>
</ol>
<p>mysql -p -u root
create database zabbix;
grant all on zabbix.* to &lsquo;zabbix&rsquo;@&rsquo;localhost&rsquo; identified by &lsquo;changeme&rsquo;;
quit;</p>
<ol start="6">
<li>Popoliamo le tabelle del database:</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span> server:~/zabbix-1.6.1# mysql -u root -p zabbix  &lt; create/schema/mysql.sql
</span></span><span style="display:flex;"><span> server:~/zabbix-1.6.1# mysql -u root -p zabbix &lt; create/data/data.sql
</span></span><span style="display:flex;"><span> server:~/zabbix-1.6.1# mysql -u root -p zabbix &lt; create/data/images_mysql.sql
</span></span></code></pre></div><ol start="7">
<li>Creaiamo una struttura di directory dedicata, questa soluzione potrebbe risultare noiasa, ma durante le operazioni di aggiornamento e manutenzione sarà molto più comodo e veloce:</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span> server:~# mkdir /usr/share/zabbix
</span></span><span style="display:flex;"><span> server:~# mkdir /usr/share/zabbix/sbin
</span></span><span style="display:flex;"><span> server:~# mkdir /usr/share/zabbix/etc
</span></span><span style="display:flex;"><span> server:~# mkdir /usr/share/zabbix/frontends
</span></span></code></pre></div><ol start="8">
<li>Con i seguenti passaggi creaiamo un link simbolico delle /etc di zabbix alla /etc di sistema, copiamo il frontend php nella directory dedicata, e infine copiamo gli esguibili compilati che ci servono:</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span> server:~/zabbix-1.6.1# ln -s /usr/share/zabbix/etc/ /etc/zabbix
</span></span><span style="display:flex;"><span> server:~/zabbix-1.6.1# cp -r frontends/php/* /usr/share/zabbix/frontends
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> server:~/zabbix-1.6.1# cp src/zabbix\_agent/zabbix_agent /usr/share/zabbix/sbin/zabbix_agent
</span></span><span style="display:flex;"><span> server:~/zabbix-1.6.1# cp src/zabbix\_agent/zabbix_agentd /usr/share/zabbix/sbin/zabbix_agentd
</span></span><span style="display:flex;"><span> server:~/zabbix-1.6.1# cp src/zabbix_server/zabbix_server /usr/share/zabbix/sbin/zabbix_server
</span></span></code></pre></div><ol start="9">
<li>Configuriamo i file di init.d copiandoli e aggiustando i path</li>
</ol>
<p>server:~/zabbix-1.6.1# cp misc/init.d/debian/* /etc/init.d/</p>
<p>Modificate entrambi gli script aggiustando i path in particolare questa riga:</p>
<p>da così: <code>DAEMON=/home/zabbix/bin/${NAME}</code>
deve diventare così: <code>DAEMON=/usr/share/zabbix/sbin/${NAME}</code></p>
<ol start="10">
<li>Aggiungiamo la definizione delle porte usate da zabbix nei /etc/services</li>
</ol>
<p>echo &gt; &quot;
zabbix_agent 10050/tcp # Zabbix ports
zabbix_trap 10051/tcp&quot;  /etc/services</p>
<ol start="11">
<li>Copiamo le configurazioni di default e apportiamo le modifiche di base:</li>
</ol>
<p>server:<del>/zabbix-1.6.1# chown -R zabbix:zabbix /usr/share/zabbix/etc
server:</del>/zabbix-1.6.1# cp misc/conf/zabbix_* /usr/share/zabbix/etc</p>
<p>Editiamo il file: zabbix_agentd.conf e assicuriamoci che ci sia la seguente riga</p>
<p>Server=127.0.0.1</p>
<p>Editiamo <code>zabbix_server.conf</code></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span> max_execution_time = 300
</span></span><span style="display:flex;"><span> date.timezone = UTC
</span></span><span style="display:flex;"><span> DBHost=localhost
</span></span><span style="display:flex;"><span> DBName=zabbix
</span></span><span style="display:flex;"><span> DBUser=zabbix
</span></span><span style="display:flex;"><span> DBPassword=changeme
</span></span></code></pre></div><ol start="12">
<li>Apache e PHP</li>
</ol>
<p>Nel file php.ini è necessario avere i seguenti parametri definiti:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span> max_execution_time = 300
</span></span><span style="display:flex;"><span> date.timezone = UTC
</span></span></code></pre></div><p>La configurazione di apache è abbastanza a discrezione dell&rsquo;amministratore si può fare in due modi:</p>
<p>Creando un vhost dedicato:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span> &lt;virtualhost&gt;
</span></span><span style="display:flex;"><span> ServerName zabbix.domain.tld
</span></span><span style="display:flex;"><span>DocumentRoot /usr/share/zabbix/frontends
</span></span><span style="display:flex;"><span> &lt;directory&gt;
</span></span><span style="display:flex;"><span> Options FollowSymLinks
</span></span><span style="display:flex;"><span> AllowOverride None
</span></span><span style="display:flex;"><span> &lt;/directory&gt;
</span></span><span style="display:flex;"><span> &lt;/virtualhost&gt;
</span></span></code></pre></div><p>Oppure creando un&rsquo;alias in una vhost già definito:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>&lt;IfModule mod\_alias.c&gt;
</span></span><span style="display:flex;"><span> Alias /zabbix /usr/share/zabbix/frontends
</span></span><span style="display:flex;"><span>&lt;/IfModule&gt;
</span></span></code></pre></div><ol start="13">
<li>Ora se tutto è stato fatto correttamente avviando i servizi e aprendo la pagina web si potrà procedere con la rapiada configurazione del frontends e poi all&rsquo;uso ma prima i seguenti comandi:</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>/etc/init.d/apache2 restart
</span></span><span style="display:flex;"><span>/etc/init.d/zabbix-server start
</span></span><span style="display:flex;"><span>/etc/init.d/zabbix-agent start
</span></span></code></pre></div>]]></content:encoded>
    </item>
  </channel>
</rss>
