IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Web: http://openfpnet.guifi.net
Centre coordinador:
LogoINSEbre.png
http://www.iesebre.com
Wiki: OpenFPnet
Repositori SVN: http://www.iesebre.com/subversion/openfpnet/
Autors: Sergi Tur Badenas
Llicència: LogoCreativeCommons.png Creative Commons
Ajudes: LogosMinisteriEducacioiUE.png Tot el que es detalla en aquesta wiki es responsabilitat exclusiva dels autors
Enllaços: TodoFP.png http://todofp.es/

Introducció

El servidor virtual noc està basat en la màquina virtual plantilla replicaLdap. El seu objectiu es proporcionar les eines per monitortizar la xarxa i els servidors de l'Institut.

Configuració de l'accés. Obrir ports

El servidor NOC estarà accessible a través del port 82.

Instal·lació d'aplicacions web

LAMP server i altres requeriments

Instal·leu un LAMP:

$ sudo tasksel install lamp-server

Instal·leu el suport de PHP per a Ldap:

$ sudo apt-get install php5-ldap

Servidor de logs

Consulteu:

 Configuració del servidor de rsyslog

Per tal de permetre enviar missatges de log remots al servidor noc.

TODO: configuració iptables per permetre només logs des xarxa de servidors:


Configuració dels clients

TODO

Gestioip

Seguiu els passos de:

Instal·lació de gestioip

Per tal d'instal·lar l'eina gestioip.

Un cop instal·lar doneu d'alta totes les xarxes de forma automàtica amb:

Gestioip#Exemple_de_com_afegir_xarxes_autom.C3.A0ticament_amb_una_consulta_SNMP

Vegeu:

Gestioip

Cacti

Instal·leu la última versió de Cacti de forma manual seguint les instruccions de:

 Instal·lació manual de Cacti

Vegeu cacti

Munin

Per a instal·lar munin només cal fer:

$ sudo apt-get install munin

El fitxer de configuració ha de ser quelcom similar a:

# a simple host tree
[noc.iesmontsia.org]
    address 127.0.0.1
    use_node_name yes

[cop.iesmontsia.org]
    address 192.168.50.10
    use_node_name yes

[proxmox01.iesmontsia.org]
    address 192.168.5 0.11
    use_node_name yes 

[proxmox02.iesmontsia.org]
   address 192.168.5 0.12
   use_node_name yes 

[proxmox03.iesmontsia.org]
    address 192.168.50.13
    use_node_name yes

[ns2.iesmontsia.org]
    address 192.168.50.22
    use_node_name yes

[gosa.iesmontsia.org] 
   address 192.168.50.30
   use_node_name yes

[samba01.iesmontsia.org]
    address 192.168.50.41
    use_node_name yes

#[samba02.iesmontsia.org]
#    address 192.168.50.42
#    use_node_name yes

#[samba03.iesmontsia.org]
#    address 192.168.50.43
#    use_node_name yes

[iperf1.iesmontsia.org]
    address 192.168.50.51
    use_node_name yes

[proxyguifi.iesmontsia.org]
    address 192.168.50.61
    use_node_name yes

#[mirror.iesmontsia.org]
#    address 192.168.50.62
#    use_node_name yes

#[backup.iesmontsia.org]
#    address 192.168.50.70
#     use_node_name yes

[www.iesmontsia.org]
   address 192.168.50.80
   use_node_name yes


IMPORTANT: Cavieu el nom de domini de cada màquina per adaptar-lo al vostre cas

Vegeu munin

Configuracions extres de Munin

Executar a cada munin-node:

$ sudo munin-node-configure --suggest
DNS (Bind)

Als servidors DNS primari i secundari (cop|192.168.50.10 i ns2|192.168.50.22) cal configurar munin-node de la següent manera:

Activeu els plugins de bind:

$ sudo ln -s /usr/share/munin/plugins/bind9 /etc/munin/plugins/bind9
$ sudo ln -s /usr/share/munin/plugins/bind9_rndc /etc/munin/plugins/bind9_rndc

$ sudo joe /etc/bind/named.conf.options
options {
 ...
 statistics-file "/var/log/bind9/named.stats";
}
logging {
       channel b_query {
               file "/var/log/bind9/query.log" versions 2 size 1m;
               print-time yes;
               severity info;
       };
       category queries { b_query; };
};

IMPORTANT: Afegiu aquestes línies al final del fitxer. NO POSEU DINS l'APARTAT OPTIONS l'apartat logging

Ara cal crear la carpeta i els fitxers de log:

$ sudo mkdir /var/log/bind9
$ sudo chown bind:bind /var/log/bind9
$ sudo touch /var/log/bind9/named.stats
$ sudo chown bind:bind /var/log/bind9/named.stats 
$ sudo ln -s /var/log/bind9/named.stats /var/run/named.stats

Amb Ubuntu i AppArmor uns caldrà també configurar AppArmor. Modifiqueu el fitxer:

$ sudo joe /etc/apparmor.d/usr.sbin.named

Busqueu les línies:

 # some people like to put logs in /var/log/named/ instead of having
 # syslog do the heavy lifting.
 /var/log/named/** rw,
 /var/log/named/ rw,  

I poseu:

 # some people like to put logs in /var/log/named/ instead of having
 # syslog do the heavy lifting.
 /var/log/named/** rw,
 /var/log/named/ rw,  
 /var/log/bind9/** rw,
 /var/log/bind9/ rw, 

Reinicieu Apparmor:

$ sudo /etc/init.d/apparmor restart 

I apliqueu els canvis a Bind:

 $ sudo /etc/init.d/bind9 restart

Comproveu que el servidor de DNS funciona correctament:

$ ps aux | grep bind

i

$ sudo tail -f /var/log/syslog

Configureu munin-node:

$ sudo joe /etc/munin/plugin-conf.d/munin-node
...
[bind9_rndc]
user root
...

Un cop feta la configuració cal aplicar els canvis:

$ sudo /etc/init.d/munin-node restart

Ara podeu provar els plugins per línia de comandes:

$ sudo munin-run bind9
query_PTR.value 1
query_A.value 19
query_other.value 0

i:

$ sudo munin-run bind9_rndc 
query_recursion.value 1
query_success.value 3
query_nxrrset.value 0
query_requests.value 3
query_failure.value 0
query_duplicates.value 0 
query_nonauth_answer.value 3
query_nxdomain.value 0
query_auth_answer.value 0
query_responses.value 3



Consulteu també:

Munin#Bind_plugin
Bonding

Al servidor Proxmox us hauria d'agafar automàticament una gràfica que mostra informació sobre el Bonding:

$ sudo munin-node-configure --suggest | grep bond
bonding_err_               | yes  | yes (bond0)                            
if_                        | yes  | yes (bond0 bond0.1 bond0.10 bond0.11 bond0.12 bond0.13 bond0.2 bond0.3 bond0.4 bond0.5 bond0.6 bond0.7 eth0)
if_err_                    | yes  | yes (bond0 bond0.1 bond0.10 bond0.11 bond0.12 bond0.13 bond0.2 bond0.3 bond0.4 bond0.5 bond0.6 bond0.7 eth0)
$ sudo munin-run bonding_err_bond0 
if_eth0.value if_eth1.value
Discs durs

Les màquines que tenen discs durs reals són les proxmox. Com a mínim a proxmox01, configureu Munin-node per activar els plugins següents:

lm-sensors

No funciona amb el servidor Intel i proxmox? TODO

Correu electrònic
conntrack. Firewall
MySQL

Tenen servidor de MySQL les màquines:

Seguiu les passes de:

Munin#MySQL

Per activar el plugin a totes dues màquines

NTP

Les gràfiques es generen automàticament als servidors ns1 (cop) i ns2.

Ldap

Consulteu:

Munin#Ldap
Squid

Nagios

Instal·leu Nagios 3 seguint el passos de:

Nagios#Nagios_3.0

Poseu com a parualla de pas la clau master habitual (la del fitxer gosa.conf).

Afegiu-vos un usuari local seguint els passos de:

Nagios#Afegir_un_nou_usuari

Vegeu també Nagios

Autenticació Ldap

La intenció és fer que tots els usuaris de l'arbre Ldap del centre que formin part del grup:

cn=nagios,ou=GrupsNOC,ou=Grups,ou=All,dc=DOMINIDELCENTRE,dc=COM/CAT

En resum per tenir accés a Nagios caldrà:

  • Tenir usuari Ldap/Gosa del centre
  • Cal ser del grup cn=nagios,ou=GrupsNOC,ou=Grups,ou=All,dc=DOMINIDELCENTRE,dc=CAT/COM.
  • Tenir permisos per veure els continguts de Nagios. Calen dos coses:

i que aquest contacte tingui permisos. Tots teniu permisos i sou contactes del Nagios, per tant hauríeu de poder veure la llista de serveis

Consulteu Nagios i Ldap i Nagios3#Afegir_un_nou_usuari

Com queden els fitxers de configuració:

Contactes Nagios

$ sudo cat /etc/nagios3/conf.d/contacts_nagios2.cfg
...
#Accés per Ldap
define contact{
      contact_name                    sergitur
      alias                           Sergi Tur Badenas
      service_notification_period     24x7   
      host_notification_period        24x7   
      service_notification_options    w,u,c,r
      host_notification_options       d,r
      service_notification_commands   notify-service-by-email
      host_notification_commands      notify-host-by-email
      email                           [email protected]
      }

#Accés per Ldap
define contact{
      contact_name                    jordimarin
      alias                           Jordi Marin
      service_notification_period     24x7
      host_notification_period        24x7
      service_notification_options    w,u,c,r
      host_notification_options       d,r
      service_notification_commands   notify-service-by-email
      host_notification_commands      notify-host-by-email
       email                           [email protected]
      }
...
resta de contactes...

Configuració de l'autenticació HTTP:

$ cat /etc/apache2/conf.d/nagios3.conf
... 
<DirectoryMatch (/usr/share/nagios3/htdocs|/usr/lib/cgi-bin/nagios3|/etc/nagios3/stylesheets)>
        Options FollowSymLinks

        DirectoryIndex index.php index.html

        AllowOverride AuthConfig
        Order Allow,Deny
        Allow From All  

        AuthName "Nagios Access"
        AuthType Basic
        AuthUserFile /etc/nagios3/htpasswd.users
        # nagios 1.x:
        #AuthUserFile /etc/nagios/htpasswd.users
        #require valid-user

        AuthBasicProvider ldap file
        AuthzLDAPAuthoritative off
        AuthLDAPURL "ldap://localhost/ou=All,dc=iesalfacs,dc=cat?uid?sub"
        AuthLDAPGroupAttributeIsDN off
        AuthLDAPGroupAttribute memberUid

        require valid-user
        require ldap-group cn=nagios,ou=GrupsNOC,ou=Grups,ou=All,dc=iesalfacs,dc=cat

</DirectoryMatch>
...

Configuració dels permisos Nagios:

$ cat /etc/nagios3/cgi.cfg | grep authorized
authorized_for_system_information=nagiosadmin,sergi,ramonmontoya,jordimarin,oscarlavedra,albertbertomeu,faustomendoza,sergitur,adminximochust
authorized_for_configuration_information=nagiosadmin,sergi,ramonmontoya,jordimarin,oscarlavedra,albertbertomeu,faustomendoza,sergitur,adminximochust
authorized_for_system_commands=nagiosadmin,sergi,ramonmontoya,jordimarin,oscarlavedra,albertbertomeu,faustomendoza,sergitur,adminximochust
authorized_for_all_services=nagiosadmin,sergi,ramonmontoya,jordimarin,oscarlavedra,albertbertmeu,faustomendoza,sergitur,adminximochust
authorized_for_all_hosts=nagiosadmin,sergi,ramonmontoya,jordimarin,oscarlavedra,albertbertomeu,faustomendoza,sergitur,adminximochust
authorized_for_all_service_commands=nagiosadmin,sergi,ramonmontoya,jordimarin,oscarlavedra,albertbertomeu,faustomendoza,sergitur,adminximochust
authorized_for_all_host_commands=nagiosadmin,sergi,ramonmontoya,jordimarin,oscarlavedra,albertbertomeu,faustomendoza,sergitur,adminximochust

Configurar els contactes

 $ sudo joe /etc/nagios3/conf.d/contacts_nagios2.cfg

Afegiu dos contactes nous, el vostre usuari i el de maninfo:

define contact{
      contact_name                    maninfo
      alias                           Manteniment informatica
      service_notification_period     24x7   
      host_notification_period        24x7
      service_notification_options    w,u,c,r
      host_notification_options       d,r 
      service_notification_commands   notify-service-by-email
      host_notification_commands      notify-host-by-email
      email                           maninfo AT iesmontsia.org 
      }

define contact{
      contact_name                    sergi
      alias                           Sergi Tur Badenas
      service_notification_period     24x7 
      host_notification_period        24x7
      service_notification_options    w,u,c,r
      host_notification_options       d,r 
      service_notification_commands   notify-service-by-email
      host_notification_commands      notify-host-by-email
      email                           CORREU PERSONAL
      }

IMPORTANT: canvieu maninfo AT iesmontsia.org i CORREU PERSONAL pel que correspongui

Afegiu-los al grup admins:

define contactgroup{
       contactgroup_name       admins
       alias                   Nagios Administrators
       members                 root,sergi,maninfo
       }

Apliqueu els canvis:

$ sudo nagios3 -v /etc/nagios3/nagios.cfg
$ sudo /etc/init.d/nagios3 restart

Adaptar les plantilles de correu electrònic

Cal modificar el fitxer:

$ sudo joe /etc/nagios3/commands.cfg

I canviar les comandes notify-host-by-email i notify-service-by-email:

# 'notify-host-by-email' command definition
define command{
        command_name    notify-host-by-email
        command_line    /usr/bin/printf "%b" "***** Nagios ALFACS*****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "ALFACS :** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
        }

# 'notify-service-by-email' command definition
define command{
        command_name    notify-service-by-email
        command_line    /usr/bin/printf "%b" "***** Nagios ALFACS*****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -s "ALFACS: ** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
        }

Comprovar els correus de root

Amb:

$ sudo su
# mail

Hauríeu de veure els correus que Nagios envia a l'usuari root

Vegeu també

Enllaços externs