Monitorando servidores PostgreSQL com o Colletd
Monitoramento de servidores <ul><li>Porque? </li><ul><li>Precisamos saber o estado de servidores de produção (e de desenvo...
Importante visualizar histórico </li><ul><li>Podemos detectar padrões de uso
Identificar situações perigosas
Prever estados indesejáveis </li></ul></ul></ul>
Monitoramento de servidores <ul><li>Como? (requisitos) </li><ul><li>Várias máquinas
Impacto pequeno no servidor
Espaço em disco ocupado constante
Coletar todas as variáveis relevantes </li><ul><li>Importante obter dados do PostgreSQL
Extensibilidade </li></ul></ul></ul>
Collectd <ul><li>http://collectd.org/
Modular
Extensível
Fácil de configurar
Leve
Distribuído
Suporte a SNMP </li></ul>
Collectd - Plugins <ul><li>Mais de 80, entre eles: </li><ul><li>CPU, Mem, Df, Disk, Uptime, Swap e Load.
Filecount e CSV
Upcoming SlideShare
Loading in …5
×

Collectd

1,359 views
1,296 views

Published on

A palestra apresenta a ferramenta Collectd como uma opção para monitoramento de servidores PostgreSQL.

Published in: Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
1,359
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
11
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Collectd

  1. 1. Monitorando servidores PostgreSQL com o Colletd
  2. 2. Monitoramento de servidores <ul><li>Porque? </li><ul><li>Precisamos saber o estado de servidores de produção (e de desenvolvimento)
  3. 3. Importante visualizar histórico </li><ul><li>Podemos detectar padrões de uso
  4. 4. Identificar situações perigosas
  5. 5. Prever estados indesejáveis </li></ul></ul></ul>
  6. 6. Monitoramento de servidores <ul><li>Como? (requisitos) </li><ul><li>Várias máquinas
  7. 7. Impacto pequeno no servidor
  8. 8. Espaço em disco ocupado constante
  9. 9. Coletar todas as variáveis relevantes </li><ul><li>Importante obter dados do PostgreSQL
  10. 10. Extensibilidade </li></ul></ul></ul>
  11. 11. Collectd <ul><li>http://collectd.org/
  12. 12. Modular
  13. 13. Extensível
  14. 14. Fácil de configurar
  15. 15. Leve
  16. 16. Distribuído
  17. 17. Suporte a SNMP </li></ul>
  18. 18. Collectd - Plugins <ul><li>Mais de 80, entre eles: </li><ul><li>CPU, Mem, Df, Disk, Uptime, Swap e Load.
  19. 19. Filecount e CSV
  20. 20. PostgreSQL, Oracle, MySQL e TokyoTyrant
  21. 21. DBI
  22. 22. Nginx e Apache
  23. 23. CURL
  24. 24. Perl e Exec
  25. 25. Notify (Desktop e Email) </li></ul></ul>
  26. 26. Collectd – Projetos Relacionados <ul><li>Visage
  27. 27. Ruby-collectd
  28. 28. Erlang-collectd
  29. 29. Jcollectd
  30. 30. Kcollectd
  31. 31. drraw </li></ul>
  32. 32. Instalação <ul><li>Somente *nix
  33. 33. Pacotes </li><ul><li>Ubuntu Karmic (anteriores não têm o plugin para o PostgreSQL)
  34. 34. Debian Squeeze </li></ul><li>Compilação </li><ul><li>Devemos ter os requisitos para compilar os plugins necessários. </li></ul></ul>
  35. 35. Configuração Interval 60 LoadPlugin logfile <Plugin logfile> LogLevel info File STDOUT Timestamp true </Plugin> LoadPlugin cpu LoadPlugin df LoadPlugin disk LoadPlugin filecount LoadPlugin load LoadPlugin memory LoadPlugin network LoadPlugin nginx LoadPlugin postgresql LoadPlugin rrdtool
  36. 36. Configuração <Plugin postgresql> <Query hitratio> Statement &quot;SELECT round(avg(heap_blks_hit / (heap_blks_hit + heap_blks_read)::numeric) * 100) AS hit_ratio FROM pg_statio_user_tables WHERE (heap_blks_hit + heap_blks_read) > 0;&quot; <Result> Type gauge ValuesFrom hit_ratio </Result> </Query> <Database mailee_production> Host &quot;66.207.140.17&quot; Port &quot;5432&quot; User &quot;mailee&quot; Password &quot;senha&quot; Query hitratio </Database> </Plugin>
  37. 37. Visualização dos dados <ul><li>Collection3 vem no contrib
  38. 38. CGI em perl
  39. 39. sudo apt-get install librrds-perl libconfig-general-perl libhtml-parser-perl libregexp-common-perl </li></ul>
  40. 40. Collection3
  41. 41. Visualização dos dados <ul><li>Visage, aplicação em Ruby no github
  42. 42. git clone git://github.com/auxesis/visage.git
  43. 43. Rake deps
  44. 44. Aplicação em sinatra </li></ul>
  45. 45. Visage
  46. 46. Visage
  47. 47. Agregação de Dados <ul><li>Plugin network
  48. 48. Um Servidor, recebe e armazena dados
  49. 49. Clientes, coleta e envia dados
  50. 50. Modelo com vários servidores, multicast
  51. 51. Autenticação </li></ul>
  52. 52. Monitorando o PostgreSQL <ul><li>Consultas prontas </li><ul><li>backends
  53. 53. transactions
  54. 54. queries
  55. 55. query_plans
  56. 56. table_states
  57. 57. disk_io
  58. 58. disk_usage </li></ul></ul>
  59. 59. Notificações e margens <ul><li>Definição de margens
  60. 60. Servidor central
  61. 61. Email
  62. 62. Desktop
  63. 63. WarningMin, FailureMin
  64. 64. WaningMax, FailureMax </li></ul>
  65. 65. Notificações e margens <Threshold> <Host &quot;mailee.me&quot;> <Plugin &quot;memory&quot;> <Type &quot;memory&quot;> Instance &quot;used&quot; WarningMax 3000000000 </Type> </Plugin> </Host> </Threshold>
  66. 66. Muito Obrigado Diogo Biazus [email_address]

×