Páginas

Oito anos de testes

shyrul@debian:~$ A grande idéia de postar tudo aqui, veio do simples fato de que depois de 8 anos de pesquisas, testes e muitos clientes satisfeitos, eu nunca tinha juntado todo o material que consegui com o decorrer do tempo, em um só lugar. A gente ai ficando velho e acaba esquecendo de coisas básicas. E também gostaria de deixar minha contribuição para todos.

.

quarta-feira, 1 de junho de 2011

Instalação do Nagios3 no Debian


A versão do Nagios utilizada nesse artigo foi a 3.0.6 e do Nagios Plugins 1.4.13
Para iniciar a instalação do Nagios, baixe-o em http://www.nagios.org/download ou você pode utilizar o wget
# wget http://heanet.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.6.tar.gz
Para compilar os pacotes do Nagios e Nagios plugins é preciso instalar os compiladores básicos e os headers do kernel do linux.
O comando
# apt-get install build-essential linux-headers-`uname -r`
realiza a instalação dos pacotes corretos.
build-essential é o conjunto de pacotes e bibliotecas de compilação, ele instala o GCC, G++ e os demais integrantes do kit básico.
O pacote "linux-headers" inclui os headers do kernel, o conjunto de arquivos e ponteiros necessários para que o compilador seja capaz de gerar módulos adequados ao kernel em uso. Existem várias versões do pacote, uma para cada versão do kernel disponível nos repositórios (como em "linux-headers-2.6.26-1-686"); por isso, para facilitar, usamos o "linux-headers-`uname -r`" (o ` é o símbolo de crase) que faz com que o apt descubra sozinho qual versão deve instalar a partir do comando "uname -r". Com isso, a casa fica pronta para a instalação dos drivers.
Trecho retirado do artigo Debian Lenny, parte 2, de autoria de Carlos Morimoto.
Terminada a instalação é hora de compilar o Nagios.

Criando usuário Nagios

# adduser nagios
O usuário nagios será o usuário que o Nagios utilizará para a execução. Automaticamente o grupo nagios será criado para esse usuário. Isso pode ser conferido com o comando
# grep nagios /etc/passwd
Para executar comandos externos via interface web é preciso que o servidor web esteja instalado. Para instalar o Apache
# apt-get install apache2
Durante a instalação do apache, automaticamente é criado o usuário www-data. Esse usuário, por padrão é quem executa o apache. Para identificar com qual o usuário o apache está sendo executado
#grep "^User" /etc/apache2/apache2.conf
Para que o usuário nagios possa executar comandos através da interface web do apache devemos adicioná-lo ao grupo do apache. Para isso execute
# usermod -G nagios nagios
  # usermod -G www-data,nagios www-data
Para conferir se o usuário foi mesmo adicionado ao grupo, execute o comando
#grep nagios /etc/group
Iremos instalar o nágios no diretório /usr/local/. Crie dentro desse diretório uma pasta chamada nagios e copie para dentro dela os arquivos do nagios e os plugins baixados.
Extraia os arquivos do Nagios com o comando
# tar -xvzf nagios-3.0.6.tar.gz
Acesse a pasta nagios-3.0.6/
# cd  nagios-3.0.6
Execute o scritp
#./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios/ --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagios
onde:
-prefix=/usr/local/nagiosdestino onde o nagios será instalado
-with-cgiurl=/nagios/cgi-binPasta CGI do Nagios
-with-htmurl=/nagios/Arquivos HTML do Nagios, pasta da web interface
-with-nagios-user=nagiosusuário do Nagios
-with-nagios-group=nagiosgrupo do Nagios
-with-command-group=nagiosis the Nagios command group which has webserver user (Apache) and the nagios user as members.
Se desejar ver mais opções do que podem ser utilizadas para a compilação, digite o comando
# ./configure --help
Em seguida compile o Nagios e os CGIs
# make all
Instale os binários
# make install
Instale os scripts de inicialização
# make install-init
Crie o diretório que será utilizado para a inserção de comandos externos
# make install commandmode
Instale o arquivo de configuração de EXEMPLO do Nagios. As configurações contidas nesse arquivo são apenas configurações básicas necessárias para executá-lo, provavelmente você precisará fazer alterações no arquivo /usr/local/nagios/etc/nagio.cfg de acordo com suas necessidades.
#make install-config
Nesse momento o nagios já está instalado em seu computador. Agora conheceremos a estrutura dos diretórios do Nagios
#cd /usr/local/nagios/
Você encontrará no diretório do Nagios outros seis sub-diretórios. Abaixo uma breve explicação de cada um deles
bin/Nagios binários do Nagios
etc/Diretório principal do Nagios, ele contém os arquivos de configuração e arquivos de configuração do CGI.
libexec/Os plugins do Nagios são armazenados nesse diretórios
sbin/CGIs
share/Arquivos HTML (para interface web e documentação online)
var/Diretório vazio utilizado para os arquivos logs

Instalando os plugins para o Nagios

Baixe-os em http://www.nagios.org/download ou utilize o wget
# wget  http://mesh.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz
Extraia os arquivos
# tar -xvzf nagios-plugins-1.4.13.tar.gz
Acesse o diretórios nagios-plugins-1.4.13/
# cd nagios-plugins-1.4.13/
Compile o arquivo
# ./configure
Em seguida instale os binários
#make & make install
Os plugins serão instalados no diretório /usr/local/nagios/libexec. Agora temos o Nagios e os plugins instalados. Vamos então prosseguir com a configuração do Apache para que seja possível acessar o Nagios e executar comandos externos via web interface.
Existem duas formas de realizar a configuração. A primeira é criar um arquivo contendo o ScriptAlias configurações dentro do diretório /etc/apache2/sites-available/ ou inserir as configurações no arquivo httpd.conf. Será abordado nesse artigo a segunda forma.
Dentro do seu arquivo httpd.conf insira as seguintes configurações:
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin/
  
  <Directory "/usr/local/nagios/sbin/">
  AllowOverride AuthConfig
  Options ExecCGI
  Order allow,deny
  Allow from all
  </Directory>
  
  Alias /nagios /usr/local/nagios/share/
  
  <Directory "/usr/local/nagios/share">
  Options None
  AllowOverride AuthConfig
  Order allow,deny
  Allow from all
  AuthName "Nagios Access"
  AuthType Basic
  AuthUserFile /usr/local/nagios/etc/htpasswd.users
  require valid-user
  </Directory>
Salve o arquivo e em seguida reinicie o apache
#/etc/init.d/apache2 restart
Para um maior segurança, o Nagios será configurado de forma que, cada usuário somente terá acesso a sua web interface caso esteja previamente cadastrado. Para isso, criaremos um arquivo de configuração contendo os usuários que terão permissão de acesso a interface do Nagios. O parâmetro "-c" do comando cria um arquivo htpasswd.users e insere o usuário guilherme .
#htpasswd -c /usr/local/nagios/etc/htpasswd.users guilherme
Será solicitado que seja criado uma senha para o usuário. Caso queira inserir novos usuários, retire o parâmetro -c do comando e ao final entre com o nome do novo usuário
#htpasswd  /usr/local/nagios/etc/htpasswd.users novousuario
Para finalizar edite o arquivo /usr/local/nagios/etc/cgi.cfg. Este arquivo contém as configurações do cgi utilizadas pelo Nagios. Configure os parâmetros abaixo para os usuários que você cadastrou no arquivo /usr/local/nagios/etc/htpasswd.users para que possam acessar o sistema. No meu caso ficou da seguinte forma:
authorized_for_system_information=guilherme
  authorized_for_configuration_information=guilherme
  authorized_for_system_commands= guilherme
  authorized_for_all_services=guilherme
  authorized_for_all_hosts=guilherme
  authorized_for_all_service_commands=guilherme
  authorized_for_all_host_commands=guilherme
Em seguida, reinicie o Nagios. Para acessá-lo digite no seu browser
http://<IPADDRESS OR HOSTNAME>/nagios/
Após a validação de usuário e senha você terá acesso ao Nagios

 O mapa funciona, os grupos funcionam muito melhor. Claro que o diretorio passa de /usr/local/nagios, para /etc/nagios3. Não vou nem postar as configurações, pois está tudo muito mais simples. Não achei legal instalar nem a nova interface (muito cheio de frescuras e com alguns bugs nesta nova versão) e nem o nagiosQL , pois sem isso o sistema fica com a "anti-burro" (usuários retardados) ativo. Fiz todos os teste necessários. O sistema esta perfeito! Sem erros. Melhor do que nunca foi.  E ao contrario do Zenoss, muito mais leve.

Nenhum comentário:

Postar um comentário