Nesse post ensinarei como instalar o Zabbix a partir do código fonte. Abaixo o que foi usado para essa instalação e também um passo a passo.
Linux: Ubuntu Server 12.04 (instalação básica e atualização)
Banco de dados: MySQL
Zabbix 2.0.3
Instalar os seguintes pacotes:
apt-get install build-essential mysql-server libmysqlclient15-dev php5 php5-gd php5-mysql snmp libsnmp-dev snmpd libcurl4-openssl-dev fping libcurl3-dev
Adicionar o usuário zabbix e setar uma senha para ele
Mudar para o usuário zabbix e baixar a última versão do zabbix em http://www.zabbix.com/download.php.
Após o download, descompactar o mesmo.
Criar o banco de dados
Logar no mysql como root e criar o database para o zabbix
create database zabbix
Grant
grant all privileges on zabbix.* to zabbix@localhost identified by 'senha-para-o-zabbix';
Executar os seguintes SQLs para criar a estrutura necessária para o Zabbix. Os SQLs encontram-se dentro do diretório descompactado, em database e depois em mysql
Ex:
/home/zabbix/zabbix-2.0.3/database/mysql
Executar na seguinte ordem:
mysql -D -u zabbix -p < schema.sql
mysql -D -u zabbix -p < images.sql
mysql -D -u zabbix -p < data.sql
A cada SQL executado, será pedida a senha do usuário zabbix. A senha é aquela cadastrada previamente no grant acima.
Feito isso, vamos a compilação do Zabbix:
./configure --prefix=/usr --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent
sudo make install
Adicionar ao /etc/services
zabbix_agente 10050/tcp # Zabbix
zabbix_trap 10051/tcp # Zabbix
Para facilitar o acesso aos arquivos de configuração do agent e do server Zabbix, criei um link para cada um deles em /etc/zabbix:
mkdir /etc/zabbix
chown zabbix:zabbix /etc/zabbix
ln -s /usr/etc/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf
ln -s /usr/etc/zabbix_server.conf /etc/zabbix/zabbix_server.conf
Agora, vamos fazer alguns ajustes nos arquivos acima citados:
vi /etc/zabbix/zabbix_agentd.conf
Verifique se no item Server está setado o ip do servidor:
Server=127.0.0.1
Eu preferi colocar o pid e o log do agent do Zabbix num diretório personalizado ao invés de colocar no /tmp. Para isso, crie o diretório zabbix em /var/log:
mkdir /var/log/zabbix
chown zabbix:zabbix /var/log/zabbix
Edite novamente o /etc/zabbix/zabbix_agentd.conf para alterar a localização do pid e do log:
vi /etc/zabbix/zabbix_agentd.conf
PidFile=/var/log/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
Agora vamos editar o /etc/zabbix/zabbix_server.conf. Nele precisamos setar as configurações para acesso ao banco de dados. Os itens a serem configurados são:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword="password" (setado no grant executado)
No meu caso, novamente, setei itens PidFile e LogFile para um diretório personalizado:
PidFile=/var/log/zabbix/zabbix_server.pid
LogFile=/var/log/zabbix/zabbix_server.log
Feito isso, vamos copiar os scripts de inicialização para o seu devido lugar. Os scripts usados estão no diretório descompactado com o código fonte do zabbix. No meu caso, em /home/zabbix/zabbix-2.0.3/misc/init.d/debian. São dois arquivos:
zabbix-agent e zabbix-server
Eles devem ser copiados para /etc/init.d e dado permissão de execução para os dois.
chmod 755 /etc/init.d/zabbix-agent
chmod 755 /etc/init.d/zabbix-server
Agora, precisamos editar esses dois arquivos para alterar o local onde estão os executáveis de cada um deles e também onde está o arquivo do pid. Primeiro, editaremos o zabbix_agent. Os dois itens alterados são os a seguir:
vi /etc/init.d/zabbix-agent
DAEMON=/usr/sbin/${NAME}
PID=/var/log/zabbix/$NAME.pid
Agora, vamos editar o zabbix_server:
vi /etc/init.d/zabbix-server
DAEMON=/usr/sbin/${NAME}
PID=/var/log/zabbix/$NAME.pid
Vamos, enfim, colocar o zabbix_agent e o zabbix_server para serem inicializados durante a inicialização do SO:
update-rc zabbix-server defaults
update-rc zabbix-agent defaults
Configurando a interface web
Primeiramente é necessário criar um diretório dentro de /var/www.
mkdir /var/www/zabbix
Agora vamos copiar os arquivos do diretório /home/zabbix/zabbix-2.0.3/frontends/php para o diretório criado:
cp -a /home/zabbix/zabbix-2.0.3/frontends/php/* /var/www/zabbix/
Feito isso, agora precisamos editar o arquivo /etc/apache2/sites-enabled/000-default para incluir o alias que dará acesso à interface de monitoramento do Zabbix. Adicionar nesse arquivo os dados abaixo:
Alias /zabbix /var/www/zabbix/
<Directory /var/www/zabbix/>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
O próximo passo agora é editar o php.ini. Para isso, faça:
vi /etc/php5/apache2/php.ini
Será necessário alterar os dois itens abaixo:
max_execution_time = 300
date.timezone = America/Sao_Paulo
A lista com os timezone suportados por ser encontrada no http://br2.php.net/manual/en/timezones.php
Para que as últimas alterações sejam utilizadas, é necessário reiniciar o serviço apache2.
service apache2 restart
Finalmente, podemos agora acessar a interface web. Para isso, acesse pelo browser preferido o endereço como no exemplo abaixo:
http://<IP_DO_SERVIDOR_ZABBIX>/zabbix
No wizard que aparecerá, clique em next e veja se existe alguma alteração recomendada a ser feita. No meu caso, precisei fazer as alterações as abaixo:
post_max_size de 8MB para 16MB
max_input_time de 60 para 300
Essas alterações foram feitas no php.ini. O mesmo arquivo que editamos para alterar max_execution_time e date.timezone.
Feitas as alterações necessárias, reinicie o apache2 novamente e acesse novamente o servidor. Clique no botão "Retry" e verifique se todos os itens da lista estão com um "Ok" verde na frente. Se sim, clique em next.
Na tela seguinte, adicione as informações do banco de dados:
Database type: MySQL
Database host: localhost
Database name: zabbix
User: zabbix
Password: <senha> (senha setada no grant do começo da instalação)
Clique em "Test connection". Estando tudo certo, siga em frente.
Na tela seguinte, caso seja necessário, adicione as informações necessárias:
Host: localhost
Port: 10051
Name: <nome_do_servidor>
Clicando em next serão exibidas algumas informações sobre o servidor. Estando tudo certo, clique em next novamente.
Na tela seguinte, aparecerá uma mensagem dizendo que não conseguiu criar o arquivo /var/www/zabbix/conf/zabbix.conf.php. Faça o download do mesmo e copie ele para o diretório citado.
Em seguida, retorne à interface web do zabbix e clique em "retry". Feito isso, será exibida uma tela com algumas mensagens e uma delas será:
"Congratulations on successful instalation of Zabbix frontend"
Clique em finish e você será redirecionado para a interface web do Zabbix. Agora será necessário instalar o agente nos servidores e depois adiciona-los via interface web no Zabbix. Mas isso ficará para um próximo post.
Usuário e senha padrão para acesso à interface web:
username: admin
password: zabbix
Divirta-se! :)
Colírio Digital
Informações úteis sobre algumas das áreas de TI.
quarta-feira, 28 de novembro de 2012
sexta-feira, 29 de julho de 2011
Linux - Relendo a tabela de partições
Para fazer com que a tabela de partições seja relida sem precisar reiniciar o linux, use o comando partprobe ou hdparm como descrito abaixo:
# partprobe /dev/hdx ou /dev/sdx
ou
# hdparm -z /dev/sdax
Substitua o x pela letra correspondente ao hd no qual se deseja fazer a releitura.
# partprobe /dev/hdx ou /dev/sdx
ou
# hdparm -z /dev/sdax
Substitua o x pela letra correspondente ao hd no qual se deseja fazer a releitura.
Assinar:
Postagens (Atom)