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.
- Modificações de configuração - Ubuntu
Para o correto funcionamento algumas modificações foram necessárias no Ubuntu fornecido.
- 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
- 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.
- 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.
- 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 dhcp → iface 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.
- 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
- 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.
- 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.
- Configuração do Zabbix
A configuração do appliance utiliza-se das seguintes credenciais e demais configurações:
- 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.
- 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.
- 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);
- 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.
- 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
- 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
- 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
- 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.
- Atualização
Os pacotes do Zabbix podem ser atualizados, para tanto execute:
sudo apt-get --only-upgrade install zabbix*
- 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.
- 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
- Notas de formatos específicos
- 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.
- 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.
- 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.