Zabbix Performance Tuning

3,437 views
3,125 views

Published on

Zabbix Performance Tuning

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
3,437
On SlideShare
0
From Embeds
0
Number of Embeds
38
Actions
Shares
0
Downloads
138
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Zabbix Performance Tuning

  1. 1. Por Alessandro Silva – contato@alessandrosilva.info ZABBIX Performance Tuning
  2. 2. Por Alessandro Silva – contato@alessandrosilva.info Sobre o palestrante ● Bacharel em Informática e Especialista em TI Aplicada a Educação pelo NCE/UFRJ. ● Pós-graduando em Gerência de Segurança da Informação – NCE/UFRJ ● Mais de 10 anos na indústria de TI ● Certificações: LPIC-3, RHCE, RHCSA, Novell CLA e DCTS, Zabbix Certified Specialist e Zabbix for Large Enviroments. ● Desde 2011 trabalhando com projetos de monitoração com Zabbix. ● Principais interesses: – Linux e Certificações – Segurança – Zabbix – Drupal
  3. 3. Por Alessandro Silva – contato@alessandrosilva.info Agenda ● Arquitetura do Zabbix ● Performace tuning ● Como medir a performance ● Sintomas de baixa performance ● Problemas na implantação ● Tuning – Banco de dados – Zabbix Server – Sistema Operacional ● Recomendações gerais ● Conteúdo extra
  4. 4. Por Alessandro Silva – contato@alessandrosilva.info Performance Tuning É o ajuste realizado em um sistema computacional para melhorar o desempenho. Análise de desempenho, comumente conhecido como PROFILING, é a investigação de comportamento de um sistema usando informações coletadas por uma ferramenta. 1. Avaliar o problema e estabelecer métricas que caracterizem o comportamento aceitável do sistema. 2. Mensurar a performance antes de qualquer intervenção. 3. Identificar gargalos no sistema a fim de concentrar os esforços em pontos críticos. 4. Fazer as modificações para remover esse gargalos. 5. Mensurar a performance do sistema após as modificações.
  5. 5. Por Alessandro Silva – contato@alessandrosilva.info Zabbix – Arquitetura Dados Dados Dados Dados Pooler Pooler Pooler Trapper Trapper History Syncer History Syncer Alertas Escalation Conf Sync Outros Zabbix Frontend Zabbix Database Dados Sem proxy e sem ambiente distribuído Zabbix Server
  6. 6. Por Alessandro Silva – contato@alessandrosilva.info Métrica da performance ● NVPS – Número de valores por segundo – Visível no dashboard NVPS
  7. 7. Por Alessandro Silva – contato@alessandrosilva.info Performance Tuning Hardware: CPU Quad Core, 8GB, RAID10 BBWC Custo: R$ 6.500,00 ● Zabbix pode entregar 1 milhão de valores por minuto ou cerca de 15.000 valores por segundo. ● Mesmo assim, poderíamos ter baixa performance.
  8. 8. Por Alessandro Silva – contato@alessandrosilva.info Fatores de baixa performance ● Tipo de itens, valores, SNMP v3, número de triggers ● Configurações de housekeeper ● Tamanho do banco de dados ● Número de usuários no frontend ● Complexidade das triggers
  9. 9. Por Alessandro Silva – contato@alessandrosilva.info Lento ou Rápido ? Item Lento Rápido Tamanho do banco Grande Encaixável em memória Triggers min(),max(),avg() last(), nodata() Coleta de dados Polling (SNMP, Sem agente,agente passivo) Trapping (active agents) Tipo de dados Texto, string Numérico
  10. 10. Por Alessandro Silva – contato@alessandrosilva.info Performance x Número de hosts Número de hosts Performance (VPS) 10 10 100 100 1000 1000 Número de hosts Performance (VPS) 10 100 100 1000 1000 10000 60 itens por host com frequência de coleta a cada 60 segundos 600 itens por host com frequência de coleta a cada 60 segundos
  11. 11. Por Alessandro Silva – contato@alessandrosilva.info Sintomas de baixa performance ● Zabbix com fila sem entregar os alarmes em tempo. – Administration->Queue ● Frequente lentidão para gerar gráficos e dados em branco. ● Falso positivos de eventos que já não existem ou chegaram atrasados. ● Tempo de resposta do frontend (lentidão)
  12. 12. Por Alessandro Silva – contato@alessandrosilva.info Fila – Sua aliada!
  13. 13. Por Alessandro Silva – contato@alessandrosilva.info Performace: Problemas na implantação ● Uso de templates padrão - Faça seu próprios templates ● Banco sem otimização - Converse com seu DBA para tunar seu BD ● Configuração não otimizada - Tuning nas configurações do Zabbix ● Housekeeper ● Uso de versões antigas ● Não otimização do Apache e PHP
  14. 14. Por Alessandro Silva – contato@alessandrosilva.info Buscando a evidência da baixa performance Zabbix Server configuration file,zabbix_server.conf: LogSlowQueries=1000
  15. 15. Por Alessandro Silva – contato@alessandrosilva.info Tuning das configurações | Zabbix Server StartPollers=80 StartPingers=10 StartPollersUnreachable=80 StartIPMIPollers=10 StartTrappers=20 StartDBSyncers=8
  16. 16. Por Alessandro Silva – contato@alessandrosilva.info Monitorando estatísticas internas
  17. 17. Por Alessandro Silva – contato@alessandrosilva.info Proxy – Distribuição de Carga DadosPooler Pooler Pooler Trapper Trapper History Syncer History Syncer Alertas Escalation Conf Sync Outros Zabbix Frontend Zabbix Database Sem proxy e sem ambiente distribuído Dados Dados Dados Proxy Dados Proxy Dados Dados Zabbix Server
  18. 18. Por Alessandro Silva – contato@alessandrosilva.info Performance tuning | Banco de Dados A parte mais importante do Tuning! ● Use SGBD's rápidos – Mysql ● Versões estáveis de Bancos de dados ● Instale e configure utilizando o fonte para melhor performance ● Implemente performance tuning no banco – Verifique a documentação do fabricante ● Para MySQL , utilize InnoDB ● Manter tabelas em diferentes discos – 'history', 'history_str, 'items' 'functions', triggers', and 'trends' são as tabelas mais usadas.
  19. 19. Por Alessandro Silva – contato@alessandrosilva.info Particionamento de tabelas ● Dividir tabelas grandes em pequenas tabelas ● Faz sentido para: – history_*, trends*, events ● Benefícios – Fácil remoção de dados antigos – Melhor performance
  20. 20. Por Alessandro Silva – contato@alessandrosilva.info Sem particionamento de tabelas History Zabbix Server Zabbix Frontend
  21. 21. Por Alessandro Silva – contato@alessandrosilva.info Com particionamento de tabelas History Zabbix Server Zabbix Frontend Partição 2012_01 Partição 2012_02 Partição 2012_03 Partição 2012_04
  22. 22. Por Alessandro Silva – contato@alessandrosilva.info Performance tuning | Hardware ● Utilizar CPU's rápidas ● Discos SCSI e SAS são melhores do que IDE E SATA – Discos podem ser melhorados com HDPARM ● 15K RPM são melhores do que 10K RPM e 7200 RPM – Se puder pagar, use uma storage! ● Usar discos rápidos (RAID 10) ● Utilize placas de rede rápidas (Gibabit) ● Quanto mais memória, melhor!
  23. 23. Por Alessandro Silva – contato@alessandrosilva.info Performance tuning | Sistema Operacional ● Utilizar versões mais recentes estáveis ● Excluir funcionalidades desnecessárias do kernel ● Tuning em parâmetros do kernel ● Memória ● CPU
  24. 24. Por Alessandro Silva – contato@alessandrosilva.info Checklist ● Estatísticas internas do servidor Zabbix – Caso contrário, você não saberá nada sobre a performance. ● Configuração do Zabbix Server tunada ● Tuning no banco realizado ● Housekeeping desabilitado – DisableHousekeeper=1 ● Sistema Operacional atualizado
  25. 25. Por Alessandro Silva – contato@alessandrosilva.info Eu tentei de tudo e minha performance continua deixando a desejar ... Execute todos os componentes em hardware separados! Zabbix Server 8 GB Memória CPU 8 núcleos Zabbix Database 16 GB Memória CPU 8 núcleos Storage ou RAID 10 Zabbix Front-end 4 GB Memória CPU 2 núcleos
  26. 26. Por Alessandro Silva – contato@alessandrosilva.info Performance tuning | Recomendações gerais ● Monitore somente os itens requeridos ● Ajuste o intervalo de coleta dos itens – Intervalos curtos podem causar overload no servidor. ● Não utilizar templates padrão ● Desabilitar o Housekeeping – Ou tunar os parâmetros do housekeeping ● Não monitorar parâmetros que retornem a mesma informação ● Não usar triggers muito complexas
  27. 27. Por Alessandro Silva – contato@alessandrosilva.info Leitura recomendada ● MySQL & PostgreSQL Performance Tuning Guides ● Table partitioning for Zabbix – MySQL: zabbixzone.com – PostgreSQL: – http://www.zabbix.com/wiki/ ● Zabbix Internal Checks – http://blog.zabbix.com/ – http://www.zabbix.com/documentation/
  28. 28. Por Alessandro Silva – contato@alessandrosilva.info Obrigado! Alessandro Silva E-mail: contato@alessandrosilva.info Facebook: http://alessandrosillva.info/facebook Twitter: http://alessandrosilva.info/twitter Linkedin: http://alessandrosilva.info/linkedin

×