Monitorando o Zevenet com o Zabbix

PUBLICADO EM 5 de junho de 2017

Visão geral

O objetivo deste artigo é explicar como monitorar a saúde e o desempenho do sistema Zevenet com o sistema de monitoramento Zabbix. Zabbix é uma rede de software livre e software de monitoramento de aplicativos corporativos populares criado por Alexei Vladishev.

Neste documento, usaremos o Agente Zabbix Linux para obter métricas do dispositivo Zevenet ADC Load Balancer. Escolhemos esse método porque é a maneira mais fácil de monitorar a integridade e o desempenho do sistema de um dispositivo Zevenet ADC Load Balancer. Em outros tutoriais, explicaremos como configurar o daemon SNMP para implementar o monitoramento SNMP e como usar o ZAPI para obter métricas personalizadas de seu dispositivo Zevenet.

A explicação da instalação e configuração do Zabbix Server está fora do escopo deste documento. Você pode consultar a documentação oficial do Zabbix https://www.zabbix.com/documentation/3.0/manual/installation no caso de você precisar de ajuda para instalar e configurar o Zabbix Server.

Para nossos testes, usaremos o Zabbix Server 3.0.9:

root@monitor:~# zabbix_server -V | grep zabbix_server
zabbix_server (Zabbix) 3.0.9

E Zevenet 5.0.8:

root@zvato505:~# dpkg -l zevenet | grep zevenet
ii  zevenet        5.0.8        amd64        ZEVENET Load Balancer Enterprise Edition

Com o Zabbix Agent 3.0.9:

root@zvato505:~# zabbix_agentd -V | grep zabbix_agentd
zabbix_agentd (daemon) (Zabbix) 3.0.9

Convenções

Usaremos as seguintes convenções neste documento:

NomeValor
Endereço IP do Zabbix Server192.168.0.187
Porta do Zabbix Server10050
URL da interface da Web do Zabbix Serverhttp://192.168.0.187
Endereço IP do dispositivo de balanceamento de carga do Zevenet ADC192.168.100.10

 

Instalando o Zabbix Agent no Zevenet ADC Load Balancer

Para instalar o agente Zabbix, você deve logar como root no console do ZENALET ADC Load Balancer:

1. Execute o seguinte comando para baixar o mais recente agente Zabbix do repositório oficial:

wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix/zabbix-agent_3.0.9-1+jessie_amd64.deb

Exemplo de saída:

root@monitor:~# wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix/zabbix-agent_3.0.9-1+jessie_amd64.deb
--2017-06-05 11:13:16--  http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix/zabbix-agent_3.0.9-1+jessie_amd64.deb
Resolving repo.zabbix.com (repo.zabbix.com)... 162.243.159.138
Connecting to repo.zabbix.com (repo.zabbix.com)|162.243.159.138|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 342848 (335K) [application/x-debian-package]
Saving to: ‘zabbix-agent_3.0.9-1+jessie_amd64.deb’

zabbix-agent_3.0.9-1+jessie_amd64.deb                       100%[==========================================================================================================================================>] 334.81K   404KB/s   in 0.8s

2017-06-05 11:13:17 (404 KB/s) - ‘zabbix-agent_3.0.9-1+jessie_amd64.deb’ saved [342848/342848]

2. Instale o pacote do agente Zabbix:

dpkg -i zabbix-agent_3.0.9-1+jessie_amd64.deb

Exemplo de saída:

root@zvato505:~# dpkg -i zabbix-agent_3.0.9-1+jessie_amd64.deb
Selecting previously unselected package zabbix-agent.
(Reading database ... 50607 files and directories currently installed.)
Preparing to unpack zabbix-agent_3.0.9-1+jessie_amd64.deb ...
Unpacking zabbix-agent (1:3.0.9-1+jessie) ...
Setting up zabbix-agent (1:3.0.9-1+jessie) ...
Processing triggers for systemd (215-17+deb8u1) ...
Processing triggers for man-db (2.7.0.2-5) ...

 

Configurando o Zabbix Agent no Zevenet ADC Load Balancer

1. Editar /etc/zabbix/zabbix_agentd.conf arquivo e modifique as seguintes diretivas:

A. Coloque o endereço IP do seu servidor Zabbix na diretiva Server:

### Option: Server
#       List of comma delimited IP addresses (or hostnames) of Zabbix servers.
#       Incoming connections will be accepted only from the hosts listed here.
#       If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.
#
# Mandatory: no
# Default:
# Server=

Server=

B. Coloque o endereço IP e a porta do seu servidor Zabbix na diretiva ServerActive:

##### Active checks related

### Option: ServerActive
#       List of comma delimited IP:port (or hostname:port) pairs of Zabbix servers for active checks.
#       If port is not specified, default port is used.
#       IPv6 addresses must be enclosed in square brackets if port for that host is specified.
#       If port is not specified, square brackets for IPv6 addresses are optional.
#       If this parameter is not specified, active checks are disabled.
#       Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
#
# Mandatory: no
# Default:
# ServerActive=

ServerActive=:

C. Coloque o nome do host Zevenet na diretiva Hostname:

### Option: Hostname
#       Unique, case sensitive hostname.
#       Required for active checks and must match hostname as configured on the server.
#       Value is acquired from HostnameItem if undefined.
#
# Mandatory: no
# Default:
# Hostname=

Hostname=

2. Inicie o agente do Zabbix:

service zabbix-agent start

3. Agora podemos testar se o agente está sendo executado com este comando:

ps -ef | grep zabbix

Exemplo de saída:

root@zvato505:~# ps -ef | grep zabbix
zabbix   30382     1  0 11:13 ?        00:00:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix   30383 30382  0 11:13 ?        00:00:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix   30384 30382  0 11:13 ?        00:00:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix   30385 30382  0 11:13 ?        00:00:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix   30386 30382  0 11:13 ?        00:00:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix   30387 30382  0 11:13 ?        00:00:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
root     30614 30257  0 11:13 pts/1    00:00:00 grep zabbix

4. Vincule o agente Zabbix para corrigir os níveis de execução, certificando-se de que o agente Zabbix será iniciado automaticamente em caso de reinicialização do sistema.

update-rc.d zabbix-agent enable

 

Configurando o Zabbix Server para monitorar o balanceador de carga ADC Zevenet

Neste ponto, estamos prontos para acessar a interface de administração da Web do Zabbix Server, adicionando o Zeamet ADC Load Balancer ao banco de dados do Zabbix, portanto, o Zabbix pode começar a monitorá-lo.

  1. Acesso à interface de administração web do Zabbix Server.
  2. Acesse Configuração> Hosts> Criar Host.
  3. Preencha a guia Host:
    1. Nome de anfitrião (Obrigatório): Digite o nome do host FQDN do appliance do Load Balancer do Zevenet ADC ou o endereço IP.
    2. Nome visível (Obrigatório): Digite o nome visível do dispositivo Zevenet ADC Load Balancer.
    3. Adicionar a um grupo de host (Obrigatório): isto é, balanceadores de carga
    4. Interfaces de Agente: (Obrigatório): Digite o nome de host ou endereço IP do FQDN do dispositivo Zevenet ADC Load Balancer. Lembre-se de definir "Conectar a" para IP se você digitar um endereço IP ou DNS se você preencher um nome de host FQDN.
  4. Clique na guia Templates e adicione o template “Template OS Linux”.
  5. Clique no botão Atualizar.

Gráficos de desempenho

Isso é tudo! Você pode verificar todas as métricas que o Zabbix consegue tirar da caixa. Vamos para Monitoramento> Gráficos e selecione o tipo de gráfico que você deseja ver.

Crie um gatilho personalizado no Zabbix Server para monitorar o uso da CPU do dispositivo Zevenet

Agora temos nosso balanceador de carga ADC da Zevenet monitorado com o mínimo de esforço, e agora o que? Vamos ver como criar um gatilho personalizado no Zabbix Server para monitorar um comportamento específico.

Digamos que precisamos monitorar o uso da CPU de um dispositivo Zevenet e, para ser mais específico, digamos que queremos um alerta no Servidor Zabbix se o uso da CPU for superior a 20%.

1. Acesse Configuração> Hosts, clique no host Zevenet, clique em Triggers e, em seguida, clique no botão criar gatilho.

  • Nome: (Obrigatório) Nome do gatilho (ex: CPU ociosa menor que 20%)
  • Expression: (Obrigatório) {192.168.100.10:system.cpu.util[,idle].last()}<20 (Clique no botão Adicionar para usar um assistente para construir a expressão)
  • Geração de vários eventos PROBLEM: (Opcional)
  • Descrição: (Opcional)
  • URL: (Opcional)
  • Gravidade: (Obrigatório) Alta
  • ativado: (Obrigatório) Verificado

2.Clique no botão Adicionar.

Para testar o gatilho, acabamos de criar o login como superusuário no Zevenet ADC Load Balancer e digite este comando:

IMPORTANTE: NÃO DIGITE ESTE COMANDO EM UM BALANÇADOR DE CARGA DE PRODUÇÃO, TESTE-O EM UM AMBIENTE DE DESENVOLVIMENTO. PRODUZ UTILIZAÇÃO DE 100% DA CPU!

for i in 1 2 3 4; do while : ; do : ; done & done

Acesse Monitoramento> Eventos e espere para ver um evento 'CPU ociosa menos de 20%' acionado.

Compartilhar no:

Documentação sob os termos da Licença de Documentação Livre GNU.

Esse artigo foi útil?

Artigos Relacionados