Documentação do Zabbix
1. Introdução
Zabbix (http://www.zabbix.com) é uma solução open source de monitoramento para servidores, serviços e dispositivos de rede. De fácil utilização ele fornece mais funcionalidades do que o Nagios (http://www.nagios.org) ou BigBrother (http://bb4.com).
Está sendo utilizada para monitoramento dos enlaces, verificação da latência dos links, e níveis de utilização de hardware dos servidores. 2. Instalando o APACHE
O source do Apache-1.3.37 pode ser baixado da seguinte URL (Apache-1.3.37). A compilação foi padrão. Recomendo o uso do apache. Slackbuild para instalação.
# ./configure \ --with-layout=Slackware \ --enable-module=most \ --enable-shared=max \ --manualdir=/var/www/htdocs/manual \
# make -j3 # checkinstall
Fazer as seguintes alterações no arquivo de configuração httpd.conf: Em DirectoryIndex colocar:
<IfModule mod_dir.c> DirectoryIndex index.html index.php </IfModule>
Retire o comentário das linhas (final do arquivo):
Include /etc/apache/mod_php.conf Include /etc/apache/mod_ssl.conf
3. Instalando o PHP com módulo para suporte no Apache
O source do PHP-4.4.4 pode ser baixado do seguinte link (PHP-4.4.4). A compilação foi padrão. Recomendo o uso do php.Slackbuild. É necessário ter o módulo com suporte ao Apache, jpeg e MySQL.
# ./configure --prefix=/usr \ --sysconfdir=/etc \ --enable-discard-path \ --with-config-file-path=/etc/apache \ --enable-safe-mode \
--with-openssl \ --with-mhash \ --enable-bcmath \ --with-bz2 \ --with-pic \ --enable-calendar \ --enable-ctype \ --with-gdbm \ --with-db3 \ --with-imap-ssl=$IMAPLIBDIR \ --with-imap=$IMAPLIBDIR \ --enable-ftp \ --with-iconv \ --with-dom \ --with-exif \ --enable-exif \ --with-gd \ --enable-gd-native-ttf \ --with-jpeg-dir=/usr \ --with-png \ --with-gmp \ --with-pcre-regex=/usr \ --with-mysql=shared,/usr \ --with-gettext=shared,/usr \ --with-expat-dir=/usr \ --with-xml \ --enable-wddx \ --with-mm=/usr \ --enable-trans-sid \ --enable-shmop \ --enable-sockets \ --with-regex=php \ --enable-yp \ --enable-memory-limit \ --with-tsrm-pthreads \ --enable-shared \ --disable-debug \ --enable-fastcgi \ --enable-force-cgi-redirect \ --disable-static \ --with-apxs=/usr/sbin/apxs \ --with-zlib=/usr # make –j3 # checkinstall
Após a compilação, cria uma página de teste para ver se está tudo OK. Crie um arquivo index.php, no seu DocumentRoot, com o seguinte conteúdo:
<? phpinfo(); ?>
Reinicie os serviços e acesse no seu browser a URL, se estiver OK, vão aparecer às informações do seu sistema:
http://localhost/
4. Configurando o MySQL-4.1.21
Baixe o arquivo pré-compilado do seguinte link (MySQL-4.1.21) e instale. Após isso faça o login com o usuário mysql:
# su mysql $ mysql_install_db /*Instala a base de dados MySQL $ exit # mysqld_safe --user=mysql& /*Inicia o MySQL com usuário mysql # mysql_secure_installation /* Realiza os ajustes necessários
Vão aparecer várias perguntas, como setar a senha de root, opção para remover usuários anônimos do banco dados e base de dados de teste. Neste ponto prefiro que deixe a base de teste, pois na hora da instalação do módulo perl DBD::Mysql, ele fará um teste de conexão nesta tabela. Após isso a tabela e o usuário poderão ser removidos. Caso seja removido agora não tem nenhum problema, basta se conectar como root na instalação do módulo. O arquivo my.cnf que eu usei foi a seguinte:
[mysql.server] datadir=/var/lib/mysql socket=/var/run/mysql/mysql.sock [mysqladmin] socket=/var/run/mysql/mysql.sock [mysqld] datadir=/var/lib/mysql socket=/var/run/mysql/mysql.sock language=/usr/share/mysql/english/ log=/var/log/mysql/mysqld.log [mysql] socket=/var/run/mysql/mysql.sock
Crie o diretório /var/log/mysql e dê permissão para o usuário mysql. Reinicie o MySQL.
Zabbix vem com os certificados do SQL usados criar o schema requerido da base de dados e introduzir também uma configuração padrão.Para o mysql será necessário utilizar:
shell> mysql -u<username> -p<password> mysql> create database zabbix; mysql> quit; shell> cd create/schema shell> cat mysql.sql |mysql -u<username> -p<password> zabbix shell> cd ../data shell> cat data.sql |mysql -u<username> -p<password> zabbix shell> cat images_mysql.sql |mysql -u<username> -p<password> zabbix
Instalando ZABBIX
Antes de começarmos a instalação, é necessário e válido, avaliarmos se os seguintes software estão instalados:
Mysql Headers and Libraries (ou, Oracle, ou PostgreSQL, ou SQLite)NET-SNMP (ou UCD-SNMP)Iksemel (para Jabber)Libcurl libraryC compiladorGNU Make
Compilando
Entre no diretório zabbix-1.4, você pode verificar os arquivos existentes nesta pasta, por padrão a compilação utilizada foi, a linha a seguir, porém existem outras opões que podem ser utilizadas também, e podem ser vistas com o comando ./configure –help.
./configure --prefix=/opt/zabbix --enable-server --enable-agent --with-mysql --with-libcurl --with-net-snmp
Onde: ** --prefix= é a opção para definir a localização de onde será instalado os binários do
Zabbix** --enable-server ativa a opção de servidor** --enable-agent ativa a opção de agent na máquina local** --with-mysql especifica o tipo de banco de dados a ser utilizado** --with-libcurl módulo necessário para monitoramento web** --with-net-snmp módulo snmp
É possível que exista o seguinte erro, isto se dá pela falta de uma library não instalada no sistema, que é a curl library.
checking for curl-config... noconfigure: error: Not found Curl library
Para correção da mesma, baixe :
# wget http://mirror.pacific.net.au/linux/slackware/slackware-current/slackware/n/curl-7.16.2-i486-1.tgz
# installpkg curl-7.16.2-i486-1.tgz
Depois volte ao diretório para iniciar novamente a compilação do programa
./configure --prefix=/opt/zabbix --enable-server --enable-agent --with-mysql --with-libcurl --with-net-snmp
Caso esteje tudo correto, deverá aparecer a seguinte tela no fim da compilação:
Configuration:
Detected OS: linux-gnu Install path: /opt/zabbix
Compilation arch: linux
Compiler: gcc Compiler flags: -g -O2 -I/usr/include/mysql -march=i486 -mcpu=i686 -I. -I/usr/local/include Linker flags: -L/usr/lib/mysql -L/usr/local/lib -L/usr/local/lib Libraries: -lm -lresolv -lnsl -lmysqlclient -lcurl -lnetsnmp
Enable server: yes With database: MySQL
Enable agent: yes
************************************************************ Now run 'make install' ** ** Thank you for using ZABBIX! ** <http://www.zabbix.com> ************************************************************
Aparecendo a tela acima, voltemos para o comando MAKE INSTALL
Ocorrerá a compilação do zabbix, é bom ficar atento para verificação de caso haja qualquer erro. Se não, verifique dentro do diretório instalado a existência da pasta Bin, que contém os binários gerados pelo zabbix.
# cd /opt/zabbix# lsbin
Por padrão apenas os binários são instalados na máquina, logo, voltando ao diretório /zabbix-1.4
# cd /zabbix-1.4
Neste diretório será possível encontrar os arquivos zabbix_agent.conf zabbix_agentd.conf zabbix_server.conf zabbix_trapper.conf. Porém nesta instalação usaremos apenas o zabbix_server.conf
# cd /zabbix-1.4/misc/conf# cp zabbix_server.conf /opt/zabbix
Editando o Arquivo zabbix_server.conf
É necessário apenas alterar os seguintes valores, e descomentar a linha DBPassword que por padrão vem comentada. Nestes valores insira o seu usuário e senha do mysql
DBUser=rootDBPassword=<password>
Copiando os arquivos para exibição via web.
Dentro da pasta de instalação existe um diretório chamado frontends, o conteúdo deste deve ser copiado para dentro do diretório disponibilizado no apache, no nosso caso criamos um chamado zabbix.
Entre no diretório frontends dentro da pasta zabbix-1.4
# cd zabbix-1.4# cd frontends/php# cp -rf * /(diretório padrao do apache)
Talvez seja necessário setar duas variáveis no php.iniSetar o tempo máximo de execução de 30 para 300 milissegundos e setar a zona de tempo para American/Sao_Paulo
max_execution_time = 300date.timezone = American/Sao_Paulo
Estando tudo correto, podemos iniciar a instalação do serviço zabbix. Podemos seguir a partir dos screens abaixo:
Iniciando a instalação, abra seu brownser e digite o endereço utilizado para a instalação do zabbix, no caso, o servidor onde foi instalado e pasta escolhida no apache:
Clique em NEXT
Marque o campo de seleção I AGREE e depois vá em next
Se toda a configuração estiver ok, a tela do Zabbix aparecerá como esta ai encima, caso contrário, verifique as informações em fail e corrija se necessário.
Efetue o teste de conexão no banco de dados. Com usuário criado no processo de instalação e importação de tabelas do zabbix ao mysql.
Clique em next
Salve o arquivo de configuração zabbix.conf.php e coloque no lugar do arquivo padrão dentro do seu diretório de confs do zabbix.
NEXT
Efetue o login como administrador para iniciar a utilização do servidor.
Depois da instalação inicial, o Zabbix tem somente 2 usuários definidos, "Admin" é o superusuário. O usuário “Admin” possui todas as permissões, já o usuário “Guest” é o usuário especial e default. Ele não precisa logar, porém por default suas pemissões são somente leitura.
Para criação de um novo usuário, vá para a guia Administration, depois Users, na guia no campo superior direito, vá para Users, e logo a frente clique no botão CREATE USER
Por padrão, o usuário criado, não possui todas as permissões desejadas. Defina conforme seu acesso.
Para inserir as medias type, para recebimento de alertas em seu email.
Agora sua media “email”está definida. Mas a media precisa ser linkada com os usuários, caso contrário, não será utilizada.
Adicionando agents e hosts
Nós iremos colocar o agent Zabbix rodando em nosso Zabbix server, e vamos monitorar esse mesmo servidor. Clique em “Create host”. Entre com todas os detalhes necessários. Podemos também utilizar um template Unix_t para simplificar nossa configuração. Caso não queira utilizar alguns dos templates prontos, escolha manualmente adicionando os Items e Triggers para o hosts a serem monitorados.
Configurations // Hosts // Create Hosts
Nossos hosts monitorados
Não tivemos interesse em utilizar os templates oferecidos pela ferramenta. Utilizamos a principio a verificação de um trigger icmp para teste de latência e verificação das pontas ativas.
Utilizando Item para monitoramento.
Configuration // Items // Create Items
Criando TRIGGERS
Configurations // Triggers //
Criando os Actions
Cria-se o nome da atribuição, no caso action_popgo, seleciona-se a opção triggers, e o tipo de aviso que será utilizado, warning, depois adicionar a qual grupo será enviado o email
Estas são as principais configurações básicas a serem criadas, outras configurações podem ser encontradas no manual original da ferramenta zabbix
link: http://www.zabbix.com/downloads/ZABBIX%20Manual%20v1.4.pdf
Observações:
Problemas foram encontrados ao utilizar a versão 4.0.27 do mysql, recomenda-se que a versão seja atualizada para 5
Top Related