5. Zabbix appliance

Overview

Para possibilitar um teste rápido da solução existe o Zabbix Appliance. Ele é uma alternativa à instalação manual do Zabbix para um ambiente de testes clique aqui para fazer o download do Zabbix appliance. Esta opção vem com o banco de dados MySQL.

Além do virtual appliance é possível também o download do CD de instalação do appliance do Zabbix para instalação simplificada do Zabbix Server (MySQL ou PostgreSQL), Zabbix proxy (MySQL ou SQLite 3).

|<| |<| |-|

|<| |<| |-|

Tanto o Zabbix appliance quanto o CD de instalação foram construídos com as versões a seguir:

Zabbix Ubuntu
3.0.0 14.04.3

O Zabbix appliance está disponível nos seguintes formatos:

  • vmdk (VMware/Virtualbox)
  • OVF (Open Virtualisation Format)
  • KVM
  • HDD/flash image, USB stick
  • Live CD/DVD
  • Xen guest
  • Microsoft VHD (Azure)
  • Microsoft VHD (Hyper-V)

Para iniciar, carregue o appliance e, através do navegador de sua estação, acesse o IP que a máquina virtual recebeu de seu servidor DHCP.

Estarão disponíveis na mesma máquina tanto o Zabbix Server quanto o Frontend, configurados para funcionamento com o MySQL, e o sistema operacional (Debian / Ubuntu) e fora construído com os arquivos padrões de pré-configuração destes.

1 Modificações de configuração - Ubuntu

Para o correto funcionamento algumas modificações foram necessárias no Ubuntu fornecido.

1.1 Repositório

Os repositórios oficiais do Zabbix foram adicionados ao /etc/apt/sources.list:

## Zabbix repository
       deb http://repo.zabbix.com/zabbix/3.0/ubuntu trusty main
       deb-src http://repo.zabbix.com/zabbix/3.0/ubuntu trusty main
1.2 Firewall

O appliance utiliza-se do 'iptables' com as seguintes regras configuradas:

  • Portas abertas
** SSH (22 TCP);
       ** Zabbix agent (10050 TCP) e Zabbix trapper (10051 TCP);
       ** HTTP (80 TCP) e HTTPS (443 TCP);
       ** SNMP trap (162 UDP);
       * Consultas NTP liberadas (53 UDP);
       * Pacotes ICMP limitados a 5 por segundo;
       * Qualquer situação diferente sendo bloqueada.
1.3 Pacotes adicionais

Vários utilitários básicos foram adicionados para permitir o funcionamento do Zabbix e da monitoração de forma mais fácil:

  • iptables-persistent
  • mc
  • htop
  • snmptrapfmt
  • snmp-mibs-downloader

Alguns destes pacotes são utilizados pelo Zabbix, outros foram instalados para auxiliar os usuários durante as tarefsa de configuração e manutenção do appliance.

1.4 Utilizando IP fixo

Por padrão o appliance utiliza-se de DHCP para obter o endereço IP, para configurar um IP estático:

  • Conecte-se como o usuário root;
  • Abra o arquivo /etc/network/interfaces com seu editor favorito;
  • iface eth0 inet dhcpiface eth0 inet static
  • Adicione as linhas a seguir após iface eth0 inet static:
    • address <endereço desejado para o appliance>
    • netmask <máscara de rede>
    • gateway <gateway da rede>
  • Execute os comandos sudo ifdown eth0 && sudo ifup eth0.

Para maiores detalhes sobre opções possíveis consulte a documentação oficial do Ubuntu.

Para configurar o DNS, adicione as entradas de servidor de nomes em /etc/resolv.conf, definindo cada nameserver em uma linha, por exemplo: nameserver 192.168.1.2.

1.5 Modificando o time zone

Por padrão o appliance utiliza UTC no relógio do sistema. Para modificar o time zone, copie o arquivo apropriado de /usr/share/zoneinfo para /etc/localtime, por exemplo:

cp /usr/share/zoneinfo/Europe/Riga /etc/localtime
1.6 Modificações de localidade

O appliance contêm algumas modificações de localidade:

  • Possui os idiomas: en_US.UTF-8, ru_RU.UTF-8, ja_JP.UTF-8, cs_CZ.UTF-8, ko_KR.UTF-8, it_IT.UTF-8,
    pt_BR.UTF-8, sk_SK.UTF-8, uk_UA.UTF-8, fr_FR.UTF-8, pl.UTF-8;
  • A localização padrão é en_US.UTF-8.

Estas modificações são necessárias para suportar os múltiplos idiomas da interface web do Zabbix.

1.7 Outras modificações
  • A rede está configurada para utilizar DHCP;
  • O utilitário fping está configurado com a permissão 4710 e tem como grupo de proprietário o zabbix - e sua execução é permitida apenas por este grupo;
  • ntpd está configurado para utilizar-se de servidores públicos: ntp.ubuntu.com;
  • o volume LVM é utilizado com o sistema de arquivos ext4.
  • o parâmetro "UseDNS no" foi adicionado na configuraçaõ do servidor SSH ( /etc/ssh/sshd_config ) para evitar demora nas conexões SSH;
  • O daemon 'snmpd' está desativado e utiliza o arquivo de configuração: /etc/default/snmpd.

2 Configuração do Zabbix

A configuração do appliance utiliza-se das seguintes credenciais e demais configurações:

2.1 Credenciais (login:password)
Usuário Senha Local
appliance zabbix Sistema operacional
root <random> Banco de dados
zabbix <random> Banco de dados
admin zabbix Interface web do Zabbix

As senhas de banco de dados são geradas randomicamente durante o processo de instalação.
A senha do 'Root' é armazenada no arquivo /root/.my.cnf, não sendo necessário que se informe a senha quando utilizando a conta "root".

Para modificar a senha do usuário de banco, é necessário atualizar nos seguintes locais:

  • MySQL;
  • /etc/zabbix/zabbix_server.conf;
  • /etc/zabbix/web/zabbix.conf.php.
2.2 Localização dos arquivos
  • Os arquivos de configuração estão localizados em /etc/zabbix.
  • Os arquivos de log do Zabbix server, Proxy e Agent estão localizados em /var/log/zabbix.
  • Os arquivos da interface web estão localizados em /usr/share/zabbix.
  • O diretório 'Home' do usuário zabbix é /var/lib/zabbix.
2.3 As modificações na configuração do Zabbix
  • O nome do servidor na interface Zabbix está configurado como "Zabbix Appliance";
  • O 'timezone' da interface web está definido como Europe/Riga (isso pode ser modificdo em /etc/apache2/conf-available/zabbix.conf);
2.4 Preservando a configuração

Se você estiver executando a versão de "Live CD/DVD" do appliance, ou não possuir armazenamento persistente por qualquer outro motivo, você pode criar um backup de todo o banco de dados, incluindo as configurações e dados obtidos.

Para criar o backup, execute:

sudo mysqldump zabbix | bzip2 -9 > dbdump.bz2

Agora você pode transferir o arquivo dbdump.bz2 para outra máquina.

Para restaurar os dados do backup, transfira o arquivo para o apliance e o execute:

bzcat dbdump.bz2 | sudo mysql zabbix

Certique-se que o Zabbix Server não está em execução durante o processo de restauração.

3 Acesso à interface web

O acesso à interface web, por padrão, é permitido a partir de qualquer local.

A interface web pode ser acessado a partir da URL http://<host>/zabbix.

Isso pode ser modificado no arquivo /etc/apache2/conf-available/zabbix.conf. É necessário reiniciar o servidor web após a modificação deste arquivo. Para reiniciar o Apache, usando o usuário root, execute o comando a seguir:

service apache2 restart

4 Firewall

Por padrão apenas as portas listadas anteriormente estarão abertas. Para abrir portas adicionais altere os arquivos "/etc/iptables/rules.v4" ou "/etc/iptables/rules.v6" e recarregue as regras de firewall:

service iptables-persistent reload

5 Capacidades de monitoração

A instalação do Zabbix é fornecida com o suporte a:

  • SNMP
  • IPMI
  • Monitoramento Web
  • Monitoramento VMware
  • Notificações Jabber
  • Notificações através de EZ Texting
  • ODBC
  • SSH2
  • IPv6
  • SNMP Traps
  • Zabbix Java Gateway

6 SNMP traps

O appliance utiliza-se do snmptrapfmt para receber traps SNMP, que está configurado para receber traps de qualquer origem.

A autenticação não é necessária. Se você quiser ativar a autenticação, você pode modificar o arquivo /etc/snmp/snmptrapd.conf e defina as configurações desejadas.

Todas as traps são armazenadas em no arquivo /var/log/zabbix/snmptrapfmt.log. Este arquivo será rotacionado quando alcançar 2GB de tamanho.

7 Atualização

Os pacotes do Zabbix podem ser atualizados, para tanto execute:

sudo apt-get --only-upgrade install zabbix*

8 Naming, init e outros scripts

Os scripts 'init' são fornecidos em conjunto. Para gerenciar o Zabbix server, utilize um destes:

service zabbix-server status

Substitua server por agent para o daemon do Zabbix agent ou por proxy para o deamon do Zabbix proxy.

8.1 Aumentando o espaço em disco disponível

É recomendável fazer um backup de dados antes dos passos a seguir.

O espaço disponível em disco no appliance pode não ser suficiente. Neste caso, pode ser necessário expandir o disco. Para tanto, primeiro expanda o dispositivo de blocos em seu ambiente de virtualização, através dos passos a seguir:

Inicie o fdisk para modificar o tamanho da partição. Como root, execute:

fdisk /dev/sda

O comando acima irá iniciar o comando fdisk no disco sda. Em seguida, modifique os setores através do comando:

u

Não desabilite a compatibilidade com o DOS, através do comando c. Com este comando a partição poderá ser danificada.

Em seguida apague a partição existente e crie uma nova compatível com novo tamanho desejado. Na maioria dos casos você irá aceitar o tamanho máximo disponível, o que ocupará todo o espaço do disco virtual. Para tanto, entre com os comandos na sequencia a seguir:

d
       n
       p
       1
       (aceite o padrão 63)
       (aceite o padrão max)

Se você quiser deixar espaço em disco para partições adicionais (swap, etc), você pode informar outro valor para o campo last sector. Quando terminar, salve as modificações através do comando:

w

Após a criação da partição (novo disco ou estendendo um pré-existente) crie o volume lógico:

pvcreate /dev/sdb1

O nome da partição /dev/sdb1 é utilizado no exemplo; em seu caso o nome do disco e número de partição pode ser diferente. Você pode verificar o número de partição usando o comando fdisk -l /dev/sdb command.

Verifique o volume físico criado:

pvdisplay /dev/sdb1

Verifique os volumes lógicos. Deverá existir dois volumes criados (zabbix-vg e newly):

pvs

Estenda os grupos de volumes existentes com o volume físico recém criado:

vgextend zabbix-vg /dev/sdb1

Verifique o grupo "zabbix-vg":

vgdisplay

Agora estenda seu volume lógico com o espaço disponível:

lvextend -l +100%FREE /dev/mapper/zabbix--vg-root

Modifique seu volume 'root' (pode ser feito com o ambiente rodando):

resize2fs /dev/mapper/zabbix--vg-root

Reinicie a máquina virtual (conforme exemplo acima). É isso aí, os sistemas de arquivos podem ser aumentados para o novo tamanho de partição. Verifique o volume "/dev/mapper/zabbix--vg-root":

df -h

9 Notas de formatos específicos

9.1 Xen

Convertendo a imagem para o XenServer

Para utilizar imagens Xen em servidores Citrix você precisará converter o formato da imagem. Para tanto:

  • Crie um disco virtual, pelo menos tão grande quanto a imagem
  • Localize o UUID para este disco
xe vdi-list params=all
  • Se existirem muitos discos, eles poderão ser filtrados pelo parâmetro name-label, conforme foi definido durante a criação do disco virtual
  • Importe a imagem
xe vdi-import filename="image.raw" uuid="<UUID>"

Instruções obtidas no Blog de Brian Radford.

9.2 VMware

As imagens no formato vmdk podem ser utilizadas diretamente no 'VMware Player', 'Server' e 'Workstation'. Para utilizar no ESX, ESXi e vSphere você precisará converter o formato utilizando o Conversor VMware.

9.3 Imagem HDD/flash (raw)
dd if=./zabbix_appliance_3.0.0_x86_64.raw of=/dev/sdc bs=4k conv=fdatasync

Substitua /dev/sdc pelo seu dispositivo Flash/HDD.