Pular para o conteúdo principal

1/2 - Monitoramento com zabbix

Monitorando ambiente com Zabbix Server

Introdução

Atualmente cresce a necessidade de entender e vizualizar nosso ambiente como um todo, adicionar recursos para que haja uma proatividade e que problemas do dia a dia sejão solucionados de forma rápida, o monitoramento vem levantando essa bandeira para que possamos saber antes que aconteça.

O Zabbix é uma ferramenta de monitoramento estável no mercado, tendo como seu principal concorrente diversas ferramentas como Nargios e entre outros.

Zabbix possui uma interface amigável de fácil utilização que centraliza em abas diversas funções como monitoramento, configuração, etc.



Além disso ele proporciona expansão de recursos através de script que auxilia em uma lógica a ser seguida e compatibilidade no que a de novo.

Nesse post realizaremos uma pequena instalação e entendimento de cada parte, tentando tornar essa experiência mais didática e produtivo.



Instalação das dependências

Iremos realizar o procedimento na versão do Zabbix 2.2 instalando na distribuição Red Hat 6.
 



Nesse vídeo ilustra como foi realizado o procedimento de instalação e alguns conceitos dos arquivos:




Para que algumas funções sejão adicionados junto ao zabbix iremos instalar as dependencias do PHP:
# yum install php php-gd php-ldap php-mysql php-mbstring php-bcmath php-xml

E instalação dos recursos a serem utilizados:
# yum install zlib-devel mysql-devel glibc-devel curl-devel libidn-devel curl-devel openssl-devel net-snmp-devel popt-devel rpm-devel libssh2-devel glibc-devel OpenIPMI-devel OpenIPMI-libs iksemel iksemel-devel iksemel-utils openldap-devel fping make gcc

Instalação do pacote WEB:
# yum groupinstall "Web Server"

Não esquecendo de ativar o Apache e MySQL na inicialização:
# chkconfig mysqld on
# chkconfig httpd on 

Liberação da porta e salvamento das regras respectivamente:
# iptables -I INPUT 6 --dport 80 -p tcp -j ACCEPT
# service iptables save 
# service iptables restart

Desabilitando SELINUX:
# vi /etc/selinux/config
SELINUX=permissive

# setenforce 0

Pronto só esses pacotes já é o bastante.

Iremos testar se o apache está configurado, no browser coloque o endereço do servidor:
 



Ok, está tudo bem.

Instalação do Zabbix


A instalação do zabbix é simples, realizaremos o download no site official do zabbix e iremos realizar o processo de descompactar:
# mv ~/zabbix-2.2.6.tar.gz /usr/src

Entrando no diretório src e descompactar o dispositivo:
# cd /usr/src
# tar -xvf zabbix-2.2.6.tar.gz
# ln -s zabbix-2.2.6 zabbix
# cd zabbix-2.2.6

Criação do usuário que executará o processo zabbix:
# groupadd zabbix
# useradd -m -s /bin/bash -g zabbix zabbix

Ativando as configurações e os recursos:
# ./configure --enable-server --with-mysql --with-libcurl --with-jabber --with-net-snmp --with-openipmi --with-ssh2 --with-ldap --enable-agent --with-snmp –with-snmp-config

Segue a lista de alguns recursos ativados:
  • Habilitando Server.
  • Habilitando Agente.
  • Suporte ao banco MySQL.
  • Suporte a Jabber ( mensageria ).
  • Recurso de monitoramento SNMP.
  • Monitoramento com IPMI.
  • Habilitando recurso SSH2.
  • Autenticação com LDAP.
OBS: Se quiser adicionar novos recursos após todo o processo de instalação basta apenas executar "# make clean" e o novo configure com os recursos a serem agregados.
Depois do configure caso não aconteça erros ficará dessa forma:


E compilando com o os respectivos comando:
# make
# make install


Ambientando arquivos configuração:
# mkdir /etc/zabbix
# cd /etc/zabbix

Criando configuração
# ln -s /usr/local/etc/zabbix_agentd.conf
# ln -s /usr/local/etc/zabbix_server.conf
# chown -R zabbix. /etc/zabbix 

 Ambientando arquivos de inicialização do agent e do server:
# cp /usr/src/zabbix/misc/init.d/fedora/core/zabbix_agentd /etc/init.d
# cp /usr/src/zabbix/misc/init.d/fedora/core/zabbix_server /etc/init.d


Ativando serviços para que seja inicializado:
# chkconfig zabbix_agentd on
# chkconfig zabbix_server on

Ageitando a Base de Dados


Iremos basear nossa estrutura em MySQL, com isso iremos realizar.
# cd /usr/src/zabbix/database
# mysql -u root -p

Irá pedir a senha ou irá entrar sem senha ou no Debian na instalação foi solicitada.

Criando estrutura de database:

> create database zabbix ;
Query OK, 1 row affected (0.00 sec)

Dando permissão ao usuário zabbix a base criada:
> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'senhacreativa' ;
Query OK, 0 rows affected (0.00 sec)

Adicionando estrutura de tabelas dentro da base "zabbix" seguindo essa sequência, irá solicitar a senha do usuário zabbix ( com a seguinte opção "-u zabbix"):
# pwd 
/usr/src/zabbix/database

# mysql -u zabbix -p zabbix < mysql/schema.sql

# mysql -u zabbix -p zabbix < mysql/images.sql

# mysql -u zabbix -p zabbix < mysql/data.sql


Configuração


Configurando os serviços começando pelo arquivo do servidor:
# vi /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=[SENHA]

Liberando no firewall as portas respectivas:
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

Inicializaremos o serviço com o service:
# service zabbix_server start
# service zabbix_agentd start
# service iptables restart

Lembrando que não foi preciso configurar o zabbix_agentd porque no próprio arquivo de configuração do agente já esta indicando ele mesmo como servidor.

Continua no próximo bloco.

http://pensandoemlinux.blogspot.com.br/2014/10/22-monitoramento-com-zabbix.html

Comentários

Postagens mais visitadas deste blog

Zabbix - Entendendo Agentes

Zabbix Agente - Instalação e configuração Introdução O Zabbix trabalha em sua estrutura basicamente duas funções como: Gerente - Zabbix que armazena informações e entre outras, agindo como Servidor ) Agente - Zabbix instalado em hosts que coleta informações para serem enviadas ao gerente.  O que iremos entender nesse tutorial é os modos como os agentes trabalha ativo e passivo. Ativo - Ele envia os dados para o servidor ( gerente ), muito utilizado quando o host está em outras redes através de firewall. Passivo - Ele aguarda solicitação do servidor ( gerente ) para a entrega dos dados. A configuração do agente e de acordo com as nossas necessidades no momento.

QOS Intermediário - Implantação em cliente real

Implantação de QOS - Intermediário Introdução Nessa etapa seguiremos novamente o caminho do controle de tráfego, mas com uma pitada mais avançada delimitando por classes e em tempo real. Nessa video aula trará um pouco de shell-script junto com controle de tráfego e passando um pouco que vai ser um dos próximos tópicos que é o ZABBIX. O video realmente ficou extenso, porque tentei documentar ao máximo cada parte e explicar o porque da utilização de cada função.

Traffic-Control

QOS com TC ( Traffic-Control ) Introdução Utilizado para gerenciamento de filas do buffer com isso realizando QOS e compatível com diversos algoritmos como RED, WRED, SQF, CBMARK, HTB e entre outros. O próposito do post é utilizar o algoritmo HTB onde trabalha com a fila de disciplina class full onde podemos delimitar tamanho da banda utilizada. Classes são responsáveis por classificar os dados de forma a controlar o tráfego. Existe dois tipos de filas de diciplinas ( Qdisc -- Queuing Disciplines ) onde que os algoritimos trabalha, classfull e classless, classfull é possivel definir e adicionar classes de forma dinâmica pelo usuário e classless já existe classes definidas onde que podemos indicar determinado tráfego a elas. O tc controla essas filas de disciplinas esse buffer ( armazenamento esperando para ser descarregado  ) é enfileiramento dos pacotes que espera ser descartados da interface de rede isso significa que o controle é aplicado apenas para o tráfe...