You are on page 1of 69

Zabbix

Monitoramento de
Ambientes na Prática
Zabbix - Monitoramento de Ambientes na Prática

Conteúdo Programático

Aula 1 - História e Instalação do Zabbix 3.0

Aula 2 - Configurações do Zabbix 3.0

Aula 3 - Trabalhando com Templates, Eventos e Gráficos

Aula 4 - Monitoramento Inteligente

Aula 5 - Gerenciamento do Zabbix


Zabbix - Monitoramento de Ambientes na Prática

Aula 5 - Gerenciamento do Zabbix

• Administração de usuários e grupos do Zabbix 3.0.

• Exportação e importação de dados entre servidores Zabbix usando XML.

• Monitoramento distribuído com Zabbix Proxy.

• Integração do Zabbix 3.0 com o Grafana.


Zabbix - Monitoramento de Ambientes na Prática

Administrando usuários e grupos


O Zabbix é administrado por sua interface web, todas configurações de
monitoração são realizadas por ela, e é através dessa interface que os
usuários se identificam através de usuário e senha.
As senhas dos usuários são salvas de forma criptografada no banco de
dados e a comunicação entre o usuário e servidor web pode ser protegida
através de SSL, mantendo a segurança da solução.
O Zabbix é bem flexível com seu esquema de permissão, podendo ser feita a
personalização dividida em funções administrativas do Zabbix e hosts
monitorados.
Por padrão o Zabbix tem dois usuários, o Admin e o Guest que pode ser
usado por usuários não autenticados.
Zabbix - Monitoramento de Ambientes na Prática

Administrando usuários e grupos


Antes de configurar um usuário é importante configurar grupos de usuários,
pois com eles é possível definir permissões e assim adicionar usuários a
grupos. Para isso vá na aba Administração > Grupos de usuários > Criar
grupos de usuários.
Zabbix - Monitoramento de Ambientes na Prática

Administrando usuários e grupos


As permissões são divididas em Leitura-Escrita, Somente Leitura e Nega.
Baseado nessas permissões é necessário fazer a atribuição de permissões
entre os grupos de hosts.
Zabbix - Monitoramento de Ambientes na Prática

Administrando usuários e grupos


A criação de usuário é bem simples, para isso vá na aba Administração >
Usuários > Criar usuário.
Zabbix - Monitoramento de Ambientes na Prática

Administrando usuários e grupos


Preencha os dados como Nome, Sobrenome, Apelido, Grupos, Idioma,
Senha, entre outros, na tela de criação do usuário.
Zabbix - Monitoramento de Ambientes na Prática

Administrando usuários e grupos


Também é possível configurar diversas mídias para serem associadas ao
usuário criado. Através destas mídias que o usuário vai ser notificado de
alguma forma. Por padrão o Zabbix pré disponibiliza Email, Jabber e SMS.
Zabbix - Monitoramento de Ambientes na Prática

Administrando usuários e grupos


A terceira e última parte da configuração de usuários é a permissão e o tipo
de usuário, porém as permissões devem ser definidas para grupos de
usuários apenas.
Zabbix - Monitoramento de Ambientes na Prática

Importação e Exportação usando XML


O Zabbix possibilita exportar e importar configurações de sistemas Zabbix, e
compartilhar estes modelos entre usuários da solução.
Usuários do Zabbix podem compartilhar templates ou mapas de rede com
parâmetros configurados, ou para fazer integração com ferramentas de
terceiro através de XML que é um formato universal, estes são alguns
exemplos de utilização de importação e exportação.
Os formatos de exportação são:
• XML - na interface web
• XML ou JSON - através da API Zabbix
Zabbix - Monitoramento de Ambientes na Prática

Importação e Exportação usando XML


É possível importar e exportar:
Grupos de hosts (apenas através da API);
Templates (incluindo todos as entidades diretamente associadas - itens,
triggers, gráficos, telas, LLD e associação com templates);
Hosts (incluindo todos as entidades diretamente associadas - itens, triggers,
gráficos, LLD e associação com templates);
Mapas de rede (incluindo todas as imagens relacionadas);
Imagens;
Telas;
Mapeamento de valores.
Zabbix - Monitoramento de Ambientes na Prática

Importação e Exportação usando XML


Para exportar alguma funcionalidade do Zabbix, na maioria das vezes é
necessário apenas selecionar o que quer e clicar no botão exportar.
Zabbix - Monitoramento de Ambientes na Prática

Importação e Exportação usando XML


Exemplo de template exportado em XML.
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento distribuído (Zabbix Proxy)


Uma função bem interessante do Zabbix é o monitoramento distribuído, que
nesse caso se chama Zabbix Proxy. Através dele é possível coletar dados de
performance e disponibilidade de hosts em nome do Zabbix Server. Dessa
maneira o proxy assume parte da carga de processamento de coletar dados
que normalmente seria atribuída ao Zabbix Server.
Através do Zabbix Proxy é possível centralizar a coleta de dados em um
único ponto específico, ou seja, uma empresa matriz pode coletar dados de
suas filiais sem problemas, e centralizar toda informação na matriz.
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento distribuído (Zabbix Proxy)


O Zabbix Proxy pode ser usado para:
Monitorar localizações remotas
Monitorar localizações com conexão instável
Reduzir a carga de processamento no Zabbix Server quando este tem que
monitorar milhares de dispositivos
Simplificar a manutenção da monitoração distribuída
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Para instalar o Zabbix Proxy vamos usar a mesma configuração da máquina
virtual do Zabbix Server, portanto basta criar uma nova máquina virtual.
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Instalando dependências
# apt-get -y install build-essential snmp vim libssh2-1-dev libssh2-1 libopenipmi-dev libsnmp-dev
wget libcurl4-gnutls-dev fping curl libcurl3-gnutls libcurl3-gnutls-dev libiksemel-dev libiksemel-utils
libiksemel3 sudo sqlite3 libsqlite3-dev
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Criando diretório /opt/zabbix
# mkdir /opt/zabbix && cd /opt/zabbix
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Adicionando usuário zabbix sem shell
# adduser zabbix --shell /bin/false
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Baixando Zabbix compactado
# wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.1/zabbix-3.0.1.tar.gz
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Descompactando Zabbix
# tar -xzvf zabbix-3.0.1.tar.gz
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Permissão de execução
# chmod -R +x zabbix-3.0.1
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Entrando no diretório do sqlite3
# cd zabbix-3.0.1/database/sqlite3/ && mkdir /var/lib/sqlite3/
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Populando o banco de dados SQLite3
# sqlite3 /var/lib/sqlite3/zabbix.db < schema.sql
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Alterando usuário e grupo do diretório
# chown -R zabbix:zabbix /var/lib/sqlite3/
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Voltando para diretório zabbix-3.0.1
# cd ../../
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Compilando o Zabbix Proxy
# ./configure --enable-proxy --enable-agent --with-sqlite3 --with-net-snmp --with-libcurl=/usr/bin/curl-
config --with-ssh2 --with-openipmi
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Instalando o Zabbix Proxy
# make install
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Editando arquivo de configuração do Zabbix Proxy
# vim /usr/local/etc/zabbix_proxy.conf
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Editando arquivo de configuração do Zabbix Proxy
Descomente a linha ProxyMode=0
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Editando arquivo de configuração do Zabbix Proxy
Insira o IP do Zabbix Server na frente do campo Server=
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Editando arquivo de configuração do Zabbix Proxy
Insira o nome CORRETO do Zabbix Proxy na frente do campo Hostname=
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Editando arquivo de configuração do Zabbix Proxy
Descomente a linha LogFileSize e insira o valor 2
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Editando arquivo de configuração do Zabbix Proxy
Descomente a linha DebugLevel
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Editando arquivo de configuração do Zabbix Proxy
Descomente a PidFile
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Editando arquivo de configuração do Zabbix Proxy
Na frente do campo DBName= insira o caminho do banco de dados “/var/lib/sqlite3/zabbix.db”
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Editando arquivo de configuração do Zabbix Proxy
Descomente a linha ProxyOfflineBuffer e complete com o 2
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Editando arquivo de configuração do Zabbix Proxy
Descomente a linha DataSenderFrequency
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Editando arquivo de configuração do Zabbix Proxy
Descomente a linha FpingLocation e corrige o local para /usr/bin/fping
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Algumas informações sobre os parâmetros configurados:
Como estamos usando o banco de dados SQLite os parâmetros DBHost,
DBUser e DBPassword podem ser ignorados, só é necessário informar a
localização do banco no parâmetro DBName.
O parâmetro LogFileSize significa o tamanho máximo que o arquivo de log
pode ter em megabytes.
O parâmetro ProxyOfflineBuffer significa a quantidade de horas que o Zabbix
Proxy vai guardar os dados dos hosts no banco de dados, caso a conexão
com o Zabbix Server seja interrompida.
O parâmetro DataSenderFrequency significa o intervalo em segundos que o
proxy ficará enviando os dados coletados ao servidor Zabbix.
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Criando o arquivo de inicialização do Proxy
# vim /etc/init.d/zabbix-proxy
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Criando o arquivo de inicialização do Proxy
# vim /etc/init.d/zabbix-proxy
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


#!/bin/sh stop)
# echo "Stopping $DESC: $NAME"
# Zabbix daemon start/stop script. start-stop-daemon --oknodo --stop --pidfile $PID \
# --exec $DAEMON
# Written by Alexei Vladishev ;;
<alexei.vladishev@zabbix.com>. restart|force-reload)
NAME=zabbix_proxy $0 stop
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/zabbix/bin sleep 3
DAEMON=/usr/local/sbin/${NAME} $0 start
DESC="Zabbix server daemon" ;;
PID=/tmp/$NAME.pid *)
test -f $DAEMON || exit 0 N=/etc/init.d/$NAME
set -e echo "Usage: $N {start|stop|restart|force-reload}" >&2
case "$1" in exit 1
start) ;;
echo "Starting $DESC: $NAME" esac
start-stop-daemon --oknodo --start --pidfile $PID \ exit 0
--exec $DAEMON
;;
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Copiando o arquivo de inicialização do agente
# cp misc/init.d/debian/zabbix-agent /etc/init.d/
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Dando permissão para arquivos de inicialização do Zabbix
# chmod +x /etc/init.d/zabbix-proxy /etc/init.d/zabbix-agent
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Iniciando Zabbix Proxy e Zabbix Agent
# /etc/init.d/zabbix-proxy start
# /etc/init.d/zabbix-agent start
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Inicializando junto com o sistema operacional
# update-rc.d zabbix-proxy defaults
# update-rc.d zabbix-agent defaults
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Aba Administração > Proxies > Criar Proxy
Adicionando o proxy no Servidor Zabbix
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Preencha o campo Nome do Proxy
O campo Nome do Proxy deve ser preenchido com o mesmo nome que foi configurado o parâmetro
Hostname do arquivo /usr/local/etc/zabbix_proxy.conf
Zabbix - Monitoramento de Ambientes na Prática

Instalação Zabbix Proxy - Debian


Pronto! O Zabbix Proxy foi configurado.
Agora basta atribuir os hosts que forem necessários usando o proxy no campo Monitorado
por proxy.

Lembre-se de alterar o IP do parâmetro Server= nos arquivos de configuração do Zabbix


Agent que será monitorado pelo proxy, o IP correto será o do Zabbix Proxy!
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


O Grafana é uma ferramenta que proporciona de uma maneira mais elegante
a criação de dashboards mais estilizados. Geralmente ele é usado para a
visualização de dados de infra-estrutura, mas também pode exibir dados de
sensores industriais, automação residencial, clima e controle de processos.
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


Fazendo o download do Grafana
# wget https://grafanarel.s3.amazonaws.com/builds/grafana_3.0.4-1464167696_amd64.deb
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


Instalando dependências
# apt-get install -y adduser libfontconfig
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


Instalando o pacote
# dpkg -i grafana_3.0.4-1464167696_amd64.deb
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


Configurando a inicialização com o sistema operacional
# update-rc.d -f grafana-server defaults
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


Iniciando o Grafana
# service grafana-server start
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


Listando os plugins disponíveis para serem instalados
# grafana-cli plugins list-remote
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


Instalando o plugin
# grafana-cli plugins install alexanderzobnin-zabbix-app
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


Reiniciando o Grafana
# /etc/init.d/grafana-server restart
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


Acessando a interface web do Grafana
http://IP_DO_SERVIDOR:3000/login Usuário e Senha padrão: admin
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


Configurando plugin
Clique no ícone do Grafana, depois em Plugins
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


Configurando plugin
Clique na aba Apps, depois no ícone do Zabbix
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


Configurando plugin
Clique em Enable
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


Configurando banco de dados
Clique no ícone do Grafana, depois em Data Sources e + Add data source
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


Configurando banco de dados
O campo URL é preenchido com a URL da API do Zabbix
Zabbix - Monitoramento de Ambientes na Prática

Integrando Zabbix com Grafana


Configuração Finalizada
A ferramenta será demonstrada de forma prática.
Zabbix - Monitoramento de
Ambientes na Prática

Dúvidas
maikilsoares@gmail.com