Monitorizare

Idei

  • Cum monitorizăm?
  • Cum reacționăm la alerte/notificări?
  • Cum formulăm avertismentele?
  • Cum alegem limitele?

Demo

Monit

  1. Instalare
    • În containerul LXC, instalați pachetele apache2, postfix și monit, dacă nu există:
      apt-get install monit postfix apache2
      • Pentru configurarea Postfix lăsați setările default.
      • Atenție: în cazul în care aveți deja instalat apache2, asigurați-vă că este configurat să asculte și pe portul 80.
  2. Configurare
    • Adăugați în directorul /etc/monit/conf.d/ următoarele fișiere:
      • Configurările de bază:
        /etc/monit/conf.d/basic.conf
        set daemon 20
        set logfile syslog facility log_daemon
         
        set alert <mail>
        set mailserver localhost
         
        set httpd port 2812 and use address 0.0.0.0
            allow admin:monit                                                                
         
        check system localhost
            if loadavg (1min) > 4 then alert
            if loadavg (5min) > 2 then alert
            if memory usage > 75% then alert
            if cpu usage (user) > 70% then alert
            if cpu usage (system) > 30% then alert
            if cpu usage (wait) > 20% then alert
        • Înlocuiți <mail> cu mailul vostru personal pentru a primi notificările.
      • Configurările apache:
        /etc/monit/conf.d/apache2.conf
        check process apache with pidfile /var/run/apache2.pid                               
            start program = "/etc/init.d/apache2 start" with timeout 60 seconds
            stop program  = "/etc/init.d/apache2 stop"
            if cpu > 60% for 2 cycles then alert
            if cpu > 80% for 5 cycles then restart
            if totalmem > 200.0 MB for 5 cycles then restart
            if children > 250 then restart
            if loadavg(5min) greater than 10 for 8 cycles then stop
            if failed host localhost port 80 protocol http
               and request "/index.html"
               then restart
            if 3 restarts within 5 cycles then timeout
            group www
      • Configurările ssh:
        /etc/monit/conf.d/sshd.conf
        check process sshd with pidfile /var/run/sshd.pid
            start program "/etc/init.d/ssh start"
            stop program "/etc/init.d/ssh stop"
            if failed port 22 protocol ssh then restart
            if 5 restarts within 5 cycles then timeout
    • Porniți daemon-ul:
      /etc/init.d/monit start
    • Verificați starea proceselor monitorizate:
      monit summary
      monit status
  3. Utilizare
    • Accesați din browser adresa http://houdini.cs.pub.ro:<port>
      • <port> este de forma 4<id_container>12.
      • Introduceți userul admin și parola monit
    • În mașina virtuală verificați dacă rulează apache:
      ps aux | grep apache2
    • Opriți apache2:
      /etc/init.d/apache2 stop
    • Verificați interfața monit (web sau monit status)
    • Verificați adresa de email specificată în fișierul de configurare === SNMP ===

# Instalare #* Instalați în containerul LXC serverul de snmp:

apt-get install snmpd

#* Configurați serverul să asculte pe toate interfețele: # Editați fișierul /etc/snmp/snmpd.conf. #* Atenție: E vorba de fișierul snmpd.conf (al daemon-ului), nu snmp.conf. # Modificați parametrul agentAddress astfel încât serverul SNMP să folosească protocolul tcp} și să asculte pe toate interfețele, pe portul 161}: <code> #agentAddress udp:127.0.0.1:161 agentAddress tcp:0.0.0.0:161 </code> #* Reporniți serviciul: <code bash> /etc/init.d/snmpd restart </code> #* Verificați că serviciul este pornit folosind comanda<code bash> netstat -tlpn </code> # Utilizare #* Instalați pe mașina locală clientul snmp}: <code bash> apt-get install snmp snmp-mibs-downloader </code> #* Editați fișierul /etc/snmp/snmp.conf și comentați linia: <code conf> #mibs: </code> #* Folosiți utilitarul snmpwalk pentru a afla toate OID-urile serverului: <code bash> snmpwalk -v2c -c public tcp:houdini.cs.pub.ro:<port> </code> # Unde <port> este de forma: 4<id_container>61 #* Afișați subarborele system:

snmpwalk -v2c -c public tcp:houdini.cs.pub.ro:<port> system

#* Verificați de când rulează mașina:

snmpwalk -v2c -c public tcp:houdini.cs.pub.ro:<port> sysUpTimeInstance

Nagios

  1. Instalare
    • Instalați, pe mașina locală, serverul Nagios:
      sudo apt-get install nagios3 nagios-snmp-plugins
      • Setați parola administratorului Nagios student
  2. Utilizare
    • Accesați din browser URL-ul: http://127.0.0.1/nagios3/.
      • Folosiți userul nagiosadmin și parola student
    • Explorați secțiunile:
      • Tactical Overview
      • Hosts
      • Services
      • Host Groups
    • Observați serviciile monitorizate implicit de Nagios
      • Implicit este monitorizat doar localhost-ul
  3. Configurare
    • Fișierele de configurare pentru serverul Nagios se găsesc în directorul /etc/nagios3/conf.d
    • Adăugați un nou host în Nagios, pentru care să monitorizați serverul de SSH:
      • Adăugați în directorul de configurare fișierul lxc_nagios.cfg:
        /etc/nagios3/conf.d/lxc_nagios.cfg
        # LXC container host
        define host {
            use                 generic-host
            host_name           lxc
            alias               lxc
            address             houdini.cs.pub.ro
        }
         
        # SSH check on different port than default(22)                                                                                 
        define service {
            use                 generic-service
            host_name           lxc
            service_description SSH check on port <port>
            check_command       check_ssh_port!<port>!houdini.cs.pub.ro
        }
      • Înlocuiți <port> cu portul SSH extern al containerului vostru.
    • Restartați serverul:
      /etc/init.d/nagios3 restart
    • Verificați din interfața web faptul este monitorizat portul SSH.

Nagstamon

  1. Instalați pachetul nagstamon pe mașina locală:
    sudo apt-get install nagstamon
  2. Utilizare:
    • Porniți nagstamon pe mașina locală: ALT+F2nagstamon
  3. Configurare:
  4. Verificare:
    • Pe sistemul local, inspectați fișierul /etc/nagios3/conf.d/localhost_nagios2.cfg
    • Modificați limita proceselor active astfel încât să vă notifice o neregulă.
      • După modificare restartați Nagios:
        /etc/init.d/nagios3 restart

Extra

  1. Configurați serverul de Nagios să monitorizeze și alte containere.
sesiuni/sysadmin/monit.txt · Last modified: 2014/06/19 14:55 by bpurcareata