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

Like this? Share it with your network

Share

Supervisão e Monitorização

  • 3,233 views
Uploaded on

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,233
On Slideshare
2,983
From Embeds
250
Number of Embeds
2

Actions

Shares
Downloads
65
Comments
0
Likes
2

Embeds 250

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

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

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. ?