Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Trabalhando com Logs no PostgreSQL

781 Aufrufe

Veröffentlicht am

Palestra realizada em 18 de Setembro de 2015 no FTSL2015 ou PGDay PR 2015 em Curitiba, PR.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Trabalhando com Logs no PostgreSQL

  1. 1. Trabalhando com logs no PostgreSQL F´abio Telles Rodriguez Timbira - A empresa brasileira de PostgreSQL 18 de setembro de 2015 FTSL2015
  2. 2. Apresenta¸c˜ao F´abio Telles Rodrigues DBA Oracle e PostgreSQL +10 anos Colaborador Comunidade Brasileira de PostgreSQL Blog: http://savepoint.blog.br @telles
  3. 3. Timbira http://www.timbira.com.br A empresa Brasileira de PostgreSQL Consultoria / Desenvolvimento Planos de Suporte Parcerias com Empresas Desenvolvedoras de Software Treinamentos In-Company e On-Line Corre¸c˜ao de bugs no PostgreSQL garantida em contrato
  4. 4. Sobre esta apresenta¸c˜ao esta apresenta¸c˜ao est´a dispon´ıvel em: http://www.timbira.com.br/material esta apresenta¸c˜ao est´a sob licen¸ca Creative Commons Atribui¸c˜ao 3.0 Brasil: http://creativecommons.org/licenses/by/3.0/br
  5. 5. Sobre o que estamos falando?
  6. 6. Sobre o que estamos falando? Vis˜ao sobre o passado: Erros de configura¸c˜ao; Erros na aplica¸c˜ao; Volume de conex˜oes; Tempos de execu¸c˜ao; Locks, deadlocks, temp buffers
  7. 7. Mantra O que os olhos n˜ao vˆeem o DBA n˜ao sente
  8. 8. Onde logar log destination: (stderr, csvlog, syslog e se estiver utilizando o Windows, eventlog) logging collector: Ligue e seja feliz log directory: pg log (vocˆe pode utilizar um ponto de montagem s´o para os logs tamb´em) log filename: use ’postgresql-%Y-%m-%d%H%M%S.log ou postgresql − %d.log
  9. 9. Onde logar log file mode: Tire a m˜ao da´ı. log rotation age: ’1d’ log rotation size: 10MB a 1GB log truncate on rotation: use em sistemas embarcados para rotacionar os logs.
  10. 10. Quando logar client min messages, log min messages e log min error statement: DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL e PANIC log min duration statement: gatilho para logar comandos com valores maiores sejam logados (em ms)
  11. 11. O que logar application name: N˜ao mexa, mas saiba usar na sua aplica¸c˜ao (SET application name = ’meu app’;) debug print parse, debug print rewritten, debug print plan, debug pretty print: n˜ao mexa. log checkpoints: ligue (porque eu estou mandando! S´erio, n˜ao custa nada) log connections e log disconnections: use com parcimˆonia log duration: h´a quem use. Casos bem espec´ıficos. N˜ao substitui o log min duration
  12. 12. O que logar log error verbosity: Em geral, n˜ao mexa. log hostname: S´o ative se confiar muito no seu DNS. Pode gerar um pouco de overhead. log line prefix: ”%t [%p]: [%l] db=%d,user=%u ‘. Muitas op¸c˜oes legais. Vale `a pena conhecer. log lock waits: Ligue e entenda. log statement: DDL, MOD (DDL + DML), ALL (tudo) ou none (nada). log temp files: ´Util para ajustar parˆametros de mem´oria. Coloque em zero para ver o que acontece de verdade. log timezone: Espero que vocˆe n˜ao tenha que mexer nisso...
  13. 13. GUCs ou Grand Unified Configuration Alguns parˆametros podem ser alterados em diferentes contextos, como INTERNAL, POSTMASTER, SIGHUP, BACKEND, SUPERUSER e USER Verificar no cat´alogo em pg settings; Utilizar o pg reload conf() para parˆametros alterados no postgresql.conf Utilizar o pg rotate logfile() para rotacionar os logs
  14. 14. GUCs ou Grand Unified Configuration SELECT pg rotate logfile(), pg reload conf(); ALTER SYSTEM SET log min messages = ’INFO’; ALTER DATABASE teste SET log min messages = ’NOTICE’; ALTER ROLE abizi SET log min messages = ’DEBUG1’; SET log min messages = ’PANIC’;
  15. 15. Usando o application name SET application name = ’financeiro’; SET application name = ’APP=financeiro — SCR=cadastro’; SET application name = ’APP=financeiro — SCR=cadastro — USER=telles’; SET application name = ’APP=financeiro — SCR=cadastro — USER=telles — HOST=m129’;
  16. 16. Ferramentas externas grep, regex, sed, awk, etc; pgBadger; pgFouine (descontinuado); auto explain; Elasticsearch
  17. 17. Para os DBAs... Durma bem antes de um novo deploy. Tire uns dias de folga; N˜ao deixe de tomar cerveja com os amigos... Pratique exerc´ıcios f´ısicos regularmente!!!
  18. 18. Perguntas ? F´abio Telles Rodriguez (telles@timbira.com.br) http://www.timbira.com.br http://www.postgresql.org/docs/current/static/runtime-config-logging.html http://savepoint.blog.br/trabalhando-com-logs-no-postgresql http://savepoint.blog.br/aprenda-a-trabalhar-com-as-configuracoes-do-postgresql

×