Supervisão e Monitorização
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Supervisão e Monitorização

on

  • 3,187 views

Ferramentas e metodologias para supervisionar e monitorizar sistemas remotos.

Ferramentas e metodologias para supervisionar e monitorizar sistemas remotos.

Como deixar centenas de servidores na empresa e ir para casa dormir descansado.

Statistics

Views

Total Views
3,187
Views on SlideShare
2,941
Embed Views
246

Actions

Likes
2
Downloads
63
Comments
0

2 Embeds 246

http://developers.blogs.sapo.pt 238
http://www.slideshare.net 8

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Supervisão e Monitorização Presentation Transcript

  • 1. Supervisão e Monitorização Marco Ramos Maio de 2009
  • 2. SAPO  ~ 600 servidores em produção  90% Linux + 10% Microsoft  HTTP, SMTP, IMAP, POP3, XMPP, SQL, FTP, RADIUS, LDAP, NNTP, etc.  And growing fast…
  • 3. Objectivos  Como está toda a infraestrutura agora?  Serviços e Sistema  Cross-platform  Não intrusivo, idealmente agentless  Flexível e facilmente extensível
  • 4.  Inicialmente NetSaint, desenvolvido por Ethan Galstad  Nagios Ain’t Gonna Insist On Sainthood  GPL  Grande comunidade
  • 5. Arquitectura
  • 6. Nagios Screenshot
  • 7. Nagios Screenshot (ii)
  • 8. Tipos de Alertas  Serviço Simulação de um pedido de um cliente (ex.: HTTP Get)  Remoto Recolha de um valor no sistema remoto e posterior tratamento (ex.: espaço em disco). Como?
  • 9. SNMP  Simple Network Management Protocol  Standard  Lightweight e Cross-platform  Organizado em MIBs, acessível por OIDs, facilmente extensível  Síncrono ou Assíncrono
  • 10. Como escrever plugins/scripts?  Pode ser usada qualquer linguagem  Return codes:  0: Ok  1: Warning  2: Critical  Descrição do problema: última linha enviada para STDOUT
  • 11. Exemplo: Alarme de serviço #!/usr/bin/perl use strict; use DBI; my $host=$ARGV[0]; my $user=$ARGV[1]; my $password=$ARGV[2 ]; my $dbh; if (!($dbh=DBI->connect("dbi:mysql:host=$host","$user","$password"))) { print "Cannot connect to MySQL!n"; exit 2; } print "MySQL Ok!n"; exit 0;
  • 12. Exemplo: Alarme Remoto Servidor remoto: #!/bin/sh ps ax | grep -v grep | grep -c ssh snmpd.conf do servidor remoto: exec checkNumberSSH /path/to/scripts/script.sh # Results in: # service name: .1.3.6.1.4.1.2021.8.1.2.1 # command executed: .1.3.6.1.4.1.2021.8.1.3.1 # exit code: .1.3.6.1.4.1.2021.8.1.100.1 # result: .1.3.6.1.4.1.2021.8.1.101.1
  • 13. Exemplo: Alarme Remoto (ii) Nagios: #!/usr/local/bin/perl use strict; my $result = $session->get_request( use Net::SNMP; -varbindlist => [$oid] ); my $hostname = $ARGV[0]; if ($result->{$oid} >= 10) { my $community = "sapo"; print “Muitos processos SSHn"; my $oid = "1.3.6.1.4.1.2021.8.1.101.1"; exit 2; } my ($session, $error) = Net::SNMP->session ( print "Numero de processos SSH OK!n"; -hostname => $hostname, exit 0; -community => $community, -port => 161 ); my $result = $session->get_request( -varbindlist => [$oid] );
  • 14. 10 features importantes  Interacção com os alarmes  Envio de notificações  Escalar problemas  Marcação de intervenções  Definição de intervalos de tempo
  • 15. 10 features importantes (ii)  Geração de reports  Definição de acções correctivas  Definição de dependências  Interacção com API do motor  Arquitectura Master-Slave
  • 16. Vantagens e Desvantagens  É O Standard  Cross-platform  Flexível e extensível  Documentação + Comunidade  Não incorpora gestão de inventário
  • 17. Alternativas
  • 18. Objectivos – Parte II  Como esteve toda a infraestrutura no passado?  Como é expectável que esteja no futuro?  Cross-platform  SNMP?
  • 19.  Round Robin Database Tool  Desenvolvido por Tobias Oetiker, criador do MRTG  Baseado na libgd para a geração de gráficos Mas… como “injectar” os dados no RRDtool?
  • 20.  Frontend para RRDtool desenvolvido por Ian Berry  Desenvolvido em PHP + MySQL  GPL  Baseado em sistema de templates  Poller central efectua a recolha
  • 21. Arquitectura
  • 22. Cacti Screenshots
  • 23. Cacti Screenshots (ii)
  • 24. Exemplo de Script Lembram-se do Slide anterior?  Servidor remoto: #!/bin/sh ps ax | grep -v grep | grep -c ssh snmpd.conf do servidor remoto: exec checkNumberSSH /path/to/scripts/script.sh # Results in: # service name: .1.3.6.1.4.1.2021.8.1.2.1 # command executed: .1.3.6.1.4.1.2021.8.1.3.1 # exit code: .1.3.6.1.4.1.2021.8.1.100.1 # result: .1.3.6.1.4.1.2021.8.1.101.1
  • 25. Vantagens e Desvantagens  Flexível e extensível  Cross-platform  Comunidade  Excessiva complexidade nalgumas opções  Curva de aprendizagem
  • 26. Alternativas
  • 27. Referências http://nagios.org http://nagiosexchange.org http://zenoss.com http://hyperic.com http://zabbix.com http://pingdom.com http://royal.pingdom.com http://oss.oetiker.ch/rrdtool/ http://cacti.net http://ganglia.info http://munin.projects.linpro.no/ https://labs.omniti.com/trac/reconnoiter
  • 28. ?