Zabbix Conference LatAm 2016 - Jessian Ferreira - Wireless with Zabbix

Click here to load reader

  • date post

    06-Jan-2017
  • Category

    Software

  • view

    94
  • download

    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