SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
COMO ENCONTRAR UMA
AGULHA NO PALHEIRO DE
LOGS DO POSTGRESQL
DICKSON S. GUEDES
,PGBR2013 - PORTO VELHO RO
VAMOS VER COMO TRANFORMAR ISTO…
2013-07-02 14:32:47.756 -0300,"postgres","postgres",6817,"[local]",51d30
ebe.1aa1,3,"idle",2013-07-02 14:32:46 BRT,,0,LOG,00000,"disconnection: s
ession time: 0:00:01.258 user=postgres database=postgres host=[local]",,
,,,,,,,"psql"
2013-07-02 14:32:51.901 -0300,"sistema","banco",5263,"10.1.3.15:38337",5
1d2f128.148f,1,"SELECT",2013-07-02 12:26:32 BRT,53/1448601,0,LOG,00000,"
duration: 4445.476 ms execute <unnamed>: select l.cod_xpto, null, l.cod_
pre_xpto, l.cod_oper_xpto, l.dt_xpto, l.valor_xpto, null, c.cod_xpto, c.
dv_cod_xpto, c.descricao, l.tipo from xpto l join plxpto p on (l.seq_xpt
o = p.seq_xpto) join coxpto c on (p.xpto = c.seq_xpto) where c.cod_xpto
= $1 and l.dt_xpto between $2 and $3 and l.cod_xpto = $4 and l.situacao
IN ($5, $6, $7) union select d.cod_xpto, d.cod_de, d.cod_pre_xpto, l.cod
_o_xpto, l.dt_xpto, null, d.valor_de, c.cod_xpto, c.dv_cod_xpto, c.descr
icao,d.operacao from desdxpto d join xpto l on (d.cod_xpto = l.cod_xpto
and d.cod_xpto= l.cod_xpto) join plxpto p on (d.seq_xpto = p.seq_xpto) j
oin coxpto c on (p.xpto = c.seq_xpto) where c.cod_xpto = $8 and l.dt_xpt
o between $9 and $10 and l.cod_xpto = $11 and l.situacao IN ($12, $13, $
14) ","xpto: $1 = '1001001', $2 = '2013-05-01', $3 = '2013-06-25', $4 =
'201', $5 = '287', $6 = '88', $7 = '200', $8 = '111001001', $9 = '2013-0
5-01', $10 = '2013-06-25', $11 = '13', $12 = '287', $13 = '208', $14 = '
29'",,,,,,,,""
NISTO…
VAMOS FALAR SOBRE REGISTRO DE EVENTOS E
POSTGRES
REGISTRO DE EVENTOS TAMBÉM É CONHECIDO
COMO: LOG
QUAIS AS PEÇAS QUE COMPOEM UM EVENTO?
Quando?
Quem?
Onde?
O quê?
Como? [debug]
VAMOS A UM EXERCÍCIO …
ISTO PARA VOCÊ É SUFICIENTE?
caiu
subiu
estabilizou
E SE ADICIONARMOS MAIS UM DADO?
a temperatura caiu
a temperatura subiu
a temperatura estabilizou
E MAIS UM …
em SP a temperatura caiu
em CE a temperatura subiu
em RJ a temperatura estabilizou
E PARA FINALIZAR …
ontem em SP a temperatura caiu
hoje em CE a temperatura subiu
semana passada em RJ a temperatura estabilizou
E SE OLHARMOS PARA ISTO?
REGISTRAR É IMPORTANTE!
MAS O QUÊ É IMPORTANTE SER REGISTRADO?
PRÁTICA: LOG DO POSTGRES
PRÁTICA: LOGSTASH
ENTRADA > PROCESSAMENTO > SAIDA
INPUT > FILTER > OUTPUT
LINKS
http://logstash.net/docs/1.1.13/
pagina de panico
DEMONSTRANDO TUDO…
QUESTÕES?
email/gtalk: guedes@guedesoft.net
twitter: @guediz
youtube: guediz
github: guedes
http://guedesoft.net
http://www.timbira.com.br

Contenu connexe

Plus de Dickson S. Guedes

Ganhando tempo automatizando com SQL
Ganhando tempo automatizando com SQLGanhando tempo automatizando com SQL
Ganhando tempo automatizando com SQLDickson S. Guedes
 
O mínimo necessário que você precisa conhecer sobre computação quântica
O mínimo necessário que você precisa conhecer sobre computação quânticaO mínimo necessário que você precisa conhecer sobre computação quântica
O mínimo necessário que você precisa conhecer sobre computação quânticaDickson S. Guedes
 
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhorPorque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhorDickson S. Guedes
 
Pattern matching - O que é? Onde vive? Do que se alimenta? Como se reproduz?
Pattern matching - O que é? Onde vive? Do que se alimenta? Como se reproduz?Pattern matching - O que é? Onde vive? Do que se alimenta? Como se reproduz?
Pattern matching - O que é? Onde vive? Do que se alimenta? Como se reproduz?Dickson S. Guedes
 
Primeiros passos machine learning PostgreSQL
Primeiros passos machine learning PostgreSQLPrimeiros passos machine learning PostgreSQL
Primeiros passos machine learning PostgreSQLDickson S. Guedes
 
Dicas de sobrevivência de um DBA sem mouse
Dicas de sobrevivência de um DBA sem mouseDicas de sobrevivência de um DBA sem mouse
Dicas de sobrevivência de um DBA sem mouseDickson S. Guedes
 
Gerenciando múltiplas versões do PostgreSQL com pgvm
Gerenciando múltiplas versões do PostgreSQL com pgvmGerenciando múltiplas versões do PostgreSQL com pgvm
Gerenciando múltiplas versões do PostgreSQL com pgvmDickson S. Guedes
 
PGXN - Como distribuir suas extensões com o PostgreSQL
PGXN - Como distribuir suas extensões com o PostgreSQLPGXN - Como distribuir suas extensões com o PostgreSQL
PGXN - Como distribuir suas extensões com o PostgreSQLDickson S. Guedes
 
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)Dickson S. Guedes
 
Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...
Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...
Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...Dickson S. Guedes
 
Conhecendo Postgresql.- ENECOMP 2009
Conhecendo Postgresql.- ENECOMP 2009Conhecendo Postgresql.- ENECOMP 2009
Conhecendo Postgresql.- ENECOMP 2009Dickson S. Guedes
 
Minicurso Postgresql - Enecomp 2009
Minicurso Postgresql - Enecomp 2009Minicurso Postgresql - Enecomp 2009
Minicurso Postgresql - Enecomp 2009Dickson S. Guedes
 
Testes unitarios no PostgreSQL com pgTAP
Testes unitarios no PostgreSQL com pgTAPTestes unitarios no PostgreSQL com pgTAP
Testes unitarios no PostgreSQL com pgTAPDickson S. Guedes
 
pgScript: um Elefante de barriga cheia
pgScript: um Elefante de barriga cheiapgScript: um Elefante de barriga cheia
pgScript: um Elefante de barriga cheiaDickson S. Guedes
 
Replicacao Sincrona "Nao existe almoco gratis!"
Replicacao Sincrona "Nao existe almoco gratis!"Replicacao Sincrona "Nao existe almoco gratis!"
Replicacao Sincrona "Nao existe almoco gratis!"Dickson S. Guedes
 

Plus de Dickson S. Guedes (19)

Ganhando tempo automatizando com SQL
Ganhando tempo automatizando com SQLGanhando tempo automatizando com SQL
Ganhando tempo automatizando com SQL
 
O mínimo necessário que você precisa conhecer sobre computação quântica
O mínimo necessário que você precisa conhecer sobre computação quânticaO mínimo necessário que você precisa conhecer sobre computação quântica
O mínimo necessário que você precisa conhecer sobre computação quântica
 
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhorPorque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
 
Pattern matching - O que é? Onde vive? Do que se alimenta? Como se reproduz?
Pattern matching - O que é? Onde vive? Do que se alimenta? Como se reproduz?Pattern matching - O que é? Onde vive? Do que se alimenta? Como se reproduz?
Pattern matching - O que é? Onde vive? Do que se alimenta? Como se reproduz?
 
Primeiros passos machine learning PostgreSQL
Primeiros passos machine learning PostgreSQLPrimeiros passos machine learning PostgreSQL
Primeiros passos machine learning PostgreSQL
 
Dicas de sobrevivência de um DBA sem mouse
Dicas de sobrevivência de um DBA sem mouseDicas de sobrevivência de um DBA sem mouse
Dicas de sobrevivência de um DBA sem mouse
 
Destistificando o EXPLAIN
Destistificando o EXPLAIN Destistificando o EXPLAIN
Destistificando o EXPLAIN
 
Falando "Postgrês"
Falando "Postgrês"Falando "Postgrês"
Falando "Postgrês"
 
O Elefante Poliglota
O Elefante PoliglotaO Elefante Poliglota
O Elefante Poliglota
 
Gerenciando múltiplas versões do PostgreSQL com pgvm
Gerenciando múltiplas versões do PostgreSQL com pgvmGerenciando múltiplas versões do PostgreSQL com pgvm
Gerenciando múltiplas versões do PostgreSQL com pgvm
 
PGXN - Como distribuir suas extensões com o PostgreSQL
PGXN - Como distribuir suas extensões com o PostgreSQLPGXN - Como distribuir suas extensões com o PostgreSQL
PGXN - Como distribuir suas extensões com o PostgreSQL
 
Pgxn.pgday
Pgxn.pgdayPgxn.pgday
Pgxn.pgday
 
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
 
Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...
Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...
Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...
 
Conhecendo Postgresql.- ENECOMP 2009
Conhecendo Postgresql.- ENECOMP 2009Conhecendo Postgresql.- ENECOMP 2009
Conhecendo Postgresql.- ENECOMP 2009
 
Minicurso Postgresql - Enecomp 2009
Minicurso Postgresql - Enecomp 2009Minicurso Postgresql - Enecomp 2009
Minicurso Postgresql - Enecomp 2009
 
Testes unitarios no PostgreSQL com pgTAP
Testes unitarios no PostgreSQL com pgTAPTestes unitarios no PostgreSQL com pgTAP
Testes unitarios no PostgreSQL com pgTAP
 
pgScript: um Elefante de barriga cheia
pgScript: um Elefante de barriga cheiapgScript: um Elefante de barriga cheia
pgScript: um Elefante de barriga cheia
 
Replicacao Sincrona "Nao existe almoco gratis!"
Replicacao Sincrona "Nao existe almoco gratis!"Replicacao Sincrona "Nao existe almoco gratis!"
Replicacao Sincrona "Nao existe almoco gratis!"
 

Como encontrar uma agulha no palheiro de logs do PostgreSQL

  • 1. COMO ENCONTRAR UMA AGULHA NO PALHEIRO DE LOGS DO POSTGRESQL DICKSON S. GUEDES ,PGBR2013 - PORTO VELHO RO
  • 2. VAMOS VER COMO TRANFORMAR ISTO… 2013-07-02 14:32:47.756 -0300,"postgres","postgres",6817,"[local]",51d30 ebe.1aa1,3,"idle",2013-07-02 14:32:46 BRT,,0,LOG,00000,"disconnection: s ession time: 0:00:01.258 user=postgres database=postgres host=[local]",, ,,,,,,,"psql" 2013-07-02 14:32:51.901 -0300,"sistema","banco",5263,"10.1.3.15:38337",5 1d2f128.148f,1,"SELECT",2013-07-02 12:26:32 BRT,53/1448601,0,LOG,00000," duration: 4445.476 ms execute <unnamed>: select l.cod_xpto, null, l.cod_ pre_xpto, l.cod_oper_xpto, l.dt_xpto, l.valor_xpto, null, c.cod_xpto, c. dv_cod_xpto, c.descricao, l.tipo from xpto l join plxpto p on (l.seq_xpt o = p.seq_xpto) join coxpto c on (p.xpto = c.seq_xpto) where c.cod_xpto = $1 and l.dt_xpto between $2 and $3 and l.cod_xpto = $4 and l.situacao IN ($5, $6, $7) union select d.cod_xpto, d.cod_de, d.cod_pre_xpto, l.cod _o_xpto, l.dt_xpto, null, d.valor_de, c.cod_xpto, c.dv_cod_xpto, c.descr icao,d.operacao from desdxpto d join xpto l on (d.cod_xpto = l.cod_xpto and d.cod_xpto= l.cod_xpto) join plxpto p on (d.seq_xpto = p.seq_xpto) j oin coxpto c on (p.xpto = c.seq_xpto) where c.cod_xpto = $8 and l.dt_xpt o between $9 and $10 and l.cod_xpto = $11 and l.situacao IN ($12, $13, $ 14) ","xpto: $1 = '1001001', $2 = '2013-05-01', $3 = '2013-06-25', $4 = '201', $5 = '287', $6 = '88', $7 = '200', $8 = '111001001', $9 = '2013-0 5-01', $10 = '2013-06-25', $11 = '13', $12 = '287', $13 = '208', $14 = ' 29'",,,,,,,,""
  • 4. VAMOS FALAR SOBRE REGISTRO DE EVENTOS E POSTGRES
  • 5. REGISTRO DE EVENTOS TAMBÉM É CONHECIDO COMO: LOG
  • 6. QUAIS AS PEÇAS QUE COMPOEM UM EVENTO? Quando? Quem? Onde? O quê? Como? [debug]
  • 7. VAMOS A UM EXERCÍCIO …
  • 8. ISTO PARA VOCÊ É SUFICIENTE? caiu subiu estabilizou
  • 9. E SE ADICIONARMOS MAIS UM DADO? a temperatura caiu a temperatura subiu a temperatura estabilizou
  • 10. E MAIS UM … em SP a temperatura caiu em CE a temperatura subiu em RJ a temperatura estabilizou
  • 11. E PARA FINALIZAR … ontem em SP a temperatura caiu hoje em CE a temperatura subiu semana passada em RJ a temperatura estabilizou
  • 12. E SE OLHARMOS PARA ISTO?
  • 14. MAS O QUÊ É IMPORTANTE SER REGISTRADO?
  • 15. PRÁTICA: LOG DO POSTGRES
  • 18. INPUT > FILTER > OUTPUT
  • 21. QUESTÕES? email/gtalk: guedes@guedesoft.net twitter: @guediz youtube: guediz github: guedes http://guedesoft.net http://www.timbira.com.br