Você está na página 1de 255
Prof. Marcos Vinicius Campez

Prof. Marcos Vinicius Campez

Sobre mim:

Nome: Marcos Vinicius Campez

Formação e Exp.:

- Bacharel em Sistemas de Informação.

- Administrador de Redes (Odebrecht).

- Consultor Linux (Betta Técnologia).

- Escreve artigos para o site Viva o Linux.

- Militante do uso do Software Livre.

- Usuário Linux desde 2006.

- Fundador da Byte Livre.

Facebook: facebook.com/bytelivre Twitter: twitter.com/bytelivre Site: bytelivre.net E-mail: treinamentos@bytelivre.net Skype: markintux

Twitter: twitter.com/bytelivre Site: bytelivre.net E-mail: treinamentos@bytelivre.net Skype: markintux

Objetivos do Curso:

Entender o funcionamento do Zabbix.

Ser apto em instalar e configurar o Zabbix (Server, Proxy e Agent).

Ser apto em interpretar logs.

Ser apto em administrar a ferramenta.

Ser apto em aplicar Itens, Triggers e Actions em um Template.

Ser apto em criar seus próprios Itens, Triggers e Actions.

Ser apto a aplicar conceitos como: Mapas, SNMP, ICMP, etc.

Ser apto em administrar a interface Web.

Por que monitorar?!

Controle total e centralizado de todo o parque computacional.

Análise mais detalhada de cada disposítivo de rede.

Relatórios detalhados dos problemas ocorridos.

Melhora significativa no tempo de ação a desastre, caso ocorra algum.

Melhora significativa em segurança da informação.

Aviso ou resolvimento automático de algum problema ocorrido.

“Melhor prevenir do que remediar”.

O que é o Zabbix?!

Software que monitora diversos parâmetros de uma rede como a integridade e desempenho dos servidores.

Oferece excelentes relatórios e visualização de dados de recursos com base nos dados armazenados.

Usa um mecanismo de notificação flexível que permite aos usuários

configurar e-mail com alertas para qualquer evento, o que permite uma reação rápida para os problemas de qualquer dispositivo de rede monitorado pelo mesmo.

É escrito e distribuído sob a GNU General Public License versão 2. Isso

significa que seu código-fonte é distribuído gratuitamente e está disponível para o público em geral.

Vantagens de se usar o Zabbix!

Solução Open Source.

Suporte para SNMP (v1, v2).

Monitoramento distribuído com administração centralizada na web;

Agentes de alta performance (software de cliente para Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, OS X, Tru64/OSF1, Windows NT 4.0, Windows 2000, Windows 2003, Windows XP, Windows Vista, etc).

Permissões flexíveis de usuário.

Interface baseada na web.

Módulos do Zabbix

zabbix-server

zabbix-proxy

zabbix-agent

zabbix-web

Módulos do Zabbix: zabbix-server.

É o centro do Software Zabbix.

É o componente central para o qual os agentes reportam a

disponibilidade, integridade de informações e estatísticas dos servidores monitorados.

É nele que toda a configuração, estatísticas e dados operacionais são armazenados, sendo o componente que participará ativamente alertando os administradores quando surgirem problemas em qualquer um dos sistemas monitorados.

Módulos do Zabbix: zabbix-proxy.

É uma parte opcional da implantação do Zabbix.

Coleta dados de desempenho e disponibilidade, em nome do Zabbix Server.

Todos os dados coletados localmente são transferidos para o Zabbix Proxy e depois enviados para o Zabbix Server.

É uma solução ideal para um controle centralizado de locais remotos,

filiais, não havendo a necessidade dos administradores de redes locais.

Módulos do Zabbix: zabbix-agent.

É instalado nos disposítivos de redes em que serão monitorados.

O agente vai reunir informações operacionais do sistema em que está

em execução, e informar esses dados ao Zabbix (Proxy ou diretamente ao Server) para posterior processamento.

Conta com agentes nas plataformas: Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, OS X, Tru64/OSF1, Windows NT 4.0, Windows 2000, Windows 2003, Windows XP, Windows Vista, etc.

Módulos do Zabbix: Interface Web.

Permite fácil acesso aos dados de monitoramento e configuração do Zabbix em qualquer lugar e em qualquer plataforma.

A interface é uma parte do servidor Zabbix.

É geralmente (mas não necessariamente) executada na mesma máquina física que o servidor Zabbix.

Topologia Zabbix sem Proxy.

Topologia Zabbix sem Proxy.

Topologia Zabbix com Proxy.

Topologia Zabbix com Proxy.

Planejando o crescimento do Banco de Dados:

Variáveis (O que faz aumentar o volume do Banco de Dados):

1. Valores Processados por Segundo (VPS).

2. Dados Históricos.

3. Dados Estatíscos.

4. Dados de Eventos.

Planejando o crescimento do Banco de Dados:

1. Valores Processados por Segundo (VPS):

VPS = Qtd. de itens monitorados / Taxa de atualização em segs.

Exemplo:

VPS = 1000 / 60

VPS = 16,67 novos registros no Banco de Dados a cada segundo.

Planejando o crescimento do Banco de Dados:

2. Dados Históricos:

Histórico = Dias * 24 * 3600 * VPS * bytes

Explicando:

24

3600

bytes

= Qtd. de horas em 1 dia.

= Qtd. de segundos em 1 hora.

= Qtd. de bytes para manter 1 único valor no BD.

PS.: 1 único valor de histórico no BD consome geralmente 50 bytes.

Planejando o crescimento do Banco de Dados:

2. Dados Históricos:

Exemplo de uso de espaço em disco do BD em 1 mês:

Histórico = Dias * 24 * 3600 * VPS * bytes

Histórico = 30 * 24 * 3600 * 16,67 * 50

Histórico = 2,01 Gb/mês.

Planejando o crescimento do Banco de Dados:

3. Dados Estatísticos:

Estatística = (Itens/3600) * (24 * 3600 * Dias) * bytes

Explicando:

Itens

Dias

bytes

= Qtd. de itens a serem monitorados.

= Qtd. de dias de armazen. para dados de estatísticas.

= Qtd. de bytes para manter 1 único registro no BD.

PS.: 1 único valor de estatística no BD consome geralmente 128

bytes.

Planejando o crescimento do Banco de Dados:

3. Dados Estatísticos:

Exemplo de uso de espaço em disco do BD em 1 ano:

Estatística = (Itens/3600) * (24 * 3600 * Dias) * bytes

Estatística = (1000/3600) * (24 * 3600 * 365) * 128

Estatística = 1,04 Gb/ano.

Planejando o crescimento do Banco de Dados:

4. Dados de Eventos:

Eventos = Dias * Eventos * 24 * 3600 * bytes

Explicando:

Dias

= Qtd. de dias de armazen. para dados de eventos.

Eventos = Qtd. de eventos gerados por seg.

bytes

= Qtd. de bytes para manter 1 único registro no BD.

PS.: 1 único registro de eventos no BD consome geralmente 130

bytes.

Planejando o crescimento do Banco de Dados:

4. Dados de Eventos:

Exemplo de uso do espaço em disco do BD em 1 ano:

Eventos = Dias * Eventos * 24 * 3600 * 130

Eventos = 365 * 1 * 24 * 3600 * 130

Eventos = 3,81 Gb/ano.

Planejando o crescimento do Banco de Dados:

Calculando o TOTAL de espaço em disco em 1 ANO:

Total = Histórico + Estatística + Eventos

Explicando:

Histórico

Estatística

Eventos

= Qtd. de armarzen. em Gb de histórico em 1 ano.

= Qtd. de armarzen. em Gb de estatística em 1 ano.

= Qtd. de armarzen. em GB de eventos em 1 ano.

Planejando o crescimento do Banco de Dados:

Calculando o TOTAL de espaço em disco em 1 ANO:

Total = Histórico + Estatística + Eventos

Total = (2,01 * 12) + 1,04 + 3,81

Total = 25,2 + 1,04 + 3,81

Total = 30,5 Gb/ano.

PS.: O Histórico foi calculado por mês no exemplo anterior, por isso foi multiplicado o mesmo por 12, para mostrar o valor anual.

Pré-requisitos:

CentOS Linux instalado na máquina física ou virtual.

Acesso a internet.

Processador Intel ou AMD, 32 ou 64 bits com clock de 1.5 Ghz.

Memória RAM de 1GB.

Espaço livre em disco de 10GB para instalação e logs.

Iptables e selinux desabilitado.

IP Fixo na rede interna.

Como instalar?!

Download e instalação do fonte, direto do site (Recomendado):

www.zabbix.com/download.php

Download e instalação via YUM direto do repositório atomic:

wget -q -O - http://www.atomicorp.com/installers/atomic | sh

yum install zabbix-server (

)

Download do Live CD/DVD (.iso) (OpenSuSE + MySQL).

Download do HD para VMware/VBox (.vmdk) (OpenSuSE + MySQL).

Download da imagem do HD para pendrive (OpenSuSE + MySQL).

Instalação - zabbix-server:

SELinux desabilitado:

# vim /etc/selinux/config

Editar linha: SELINUX=disabled

Iptables desabilitado:

# /etc/init.d/iptables stop

# ntsysv

Desmarcar iptables e ip6tables

Instalação - zabbix-server:

Atualização dos pacotes do sistema:

# yum update

Instalação dos pacotes necessários para a compilação do Zabbix:

# yum install gcc httpd php php-bcmath php-cli php-gd php- mbstring php-mcrypt php-mysql curl curl-devel net-snmp net-snmp-lib net- snmp-utils net-snmp-devel OpenIPMI OpenIPMI-devel mysql-server mysql- devel php-mysql php-xml gnutls-devel mod_ssl libssh2 libssh2-devel make

Instalação - zabbix-server:

Instalação de outros pacotes que não estão no repositório do CentOS:

FPING

wget http://pkgs.repoforge.org/fping/fping-2.4-1.b2.2.el5.rf.i386.rpm

rpm -ivh fping-2.4-1.b2.2.el5.rf.i386.rpm

IKSEMEL

wget http://pkgs.repoforge.org/iksemel/iksemel-1.4-1.el6.rf.i686.rpm

rpm -ivh iksemel-1.4-1.el6.rf.i686.rpm

yum install iksemel

Instalação - zabbix-server:

Instalação de outros pacotes que não estão no repositório do CentOS:

IKSEMEL-DEVEL

wget

http://pkgs.repoforge.org/iksemel/iksemel-devel-1.4-1.el6.rf.i686.rpm

rpm -ivh iksemel-devel-1.4-1.el6.rf.i686.rpm

yum install iksemel-devel

Instalação - zabbix-server:

Configurações no arquivo php.ini

vim /etc/php.ini

date.timezone=America/Sao_Paulo

max_execution_time = 600

post_max_size = 32M

upload_max_filesize = 16M

max_input_time = 600

Instalação - zabbix-server:

Instalação do zabbix-server:

Download do pacote zabbix-server da última versão (2.x.x):

wget http://sourceforge.net/projects/zabbix/files/ZABBIX%2xLatest

%2xStable/2.x.x/zabbix-2.x.x.tar.gz/download

Descompactar o arquivo:

tar -zxvf zabbix-2.x.x.tar.gz

Acessar pasta criada com a descompactação do arquivo:

cd zabbix-2.x.x

Instalação - zabbix-server:

Instalação do zabbix-server:

Pré-compilando o zabbix-server:

./configure --with-mysql --enable-server --enable-agent --enable- proxy --with-jabber --with-net-snmp --with-libcurl --with-openipmi --with-ssh

Compilando e instalando o zabbix-server:

make install

Criando pasta /etc/zabbix

mkdir /etc/zabbix

Instalação - zabbix-server:

Instalação do zabbix-server:

Lembrando que o arquivo de configuração do zabbix-server na versão 2.x.x é:

/usr/local/etc/zabbix_server.conf

Criando o usuário zabbix

useradd zabbix

Dando permissões para o usuário zabbix ser dono da pasta /etc/ zabbix:

chown zabbix:zabbix /etc/zabbix/ -R

Instalação - zabbix-server:

Configuração do zabbix-server:

Reiniciando o mysql:

/etc/init.d/mysqld restart

Acessando o mysql:

mysql -u root -p

Criando o banco de dados do zabbix:

mysql> create database zabbix character set utf8;

Instalação - zabbix-server:

Configuração do zabbix-server:

Dando permissão para o usuário zabbix:

mysql> grant ALL on zabbix.* to zabbix@'localhost' identified by 'senha';

Saindo do mysql:

mysql> exit

Instalação - zabbix-server:

Configuração do zabbix-server:

Importando SQL's do zabbix para o banco de dados:

cat database/mysql/schema.sql | mysql -u zabbix -p zabbix

cat database/mysql/images.sql | mysql -u zabbix -p zabbix

cat database/mysql/data.sql | mysql -u zabbix -p zabbix

Instalação - zabbix-server:

Configuração do zabbix-server:

Configurando o arquivo zabbix_server.conf:

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=senha

Iniciando o zabbix-server:

zabbix_server

Instalação - zabbix-server:

Configuração do zabbix-server:

Conferindo se o zabbix-server foi mesmo iniciado:

ps aux | grep zabbix

Saída deve ser parecida com essa:

(

zabbix 17822 0.0 0.1 52940 1584 ? S 20:22 0:00 zabbix_server zabbix 17823 0.0 0.1 52944 1568 ? S 20:22 0:00 zabbix_server

S 20:22 0:00 zabbix_server

zabbix

) (

)

17827 0.0 0.1 52940 1344 ?

Instalação - zabbix-server:

Configuração do zabbix-server, interface WEB:

Criando pasta zabbix para a interface WEB:

mkdir /var/www/html/zabbix

Acessando a pasta com os arquivos para interface WEB:

cd frontends/php/

Copiando todos os arquivos para a pasta zabbix:

cp * -R /var/www/html/zabbix/

Instalação - zabbix-server:

Configuração do zabbix-server, interface WEB:

Dando permissão ao usuário apache ser dono da pasta zabbix:

chown apache:apache /var/www/html/zabbix/ -R

Reiniciando o servidor apache:

/etc/init.d/httpd start

Acessando a interface WEB:

Abra o navegador e digite: localhost/zabbix

Instalação - zabbix-server:

Instalação - zabbix-server:

Instalação - zabbix-server:

Instalação - zabbix-server:

Instalação - zabbix-server:

Instalação - zabbix-server:

Instalação - zabbix-server:

Instalação - zabbix-server:

Instalação - zabbix-server:

Instalação - zabbix-server:

Instalação - zabbix-server:

Instalação - zabbix-server:

Instalação - zabbix-server:

Instalação - zabbix-server:

Instalação - zabbix-server:

Instalação - zabbix-server:

Instalação - zabbix-agent - Linux:

Adicionando o repositório atomic:

wget -q -O - http://www.atomicorp.com/installers/atomic | sh

Instalando o pacote zabbix-agent pelo YUM:

yum install zabbix-agent

Configurando o agent – arquivo: /etc/zabbix/zabbix_agent.conf:

vim /etc/zabbix/zabbix_agent.conf

Server=127.0.0.1

Instalação - zabbix-agent - Linux:

Configurando o agent – arquivo: /etc/zabbix/zabbix_agentd.conf:

vim /etc/zabbix/zabbix_agentd.conf

Server=127.0.0.1

ServerActive=127.0.0.1

Hostname=Zabbix server

Iniciando o agent:

/etc/init.d/zabbix-agent start

Instalação - zabbix-agent - Linux:

Instalação - zabbix-agent - Linux:

Instalação - zabbix-agent - Linux:

Instalação - zabbix-agent - Linux:

Instalação - zabbix-agent - Windows:

Faça o download no site do Zabbix:

Instalação - zabbix-agent - Windows: → Faça o download no site do Zabbix:

Instalação - zabbix-agent - Windows:

Crie a pasta C:\Zabbix e descompacte os arquivos dentro dela:

Instalação - zabbix-agent - Windows: → Crie a pasta C:\Zabbix e descompacte os arquivos dentro dela:

Instalação - zabbix-agent - Windows:

Edite as seguintes configurações no arquivo: zabbix_agentd.conf

Server:<ip_do_seu_servidor>

Hostname:<identificacao_do_computador>

StartAgents=5

DebugLevel=3

LogFile=C:\Zabbix\zabbix_agentd.log

Timeout=3

Instalação - zabbix-agent - Windows:

Entre no command como Administrador e execute o seguinte comando:

C:\Zabbix\bin\win32\zabbix_agentd.exe -i -c C:\Zabbix\zabbix \zabbix_agentd.conf

A saída deve ser semelhante a da imagem abaixo:

-i -c C:\Zabbix\zabbix \zabbix_agentd.conf → A saída deve ser semelhante a da imagem abaixo:

Instalação - zabbix-agent - Windows:

Vá em Serviços procure pelo serviço Zabbix Agent coloque-o como Automático e inicie o mesmo.

- Windows: → Vá em Serviços procure pelo serviço Zabbix Agent coloque-o como Automático e inicie

Instalação - zabbix-agent - Windows:

Não se esqueça de:

Desbloquear as portas 10050 e 10051 no Firewall.

Liberar as mesmas portas no Firewall de seu Anti-vírus.

Caso o problema de comunicação continue:

Reiniciar o computador (Recomendado).

Instalação - zabbix-proxy:

Realizar o download dos pacotes necessários (é recomendado ter instalado os repositórios: rpmforge e atomic):

yum install make gcc gcc-c++ iksemel iksemel-devel net-snmp- devel libcurl-devel fping OpenIPMI-devel libssh2-devel sqlite-devel sqlite

Baixar o código-fonte do Zabbix:

wget http://sourceforge.net/projects/zabbix/files/ZABBIX%2xLatest

%2xStable/2.x.x/zabbix-2.x.x.tar.gz/download

Descompactar o arquivo:

tar -zxvf zabbix-2.x.x.tar.gz

Instalação - zabbix-proxy:

Acessar a pasta criada:

cd zabbix-2.x.x/

Compilar o Zabbix Proxy:

./configure --prefix=/opt/zabbix --enable-proxy --enable-sqlite3 -- with-libcurl --with-net-snmp --with-openipmi --with-jabber --with-ssh2

Instalar o Zabbix Proxy:

make install

Instalação - zabbix-proxy:

Criar usuário e grupo do Zabbix:

groupadd zabbix

useradd -m -g zabbix zabbix

Criar a base de dados no SQLite:

mkdir /var/lib/sqlite

sqlite3 /var/lib/sqlite/zabbix.db < database/sqlite3/schema.sql

sqlite3 /var/lib/sqlite/zabbix.db < database/sqlite3/images.sql

sqlite3 /var/lib/sqlite/zabbix.db < database/sqlite3/data.sql

Instalação - zabbix-proxy:

Dar permissão para que o usuário zabbix acesse a pasta criada:

chown -R zabbix. /var/lib/sqlite

Criar estrutura de pastas:

cd /opt/zabbix

mkdir log run tmp alertscripts externalscripts

cp <path_zabbix_folder>/conf/zabbix_proxy.conf /opt/zabbix/etc

ln -s /opt/zabbix/etc/ /etc/zabbix

Instalação - zabbix-proxy:

Editar arquivo de configuração do Zabbix Proxy:

ProxyMode = 0

Server = <ip_zabbix_server>

Hostname = <nome_do_proxy>

DBName = /var/lib/sqlite/zabbix.db

DBUser = zabbix

Salvar e sair do arquivo.

Instalação - zabbix-proxy:

Dar permissão de acesso ao Zabbix na pasta /opt/zabbix:

chown zabbix. /opt/zabbix/ -R

Iniciar serviço do Zabbix Proxy:

/opt/zabbix/sbin/zabbix_proxy

Caso queira parar o serviço do Zabbix Proxy:

killall zabbix_proxy

É necessário realizar o cadastro do Zabbix Proxy no Zabbix Server conforme as próximas imagens:

Instalação - zabbix-proxy:

Instalação - zabbix-proxy:

Instalação - zabbix-proxy:

Instalação - zabbix-proxy:

Instalação - zabbix-proxy:

Instalação - zabbix-proxy:

LOGS – zabbix-agent!

Configurando o agent – arquivo: /etc/zabbix/zabbix_agentd.conf:

vim /etc/zabbix/zabbix_agentd.conf

LogFile=/tmp/zabbix_agentd.log

LogFileSize=1

# Range: 0-1024

DebugLevel=3

# 0 - no debug

# 1 - critical information

# 2 - error information

# 3 - warnings

# 4 - for debugging (produces lots of information)

LOGS – zabbix-agent!

Monitorando o Log do zabbix-agent:

tail -f <caminho_do_log>

Saída do Log:

2832:20130326:134510.379 Starting Zabbix Agent. Zabbix 1.8.5 (revision

19050).

2835:20130326:134510.382 agent #2 started [listener] 2834:20130326:134510.382 agent #1 started [listener] 2836:20130326:134510.383 agent #3 started [listener] 2837:20130326:134510.383 agent #4 started [active checks] 2833:20130326:134510.383 agent #0 started [collector]

LOGS – zabbix-server!

Configurando o agent – arquivo: /etc/zabbix/zabbix_server.conf:

vim /etc/zabbix/zabbix_server.conf

LogFile=/tmp/zabbix_server.log

LogFileSize=1

# Range: 0-1024

DebugLevel=3

# 0 - no debug

# 1 - critical information

# 2 - error information

# 3 - warnings

# 4 - for debugging (produces lots of information)

LOGS – zabbix-server!

Monitorando o Log do zabbix-server:

tail -f <caminho_do_log>

Saída do Log:

17823:20130325:212828.543 Got signal [signal:15(SIGTERM),sender_pid:

20415,sender_uid:0,reason:0]. Exiting 17827:20130325:212828.544 Got signal [signal:15(SIGTERM),sender_pid:

20415,sender_uid:0,reason:0]. Exiting 17782:20130325:212830.514 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/ mysql/mysql.sock' (2) 17782:20130325:212830.514 Cannot connect to the database. Exiting

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Entendendo a interface WEB!

Criando Usuários!

Administração > Usuários

Criando Usuários! → Administração > Usuários

Criando Usuários!

Usuários > Novo Grupo

Criando Usuários! → Usuários > Novo Grupo

Criando Usuários!

Configurando permissões do novo grupo:

Criando Usuários! → Configurando permissões do novo grupo:

Criando Usuários!

Autorizado Leitura e Escrita em Templates / Banido em Zabbix Servers:

Criando Usuários! → Autorizado Leitura e Escrita em Templates / Banido em Zabbix Servers:

Criando Usuários!

Grupo Criado!

Criando Usuários! → Grupo Criado!

Criando Usuários!

Criar Usuário

Criando Usuários! → Criar Usuário

Criando Usuários!

Definindo configuração padrão.

Criando Usuários! → Definindo configuração padrão.

Criando Usuários!

Usuário criado e já atribuído ao grupo.

Criando Usuários! → Usuário criado e já atribuído ao grupo.

Criando Usuários!

Acessando o Zabbix com o usuário criado.

Criando Usuários! → Acessando o Zabbix com o usuário criado.

Criando Usuários!

Paínel do usuário.

Criando Usuários! → Paínel do usuário.

Hosts! O que são?!

A host in Zabbix is a networked entity (physical, virtual) that you wish to monitor. The definition of what can be a “host” in Zabbix is quite flexible. It can be a physical server, a network switch, a virtual machine or some application.” - Zabbix Documentation.

Exemplos de Hosts:

Servidores.

Desktops.

Switchs.

Roteadores.

Repetidores.

Hosts – Inserindo um novo!

Configuração > Hosts

Hosts – Inserindo um novo! → Configuração > Hosts

Hosts – Inserindo um novo!

Criar Host

Hosts – Inserindo um novo! → Criar Host

Hosts – Inserindo um novo!

Nome do Host:

Alfa-numéricos e espaços estão permitidos.

Grupo:

Adicionar o grupo em que o Host pertence.

Endereço de IP:

Entrar com o endereço de IP do Host.

Itens! O que são?!

Items are the basis of gathering data in Zabbix. Without items, there is no data - because only an item defines a single metric or what data to get off of a host.” - Zabbix Documentation.

Exemplos de Itens:

Quantidade de memória RAM livre.

Quantidade de usuários conectados no Host.

Tráfego de entrada na placa de rede.

Status do serviço X.

Quantidade de memória em GB livre no HD.

Itens – Inserindo um novo!

Hosts > Itens > Criar Item

Itens – Inserindo um novo! → Hosts > Itens > Criar Item

Itens – Inserindo um novo!

Inserir configurações.

Itens – Inserindo um novo! → Inserir configurações.

Itens – Inserindo um novo!

Inserir configurações.

Itens – Inserindo um novo! → Inserir configurações.

Itens – Inserindo um novo!

Para conferir se o item está funcionando, basta ir em:

Monitoramento > Dados Recentes

Inserindo um novo! → Para conferir se o item está funcionando, basta ir em: → Monitoramento

Triggers! O que são?!

Items only collect data. To automatically evaluate incoming data we need to define triggers. A trigger contains an expression that defines a threshold of what is an acceptable level for the data.

If that level is surpassed by the incoming data, a trigger will “fire” or go into a 'Problem' state - letting us know that something has happened that may require attention. If the level is acceptable again, trigger returns to an 'Ok' state.” - Zabbix Documentation.

Exemplos de Triggers:

Memória livre no HD está abaixo de 10%.

Serviço X não está ativo.

Conexão com o Host X não está ativa.

Triggers – Inserindo um novo!

Configurações > Hosts > Triggers > Criar Trigger

Triggers – Inserindo um novo! → Configurações > Hosts > Triggers > Criar Trigger

Triggers – Inserindo um novo!

Para conferir o estado de uma trigger, ir em:

Monitoramento > Triggers

Para conferir se uma trigger foi ativada em algum momento, ir em:

Monitoramento > Eventos

> Triggers → Para conferir se uma trigger foi ativada em algum momento, ir em: →

Triggers – Dependências!

O que são e para que servem?!

Dependências de triggers como o próprio nome já diz, faz com que uma trigger dependa de outra para que a mesma dispare. Desta maneira evitamos disparos indesejáveis de triggers, podendo nos causar alguns falsos positivos.

Exemplo:

Teremos duas triggers:

Trigger 1: Dispara caso comunicação com o servidor foi perdida nos últimos 2 minutos.

Trigger 2: Dispara caso arquivo /tmp/teste não exista.

Triggers – Dependências!

Exemplo:

Teremos uma dependência de trigger na Trigger 2 com a Trigger 1, ou seja, a Trigger 2 só será disparada caso o status da Trigger 1 seja OK e o dela PROBLEM.

Resumindo:

Só será alertado que o arquivo /tmp/teste2 foi removido se a conexão com o servidor estiver ativa.

Triggers – Dependências!

Os dois itens foram criados com suas respectivas triggers e estão recebendo os dados:

– Dependências ! → Os dois itens foram criados com suas respectivas triggers e já estão
– Dependências ! → Os dois itens foram criados com suas respectivas triggers e já estão
– Dependências ! → Os dois itens foram criados com suas respectivas triggers e já estão

Triggers – Dependências!

Clique na Trigger 2 e vá na Aba de Dependências:

Triggers – Dependências ! → Clique na Trigger 2 e vá na Aba de Dependências :

Triggers – Dependências!

Selecione a Trigger 1 como dependência da Trigger 2 e clique em Salvar:

Triggers – Dependências ! → Selecione a Trigger 1 como dependência da Trigger 2 e clique
Triggers – Dependências ! → Selecione a Trigger 1 como dependência da Trigger 2 e clique

Triggers – Dependências!

Para checar se a dependência das triggers está correta, em Monitoramento > Visão Geral. Duas setas indicarão as dependências.

das triggers está correta , vá em Monitoramento > Visão Geral . Duas setas indicarão as

Triggers – Dependências!

Forçando o erro de comunicação com o Servidor, podemos ver que a

Trigger 2 não foi disparada, pois o Status da Trigger 1 está como

PROBLEM.

disparada , pois o Status da Trigger 1 está como PROBLEM. → Em Visão Geral ,

Em Visão Geral, temos o ocultamento da Trigger 2, pois a mesma não será disparada até que a Trigger 1 volte para o Status de OK.

temos o ocultamento da Trigger 2, pois a mesma não será disparada até que a Trigger

Triggers – Dependências!

Forçando o erro de comunicação com o Servidor, podemos ver que a

Trigger 2 não foi disparada, pois o Status da Trigger 1 está como

PROBLEM.

disparada , pois o Status da Trigger 1 está como PROBLEM. → Em Visão Geral ,

Em Visão Geral, temos o ocultamento da Trigger 2, pois a mesma não será disparada até que a Trigger 1 volte para o Status de OK.

temos o ocultamento da Trigger 2, pois a mesma não será disparada até que a Trigger

Templates! O que são?!

Templates allow to group useful items, triggers and other entities so that those can be reused again and again by applying to hosts in a single step.

When a template is linked to a host, the host inherits all entities of the template. So, basically a pre-prepared bunch of checks can be applied very quickly.” - Zabbix Documentation.

Exemplos de Templates:

Template de Monitoramento Básico Linux.

Template de Monitoramento Básico Windows.

Template de Monitoramento de Email.

Template de Monitoramento de Backup.

Templates – Inserindo um novo!

Configurações > Templates > Criar Template

Templates – Inserindo um novo! → Configurações > Templates > Criar Template

Templates – Inserindo um novo!

Completar as configurações:

Nome do Template.

Grupos.

Salvar Template.

– Inserindo um novo! → Completar as configurações: → Nome do Template. → Grupos. → Salvar

Templates – Inserindo Item ao Template!

Configuração > Templates > Itens > Criar Item.

Templates – Inserindo Item ao Template! → Configuração > Templates > Itens > Criar Item.

Templates – Inserindo Template ao Host!

Configurações > Hosts > Clicar no nome do Host > Templates > Add.

– Inserindo Template ao Host! → Configurações > Hosts > Clicar no nome do Host >

Actions! O que são?!

Zabbix reacts to events by executing set of operations. An action can be defined for any event or set of events generated by Zabbix.” - Zabbix Documentation.

Exemplos de Actions:

Enviar e-mail assim que serviço X estiver down.

Executar X script assim que serviço X estiver down.

Executar X comando caso armazenamento do HD estiver cheio.

Enviar SMS assim que o servidor for reiniciado.

Iniciar apache caso o mesmo esteja down.

Actions – Inserindo uma nova!

Configuração > Ações > Criar ação

Actions – Inserindo uma nova! → Configuração > Ações > Criar ação

Actions – Inserindo uma nova!

Criar ação > Ação

Actions – Inserindo uma nova! → Criar ação > Ação

Actions – Inserindo uma nova!

Criar ação > Condições

Actions – Inserindo uma nova! → Criar ação > Condições

Actions – Inserindo uma nova!

Criar ação > Ações

Actions – Inserindo uma nova! → Criar ação > Ações

Utilizando os Comandos Remotos!

Com os comandos remotos podemos criar scripts que serão executados diretamente na interface web do Zabbix.

O Zabbix conta com alguns scripts remotos.

serão executados diretamente na interface web do Zabbix. → O Zabbix já conta com alguns scripts

Utilizando os Comandos Remotos!

Testar Comando Remoto de Ping:

Dashboard > Host > Ping

Utilizando os Comandos Remotos! → Testar Comando Remoto de Ping: → Dashboard > Host > Ping

Utilizando os Comandos Remotos!

Adicionar um novo Script de Comando Remoto:

Administração > Scripts > Criar Script

Comandos Remotos! → Adicionar um novo Script de Comando Remoto : → Administração > Scripts >

Utilizando os Comandos Remotos!

Testar Script de Comando Remoto uptime criado:

Dashboard > Nome do Host > Uptime

criado : → Dashboard > Nome do Host > Uptime PS.: Para executar comandos remotos é

PS.: Para executar comandos remotos é necessário que a opção:

EnableRemoteCommands seja igual a 1, no arquivo de configuração do agente do host desejado.

Utilizando os Comandos Remotos em Ações!

executar comandos quando, por exemplo, queremos restabelecer um

possível

Utilizando

Comandos

Remotos

acoplados

com

Ações

é

serviço.

Criaremos 2 exemplos:

1. Criar um arquivo de log e escrever neste arquivo.

2. Subir o processo sshd quando o mesmo estiver down.

Utilizando os Comandos Remotos em Ações!

Exemplo 1. Criar um arquivo de log e escrever neste arquivo assim que o arquivo /tmp/teste não existir.

Configuração > Ações > Criar ação.

neste arquivo assim que o arquivo / tmp/teste não existir . → Configuração > Ações >

Utilizando os Comandos Remotos em Ações!

Exemplo 1. Criar um arquivo de log e escrever neste arquivo assim que o arquivo /tmp/teste não existir.

Aba Condições.

um arquivo de log e escrever neste arquivo assim que o arquivo / tmp/teste não existir

Utilizando os Comandos Remotos em Ações!

Exemplo 1. Criar um arquivo de log e escrever neste arquivo assim que o arquivo /tmp/teste não existir.

Aba Ações.

1. Criar um arquivo de log e escrever neste arquivo assim que o arquivo / tmp/teste

Utilizando os Comandos Remotos em Ações!

Exemplo 1. Criar um arquivo de log e escrever neste arquivo assim que o arquivo /tmp/teste não existir.

Salvar.

de log e escrever neste arquivo assim que o arquivo / tmp/teste não existir . →

Ação criada.

de log e escrever neste arquivo assim que o arquivo / tmp/teste não existir . →

Utilizando os Comandos Remotos em Ações!

Exemplo 1. Criar um arquivo de log e escrever neste arquivo assim que o arquivo /tmp/teste não existir.

Arquivo foi removido, resultado final.

neste arquivo assim que o arquivo / tmp/teste não existir . → Arquivo foi removido ,

Utilizando os Comandos Remotos em Ações!

Exemplo 2. Subir o processo sshd quando o mesmo estiver down.

Seguir os mesmos passos anteriores, mudando somente o comando remoto desejado e a trigger em que a ação em questão irá ser lincada.

Add ao comando remoto:

sudo /etc/init.d/sshd restart

PS.: Para o usuário zabbix ter permissão de subir o processo do ssh, é necessário adicionar a seguinte linha com o comando visudo.

zabbix ALL=(ALL) NOPASSWD: /etc/init.d/sshd

Utilizando os Comandos Remotos em Ações!

Exemplo 2. Subir o processo sshd quando o mesmo estiver down.

O problema foi corrigido automaticamente.

Exemplo 2. Subir o processo sshd quando o mesmo estiver down. → O problema foi corrigido

User Parameters! O que são?!

Functionality of Zabbix agents can be enhanced by defining user parameters (UserParameter configuration parameter) in agent's configuration file. Once user parameters are defined, they can be accessed in the same way as any other agent items by using the key, specified in the parameter definition.

User parameters are commands executed by Zabbix agent. /bin/sh is used as a command line interpreter under UNIX operating systems.” - Zabbix Documentation.

Exemplos de User Parameters:

Script de rotina de banco de dados retornando alguma key.

Script de conferência de serviço não monitorado por padrão.

User Parameters – Exemplo de uso.

Sintaxe do User Parameter:

UserParameter=chave,comando

Chave = item único (único valor).

Comando = comando a ser executado para a obtenção da chave.

Exemplos:

UserParameter=ping,echo 1

O agente sempre vai retornar 1 caso execute o ping.

UserParameter=mysql.ping,mysqladmin -u root ping | grep -c alive

O agente vai retornar 1, se o MySQL server estiver up.

Mapas – O que são?!

Recurso Visual.

Demonstra o Status da rede.

Diagramação da estrutura de rede.

Fácil visualização de todo o parque computacional.

Método rápido de se ter acesso aos dados do parque computacional.

Mapas Criando mapas!

Configuração > Mapas > Criar mapa.

Campos:

Nome: Nome do mapa.

Largura e Altura: valores em pixel.

Imagem de fundo: Imagem de fundo para o mapa.

Mapeamento automático de ícone: ícone padrão.

Realce de ícone: representar estado.

Res. Elemen. com mod. Status em Trigger: status da trigger.

Mapas Criando mapas!

Configuração > Mapas > Criar mapa.

Mapas – Criando mapas ! → Configuração > Mapas > Criar mapa .

Mapas Criando mapas!

Mapa criado.

Mapas – Criando mapas ! → Mapa criado .

Mapas Criando mapas!

Selecionar mapa.

Mapas – Criando mapas ! → Selecionar mapa .

Mapas Criando mapas!

Campos:

Exp. incidentes singulares: Desc. do problema no mapa.

Textos Avançados: personalizar texto.

Tipo de texto do ícone: add mensagem.

Localização do texto do ícone: posição do texto do ícone.

Exibição de Incidente: forma de exibição do problema.

Mapas Criando mapas!

+ Selecionar elemento:

- Campos:

Host: servidor, serviço ou ativo de rede.

Grupo de Host: separação lógica.

Trigger: gatilhos, alertas.

Mapa: criar um submapa.

Imagem: figura estática.

Mapas Criando mapas!

Checar mapa.

Mapas – Criando mapas ! → Checar mapa .

Mapas Criando mapas!

Problema de comunicação sendo mostrado no mapa.

Mapas – Criando mapas ! → Problema de comunicação sendo mostrado no mapa .

Período de Manutenção – O que é?!

Adicionando um Período de Manutenção em um Grupo de Hosts faz com que o Zabbix não realize a coleta de dados em um período predefinido.

A grande vantagem disso, é que podemos realizar testes em nossos

Grupos de Hosts sem que o Zabbix colete esses dados “sujos”. Deixando assim, nossos dados livres de falsos positivos ou de informações conflitantes.

Geralmente utilizado quando se deseja testar itens ou triggers novos ou até configurações de comunicações com outros Proxys ou Nodes.

Muito usado também quando é necessário reiniciar servidores devido algumas atualizações de segurança e vulnerabilidades, no caso de Servidores Windows.

Período de Manutenção – Como Configurar?!

Configuração > Manutenção > Criar período de manutenção

de Manutenção – Como Configurar?! → Configuração > Manutenção > Criar período de manutenção

Período de Manutenção – Como Configurar?!

Aba Manutenção > Add Nome > Add Sem coleta de dados.

Período de Manutenção – Como Configurar?! → Aba Manutenção > Add Nome > Add Sem coleta

Período de Manutenção – Como Configurar?!

Aba Períodos:

Tipo do período: Somente uma vez.

Data: Data desejada para o início do período de manutenção.

Duração: Quanto tempo irá levar o período de manutenção (no exemplo: 10 minutos).

de manutenção . → Duração : Quanto tempo irá levar o período de manutenção (no exemplo

Período de Manutenção – Como Configurar?!

Aba Períodos: Salvar.

Período de Manutenção – Como Configurar?! → Aba Períodos : Salvar .

Período de Manutenção – Como Configurar?!

Aba Grupos e Hosts:

Definir Grupos em manutenção (no exemplo: Zabbix Servers).

– Como Configurar?! → Aba Grupos e Hosts: → Definir Grupos em manutenção (no exemplo :

Período de Manutenção – Como Configurar?!

Salvar e verificar:

– Como Configurar?! → Salvar e verificar : → Verificar se grupo de hosts entrou em

Verificar se grupo de hosts entrou em manutenção:

– Como Configurar?! → Salvar e verificar : → Verificar se grupo de hosts entrou em

Período de Manutenção – Como Configurar?!

Note que não foi coletado dado algum enquanto o Servidor estava em período de manutenção:

Configurar?! → Note que não foi coletado dado algum enquanto o Servidor estava em período de

Monitorando páginas Web – Vantagens!

Verificar se determinada URL está disponível.

Obter a velocidade de acesso a determinada página Web.

Obeter tempo de resposta a determinada página Web.

Checar o que está causando lentidão em um sistema ou página Web.

Monitorando páginas Web – Exemplos!

1. Tempo de resposta e velocidade de acesso ao site: http://bytelivre.net

2. Tempo de resposta e velocidade de acesso ao Zabbix com login completo.

Monitorando páginas Web – Exemplo 1!

1. Tempo de resposta e velocidade de acesso ao site: http://bytelivre.net

Configuração > Hosts > Web > Criar Cenário.

e velocidade de acesso ao site: http://bytelivre.net → Configuração > Hosts > Web > Criar Cenário

Monitorando páginas Web – Exemplo 1!

1. Tempo de resposta e velocidade de acesso ao site: http://bytelivre.net

Aba Cenário:

Aplicação: Rede

Nome: Byte Livre

Autentica: Nenhum

Intervalo de atualização: 60

Agente: Mozilla Firefox 8.0

PS.: Agente é o mecanismo que será utilizado para executar os passos, ou seja, o padrão de navegador a ser utilizado.

Monitorando páginas Web – Exemplo 1!

1. Tempo de resposta e velocidade de acesso ao site: http://bytelivre.net

Aba Cenário:

– Exemplo 1! → 1. Tempo de resposta e velocidade de acesso ao site: http://bytelivre.net →

Monitorando páginas Web – Exemplo 1!

1. Tempo de resposta e velocidade de acesso ao site: http://bytelivre.net

Aba Passos:

Nome: Acesso ao site Byte Livre

URL: http://bytelivre.net

Código: 200

PS.: Código é o código de status HTTP que desejamos ter de retorno. Neste caso, queremos um código OK, que significa que a URL digitada foi retornada com sucesso. Outros códigos de status HTTP, podem ser obtidos em:

https://support.google.com/webmasters/answer/40132?hl=en

Monitorando páginas Web – Exemplo 1!

1. Tempo de resposta e velocidade de acesso ao site: http://bytelivre.net

Aba Passos:

Web – Exemplo 1! → 1. Tempo de resposta e velocidade de acesso ao site: http://bytelivre.net

Monitorando páginas Web – Exemplo 1!

1. Tempo de resposta e velocidade de acesso ao site: http://bytelivre.net

Aba Passos:

Salvar.

1! → 1. Tempo de resposta e velocidade de acesso ao site: http://bytelivre.net → Aba Passos

Monitorando páginas Web – Exemplo 1!

1. Tempo de resposta e velocidade de acesso ao site: http://bytelivre.net

Checar monitoramento:

Monitoramento > Web > Byte Livre.

de acesso ao site: http://bytelivre.net → Checar monitoramento : → Monitoramento > Web > Byte Livre

Monitorando páginas Web – Exemplo 1!

1. Tempo de resposta e velocidade de acesso ao site: http://bytelivre.net

páginas Web – Exemplo 1! → 1. Tempo de resposta e velocidade de acesso ao site:

Monitorando páginas Web – Exemplo 2!

2. Tempo de resposta e velocidade de acesso ao Zabbix com login.

Aba Cenário:

Aplicação: Rede

Nome: Zabbix

Autentica: Nenhum

Intervalo de atualização: 30

Agente: Mozilla Firefox 8.0

Variáveis:

{name}=Admin

{password}=zabbix

Monitorando páginas Web – Exemplo 2!

2. Tempo de resposta e velocidade de acesso ao Zabbix com login.

Aba Cenário:

Variáveis são obtidas através do código fonte da página.

Com elas, podemos preecher o valor de cada campo para realizar o login.

É necessário saber o nome de cada campo para completar um valor com o Zabbix.

Monitorando páginas Web – Exemplo 2!

2. Tempo de resposta e velocidade de acesso ao Zabbix com login.

Aba Cenário:

de acesso ao Zabbix com login. → Aba Cenário : → name=“name”: Nome do login →

name=“name”: Nome do login

name=“password”: Senha do login

name=“enter”: Nome do botão ‘Sign in’

Monitorando páginas Web – Exemplo 2!

2. Tempo de resposta e velocidade de acesso ao Zabbix com login.

4 Passos:

1. Acessar a página de login.

2. Executar o login com usuário e senha.

3. Abrir página inicial.

4. Executar logoff do sistema.

Monitorando páginas Web – Exemplo 2!

2. Tempo de resposta e velocidade de acesso ao Zabbix com login.

1. Acessar a página de login.

2! → 2. Tempo de resposta e velocidade de acesso ao Zabbix com login. → 1.

Monitorando páginas Web – Exemplo 2!

2. Tempo de resposta e velocidade de acesso ao Zabbix com login.

2. Login do Zabbix.

Web – Exemplo 2! → 2. Tempo de resposta e velocidade de acesso ao Zabbix com

Monitorando páginas Web – Exemplo 2!

2. Tempo de resposta e velocidade de acesso ao Zabbix com login.

3. Apresentação da página inicial.

2. Tempo de resposta e velocidade de acesso ao Zabbix com login. → 3. Apresentação da

Monitorando páginas Web – Exemplo 2!

2. Tempo de resposta e velocidade de acesso ao Zabbix com login.

4. Acesso à página de login do Zabbix.

2. Tempo de resposta e velocidade de acesso ao Zabbix com login. → 4. Acesso à

Monitorando páginas Web – Exemplo 2!

2. Tempo de resposta e velocidade de acesso ao Zabbix com login.

Checar dados:

Web – Exemplo 2! → 2. Tempo de resposta e velocidade de acesso ao Zabbix com

Monitorando o APACHE!

Um dos monitoramentos mais importantes.

Apache é o servidor Web mais utilizado do mundo.

Hoje em dia, qualquer empresa tem um servidor Web Apache tanto

externo quanto interno para criação de Websites ou Sistemas Web próprios.

Com o monitoramento do Apache, podemos ter acesso a dados que nos

diga o porque do nosso servidor Web está lento, travando ou com ‘gargalo’.

Para monitorar o Apache utilizaremos um script bash e um template

muito utilizado na comunidade Zabbix, porém modificado por: Janssen dos

Reis Lima.

Monitorando o APACHE!

É necessário ter instalado no Servidor Zabbix que irá monitorar o Servidor Apache os programas: fgrep e awk.

Criar as seguintes pastas:

/etc/zabbix/scripts

/opt/zabbix/tmp

Nomear o usuário zabbix como proprietário da pasta:

chown zabbix:zabbix /etc/zabbix/scripts

Colocar o script apache.sh (anexado no EAD do curso) na pasta: /etc/ zabbix/script

Monitorando o APACHE!

Dar permissão de execução ao script:

chmod u+x /etc/zabbix/scripts/apache.sh

Tornar o usuário zabbix proprietário do script:

chown zabbix:zabbix /etc/zabbix/scripts/apache.sh

Adicionar UserParameter referente ao script:

vi /etc/zabbix/zabbix_agentd.conf

UserParameter=apache[*], /etc/zabbix/scripts/apache.sh “$1”

Monitorando o APACHE!

Acessar arquivo de configuração do apache:

vi /etc/httpd/conf/httpd.conf

Mudar parâmetro: ExtendedStatus para On.

Adicionar no final do arquivo:

<Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1 </Location>

Monitorando o APACHE!

Reiniciar o Apache:

/etc/init.d/httpd restart

Adicionar template Template_Apache_Stats (Anexado ao EAD do curso) no Zabbix.

Adicionar monitorado.

o

template

no

host

que

estiver

com

Esperar o recebimento dos dados.

o Apache

a

ser

Monitorando o APACHE!

Recebimento dos dados:

Monitorando o APACHE! → Recebimento dos dados:

Monitorando o APACHE!

Recebimento dos dados:

Monitorando o APACHE! → Recebimento dos dados:

Monitorando o SGDB MySQL!

Um dos monitoramentos mais importantes.

MySQL é um dos Banco de Dados mais utilizados no mundo.

MySQL é o principal Banco de Dados utilizado em aplicações Web.

Monitorando o MySQL podemos ter acesso a dados que nos auxilie a resolver problemas futuros ou a garantir que problemas futuros não ocorram.

Para monitorar o MySQL utilizaremos o template: Template App Mysql, que já vem instalado no Zabbix e configurado de forma genérica.

Monitorando o SGDB MySQL!

Acessar a pasta de instalação do Zabbix e dentro dela acessar o seguinte arquivo:

vi /conf/zabbix_agentd/userparameter_mysql.conf

Copiar o que achar necessário e adicionar no final do arquivo /etc/ zabbix/zabbix_agentd.conf.

Adicionar também a seguinte linha:

UserParameter=mysql.status[*], sudo mysql -D zabbix -s -e "show global status like '$1'"| tail -n1 | cut -f 2

Monitorando o SGDB MySQL!

Associar o template Template App Mysql ao Host em que deseja monitorar o MySQL.

App Mysql ao Host em que deseja monitorar o MySQL. → Permitir que o usuário zabbix

Permitir que o usuário zabbix execute os comandos colocados nos UserParameters, acessando o visudo e adicionando uma das linhas abaixo:

- permissão de acesso a qualquer comando para o usuário zabbix:

zabbix ALL=NOPASSWD: ALL

- permissão de acesso ao daemon mysqld para o usuário zabbix:

zabbix ALL=NOPASSWD: /etc/init.d/mysqld

Monitorando o SGDB MySQL!

Verificar o recebimento dos dados:

Monitorando o SGDB MySQL! → Verificar o recebimento dos dados:

Monitorando o SGDB MySQL!

Verificar o recebimento dos dados:

Monitorando o SGDB MySQL! → Verificar o recebimento dos dados:

Monitorando o SGDB MySQL!

Verificar o recebimento dos dados:

Monitorando o SGDB MySQL! → Verificar o recebimento dos dados:

Monitoramento utilizando o Protocolo IPMI!

Intelligent Platform Management Interface.

Usado para gerenciar um sistema de computador e monitorar seu funcionamento.

Desenvolvido pela Intel e hoje é suportado por mais de duzentos fabricantes de hardware.

Atualmente está na versão 2.0.

Opera de forma independente do Sistema Operacional.

Pode-se controlar inclusive, configurações da BIOS.

Monitoramento utilizando o Protocolo IPMI!

Administradores podem utilizar as mensagens do IPMI para monitorar o estado da plataforma através de dados como a temperatura, a tensão, estado da ventilação e das fontes de energia ou mesmo informações para inventário.

Coleta informações utilizando sensores, disponibilizando informações em tempo real.

Um hardware que possui suporte a IPMI geralmente disponibiliza uma interface web para gerenciamento remoto. Exemplos: IMM da IBM, iLO da HP e DRAC da Dell.

Antes de fazer qualquer configuração IPMI no Zabbix, precisamos saber quais sensores monitorar.

Monitoramento utilizando o Protocolo IPMI!

Há dois modos de saber os sensores a serem monitorados:

1. Manual do hardware.

2. Através do ipmitool no Linux.

Instalar o ipmitool no CentOS:

yum install ipmitool

Utilizar o seguinte comando para listar as informações de IPMI:

ipmitool -H <ip_interface_ipmi> -U <usuario> -P <senha> sdr

Monitoramento utilizando o Protocolo IPMI!

Saída será semelhante a essa:

o Protocolo IPMI! → Saída será semelhante a essa : → Para mostrar uma saída mais

Para mostrar uma saída mais detalhada, com informações de nível não crítico, nível crítico e fatal, podemos executar o seguinte comando:

ipmitool -H <ip_interface_ipmi> -U <usuario> -P <senha> sensor

Monitoramento utilizando o Protocolo IPMI!

Com o comando anterior teremos uma idéia do seguinte:

A temperatura ambiente está em 22° C. O nível não crítico seria 38º C, crítico 41° C e fatal, 45° C.

Esses níveis são ideais para alertar os administradores, criando Triggers exatas a serem disparadas.

Monitoramento utilizando o Protocolo IPMI!

Para configurar o suporte a IPMI no Zabbix, é necessário baixar 3 pacotes:

OpenIPMI-libs

OpenIPMI-devel

ipmitool

Para funcionar, é necessário compilar o Zabbix no momento da instalação com a opção --with-openipmi.

Para você saber se o mesmo foi compilado com essa opção, basta

procurar no diretório onde se encontra o código-fonte e verificar no arquivo config.log se existe uma linha com #define HAVE_OPENIPMI 1.

Monitoramento utilizando o Protocolo IPMI!

Para habilitar o monitoramento com IPMI no Zabbix, teremos que ir no

arquivo de configuração (zabbix_server.conf) e tirar o comentário da linha

StartIPMIPollers = 1.

Alterado o arquivo de configuração, é necessário reiniciar o Zabbix Server.

Feito isso o Zabbix está pronto para se cadastrar itens com suporte a IPMI.

Monitoramento utilizando o Protocolo IPMI!

Na interface Web, acessar:

Configuração > Hosts > Host com suporte a IPMI > Aba IPMI.

Agoritmo de autenticação: Padrão

Nível de privilégio: Admin

Usuário: <nome_do_usuario>

Senha: <senha_do_usuario>

Monitoramento utilizando o Protocolo IPMI!

Como mostra as próximas imagens:

Monitoramento utilizando o Protocolo IPMI! → Como mostra as próximas imagens :
Monitoramento utilizando o Protocolo IPMI! → Como mostra as próximas imagens :

Monitoramento utilizando o Protocolo IPMI!

Feito isso, podemos criar um item com suporte a IPMI:

Configuração > Hosts > Host com suporte a IPMI > Itens > Criar Item.

Nome: Temperatura Ambiente.

Tipo: Agente IPMI.

Chave: ipmi.ambient.temp

Sensor IPMI: Ambient Temp

Tipo de informação: Numérico (fracionário)

Unidades: C

Monitoramento utilizando o Protocolo IPMI!

Como mostra a próxima imagem:

Monitoramento utilizando o Protocolo IPMI! → Como mostra a próxima imagem :

Monitoramento utilizando o Protocolo SNMP!

Simple Network Management Protocol TRIPA 2 - Protocolo Simples de Gerência de Rede.

É um protocolo da camada de aplicação de gerência típica de redes IP,

que facilita o intercâmbio de informação entre os dispositivos de rede.