Zabbix Conference LatAm 2016 - Jessian Ferreira - Wireless with Zabbix
date post
06-Jan-2017Category
Software
view
94download
0
Embed Size (px)
Transcript of Zabbix Conference LatAm 2016 - Jessian Ferreira - Wireless with Zabbix
Rede sem fio com Zabbix
Otimizao e descoberta automtica
para monitorao
de rede sem fio na Unesp
Jessian Ferreira Cavalcanti
Jessian@unesp.br
GRC Grupo de Redes de Computadores
Assessoria de Informtica - Reitoria
Univ Estadual Paulista "Jlio de Mesquita Filho"
Unesp
Zabbix LatAm 2016
Porto Alegre, 15 de abril de 2016
Objetivo
Grandezas
24 municpios
1500 hosts (pontos de acesso ou APs)
15000 usurios simultneos
3 controladoras
Zabbix: 1 servidor + 3 proxies + 2 DB + 1 frontend
300 Milhes de registros (tabela history_uint)
60 Gigabytes de espao em disco
5 Horas para otimizao
Interface original
Monitorao
Experincia com interface feita em casa
Atingido limite do equipamento
Lentido no acesso aos dados
Zabbix poderia solucionar
Mesmo assim, SNMP puro torna-se impraticvel:
Dados de clientes + Fonte de auto-descoberta (LLD)
Soluo: SSH + Zabbix trapper
Mas o espao em disco no parava de crescer
Direto ao ponto
Dicas para otimizar tabelas esto nos fruns
Abordagem de DBA
Previso do espao em disco necessrio
Tempo de armazenamento de histrico
Tempo para otimizao
mysql> optimize table history_uint;
Valores para apenas uma tabela
5h com 16GB de RAM
11h com 8GB + swap
Houve de fato economia de espao no HD
Deciso: fazer no fim-de-semana ou noite
Lidar com possvel perda de dados
Melhor aproveitamento de recursosmysql> show table status like 'hist%';
Name Rows Data_length Create_time Avg_row_length
history 2726503 143818752 2015-11-09 19:00:25 52
history_log
history_str
history_text
history_uint 276695630 14453571584 2016-02-16 21:38:48 52
root@zabbix-mysql01-19:~ # df -kFilesystem 1024-blocks Used Avail Capacity Mounted on
/dev/ada0p2 47110168 16290224 27051132 38% /
devfs 1 1 0 100% /dev
/dev/ada1s1 101546248 44057788 49364764 47% /var/db/mysql/zabbix
root@zabbix-mysql01-19:~ # ls -l /var/db/mysql/zabbix/history_*-rw-rw---- 1 mysql mysql 8834 Aug 27 16:39 /var/db/mysql/zabbix/history_log.frm
-rw-rw---- 1 mysql mysql 335544320 Feb 3 17:31 /var/db/mysql/zabbix/history_log.ibd
-rw-rw---- 1 mysql mysql 8654 Aug 27 16:39 /var/db/mysql/zabbix/history_str.frm
-rw-rw---- 1 mysql mysql 9437184 Feb 24 07:42 /var/db/mysql/zabbix/history_str.ibd
-rw-rw---- 1 mysql mysql 8680 Oct 29 01:15 /var/db/mysql/zabbix/history_text.frm
-rw-rw---- 1 mysql mysql 14730395648 Feb 24 08:20 /var/db/mysql/zabbix/history_text.ibd
-rw-rw---- 1 mysql mysql 8654 Feb 16 16:29 /var/db/mysql/zabbix/history_uint.frm
-rw-rw---- 1 mysql mysql 26549944320 Feb 24 08:20 /var/db/mysql/zabbix/history_uint.ibd
Parnteses
Quais valores so confiveis?
1. Tamanho do arquivo
2. Nmero de linhas
3. Comprimento dos dados
4. Espao em disco
5. Data
6. n.d.a
Aps outro optimizemysql> show table status like 'hist%';
Name Rows Data_length Create_time Avg_row_length
history 2726503 143818752 2015-11-09 19:00:25 52
history_log
history_str
history_text
history_uint 276695630 14453571584 2016-02-24 23:31:13 52
root@zabbix-mysql01-19:~ # df -kFilesystem 1024-blocks Used Avail Capacity Mounted on
/dev/ada0p2 47110168 16290776 27050580 38% /
devfs 1 1 0 100% /dev
/dev/ada1s1 101546248 41316956 52105596 44% /var/db/mysql/zabbix
root@zabbix-mysql01-19:~ # ls -ltr /var/db/mysql/zabbix/history_*-rw-rw---- 1 mysql mysql 8654 Aug 27 16:39 /var/db/mysql/zabbix/history_str.frm
-rw-rw---- 1 mysql mysql 8834 Aug 27 16:39 /var/db/mysql/zabbix/history_log.frm
-rw-rw---- 1 mysql mysql 8680 Oct 29 01:15 /var/db/mysql/zabbix/history_text.frm
-rw-rw---- 1 mysql mysql 335544320 Feb 3 17:31 /var/db/mysql/zabbix/history_log.ibd
-rw-rw---- 1 mysql mysql 8654 Feb 24 11:41 /var/db/mysql/zabbix/history_uint.frm
-rw-rw---- 1 mysql mysql 9437184 Feb 24 12:38 /var/db/mysql/zabbix/history_str.ibd
-rw-rw---- 1 mysql mysql 14763950080 Feb 24 12:44 /var/db/mysql/zabbix/history_text.ibd
-rw-rw---- 1 mysql mysql 23676846080 Feb 24 23:29 /var/db/mysql/zabbix/history_uint.ibd
Possvel perda de dados
Monitorao com proxies
Armazenamento temporrio e diviso de tarefas
Represamento dos dados durante manuteno
Toda monitorao a ser feita atravs de proxy
Ateno aos parmetros do tipo trapper: agente
deve saber para qual proxy enviar os dados
Um proxy estava com tempo de buffer padro 1h
Dados no perodo entre 11h30 e 16h00
completamente recuperados somente para dois hosts
Buffer na config dos proxies era maior
Dados recuperados pelos proxies
Outro aspecto da otimizao
Melhorar periodicidade da monitorao e da
descoberta automtica (fila muito grande)
Comandos SSH atravs de Python + Netmiko
Sada enviada para itens do tipo Zabbix Trapper
Tambm utilizado em UserParameter (Agente)
Quantidade de processos em cada proxy: lembrar que
os dados so obtidos de um nico equipamento
Configurando a LLD
Low Level Discovery
Usada em duas etapas
Prottipo de host + Prottipo de item
Novos hosts (APs) gerados a partir da monitorao de
cada controladora
Novos itens gerados em cada host
Template/Gabarito
Inicialmente
Um prottipo de host a cada regra
Tipo SNMP
Intervalo de 1h
Mas... demorava mais de um dia
Como ficou
Conexo com o template de AP:
Regras de descoberta
Enviando parmetros
Como era a macro via SNMP:
{#SNMPINDEX}
Como ficou via Trapper:
{#HOSTNAME}
Scripts usam protocolo Zabbix Sender
Vrias APIs em Python disponveis
Monitorao de ponto de acesso (AP)
Apenas os itens criados por prottipos so monitorados via SNMP:
Neste caso, as regras so alimentadas atravs de agente Zabbix
Os scripts em Python, por sua vez, so acionados por UserParameter
Usabilidade
Usabilidade
Prximos passos
Monitorao de clientes
Melhorias nos scripts em Python
Listagem de erros de autenticao
Melhoria nos critrios para os Triggers
Infraestrutura monitorada com Zabbix
Weathermap
Zabbix 3.0
Agradecimentos