Para um melhor controle de infraestrutura é indispensável um bom gerenciado de inventário. Neste artigo vou mostrar a utilização do “ocsinventory-agent” no servidor XenServer 7. Assim como é importante inventariar as máquinas virtuais, também se faz necessário o inventário dos hosts hospedeiros.
CONSIDERAÇÕES
Estamos levando em consideração que já possui um servidor de inventário Ocs Inventory, configurado e instalado. O XenServer é baseado em Linux, em especial na distribuição CentOS. Iremos realizar a instalação a partir de um arquivo fonte.
1) ADICIONANDO REPOSITÓRIO.
Antes de iniciarmos o download de nosso agente, precisamos habilitar alguns repositórios extras, para resolver futuras dependências. Vamos habilitar os repositórios “EPEL” e “REMI” para o CentOS 7.
O XenServer por padrão, bloqueia todos os repositórios do sistema, podemos ver isso através da ilustração abaixo.
Vamos realizar o download e a instalação dos nossos novos repositórios e configura-los conforme o padrão adotado pelo XenServer. Realize o download e a instalação dos repositórios conforme ilustrado abaixo, acessando com a conta root.
mkdir ~/downloads/ cd ~/downloads wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh epel-release-latest-7.noarch.rpm wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm rpm -Uvh remi-release-7.rpm
Após a instalação, repare que foram criados alguns novos arquivos referente aos repositórios no diretório padrão “/etc/yum.repos.d“. Através destes repositórios iremos resolver nossas futuras dependências.
Execute o comando ilustrado abaixo para analisarmos novamente nossa lista de repositórios.
yum repolist all
Repare que antes de mostrar a lista contendo os novos repositórios, o yum realizará a atualização da lista de conteúdo.
Nota: A atualização da lista de conteúdo de repositórios também pode ser atualizada através do comando informado abaixo.
yum makecache
Com nossos repositórios instalados, vamos desabilita-los conforme o padrão adotado pelo XenServer. Para isso, vamos utilizar o comando “sed”. Execute os comandos conforme ilustrado abaixo.
sed -i -e "s/enabled=1/enabled=0/" /etc/yum.repos.d/epel.repo sed -i -e "s/enabled=1/enabled=0/" /etc/yum.repos.d/remi.repo sed -i -e "s/enabled=1/enabled=0/" /etc/yum.repos.d/remi-safe.repo
Pronto, nossos repositórios já estão instalados e desabilitados por padrão. Liste novamente os diretórios para verificarmos como ficou.
yum repolist all
Provavelmente teremos uma tela parecida com a ilustrada abaixo.
Precisamos agora atualizar nossa repositório principal chamada “base”, vamos aproveitar e atualizar também nossos novos repositórios. Repare que com os repositórios desabilitados precisamos passar para o comando “yum” o argumento “enablerepo”, conforme ilustrado no comando abaixo.
yum --enablerepo=epel --enablerepo=remi --enablerepo=base makecache
Após executar o comando foi demostrado a seguinte mensagem na tela:
Essa mensagem é informada porque não foi possível encontrar o link de atualização informado no repositório do base. Para resolver este problema precisamos editar o arquivo e mudar o link. Acesse o arquivo “/etc/yum.repos.d/CentOS-Base.repo” e substitua a variável “$releasever” da linha “baseurl=” pela última versão de atualização do CentOS encontrada no endereço “http://mirror.centos.org/centos/“, descomente a linha, e comente a linha que começa com “mirrorlist” conforme ilustrado abaixo.
Nota: No momento da elaboração deste artigo a versão utilizada é a “7.3.1611”.
Para facilitar a alteração podemos novamente utilizar o comando “sed”. Execute o comando conforme ilustrado abaixo.
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bkp sed -i -e '/#baseurl/ s/[$]releasever/7.3.1611/' -e 's/#baseurl/baseurl/' -e s/mirrorlist/#mirrorlist/ /etc/yum.repos.d/CentOS-Base.repo
Pronto, agora já podemos atualizar nosso repositório. Execute novamente o comando ilustrado abaixo.
yum --enablerepo=epel --enablerepo=remi --enablerepo=base makecache
Se tudo correr bem é possível visualizar uma tela parecida com a ilustrada abaixo.
Agora estamos prontos pra resolver nossas futuras dependências.
2) DOWNLOAD.
Acesse o site do Ocs inventory, e realize o download do agente para Linux mais atual. No momento da elaboração deste artigo, o arquivo para download mais recente disponível é a versão “Ocsinventory-Unix-Agent-2..3.tar.gz“.
3) DESCOMPACTANDO O ARQUIVO.
Após realizar o download, precisamos descompactar os arquivos de instalação. Para isso, acesse a pasta onde encontra-se o arquivo baixado e utilizar o comando conforma ilustrado abaixo:
tar -xzvf Ocsinventory-Unix-Agent-2.3.tar.gz
Após descompactar, mova a pasta para o diretório onde ficará nosso arquivo de instalação, conforme ilustrado abaixo.
mv Ocsinventory-Unix-Agent-2.3 /opt/ocsinventory-agent
4) VERIFICANDO CONFIGURAÇÕES.
Acesse a pasta descompactada para que possamos verificar as configurações necessárias do Perl com o script “Makefile.PL“, conforme ilustrado abaixo.
perl Makefile.PL
Após a execução, caso não possua o comando perl instalado, será exibido uma mensagem parecida com a ilustrada abaixo.
Repare que não foi possível executar o comando perl. Vamos então resolver nossas dependências.
5) RESOLVENDO DEPENDÊNCIAS.
Nossa primeira dependência a ser resolvida é a instalação do “perl-ExtUtils-MakeMaker”. Realize a instalação conforme comando ilustrado abaixo.
yum --enablerepo=epel --enablerepo=remi --enablerepo=base install perl-ExtUtils-MakeMaker -y
Após a instalação execute novamente o comando ilustrado abaixo.
perl Makefile.PL
Repare que agora podemos visualizar uma lista de dependências a serem satisfeitas conforme ilustrado abaixo.
Vamos instalar agora alguns pacotes necessários para resolver nossas dependências. Realize a instalação dos pacotes conforme ilustrado abaixo.
yum --enablerepo=epel --enablerepo=remi --enablerepo=base install gcc make perl-libwww-per perl-Crypt-SSLeay perl-Crypt-SSLeay perl-Net-SSLeay nmap expat expat-devel perl-XML-SAX cpan
Também vamos realizar algumas instalações com a ajuda do programa “cpan“. Ele é um repositório de mais de 130.200 módulos de software escritos em linguagem de programação Perl como suas respectivas documentações. (Fonte: https://pt.wikipedia.org/wiki/CPAN). Realize a instalação dos pacotes conforme ilustrado abaixo.
Nota: Na primeira vez que o cpan for executado será solicitado algumas informações em tela para sua configuração. Realize a configuração de acordo com as opções já recomendadas.
cpan -i Data::UUID cpan -i XML::SAX cpan -i XML::Simple cpan -i YAML cpan -i Net::IP cpan -i Proc::Daemon cpan -i Proc::PID::File cpan -i LWP::Protocol::https cpan -i nvidia::ml
Após a instalação verifique se todas as suas pendências foram satisfeitas, conforme imagem ilustrada abaixo.
Nota: Só passe para o próximo passo caso tenha satisfeito todas as pendências.
6) INSTALANDO UTILITÁRIO DE COMPILAÇÃO.
Para que possamos realizar a compilação do “ocsinventory-agent“, será necessário utilizar o programa “make” (já instalado no passo anterior). O make é um utilitário que compila automaticamente programas e bibliotecas do arquivo fonte através da leitura de instruções contidas em arquivos denominados Makefiles, que especificam como obter o programa de destino.(Fonte: https://pt.wikipedia.org/wiki/Make).
Estando dentro da pasta onde descompactamos nosso arquivo baixado, execute o seguinte comando conforme ilustrado abaixo.
cd /etc/ocsinventory-agent make make install
Uma verificação e feita pelo interpretador PERL binário, e compilador C / C ++ durante a instalação. Se um desses componentes não for encontrado, a instalação será interrompida. Como já realizamos o tratamento de todas as dependências e verificamos previamente através do comando perl, não teremos problemas.
7) INSTALAÇÃO.
Antes de começarmos nossa instalação, vamos previamente criar um diretório para armazenar os arquivos de logs futuros, gerados pelo nosso “ocsinventory-agent”. Execute o comando conforme ilustrado abaixo.
mkdir /var/log/ocsinventory-agent
Agora vamos efetivamente a instalação. Após realizar o make install, se tudo até aqui ocorrer bem, a instalação será iniciada, e será solicitado nossas primeiras interações de configuração do agente conforme ilustrado abaixo.
Pergunta: Você deseja configurar o agente agora?
Resposta: Sim
Pergunta: Onde você deseja guardar o arquivo de configuração
Resposta: 2
Pergunta: Você gostaria de criar o diretório “/etc/ocsinventory-agent”?
Resposta: Sim
Pergunta: As configurações antigas do unix_agent devem ser importadas?
Resposta: Sim
Pergunta: O arquivo de configuração será escrito em /etc/ocsinventory-agent/ocsinventory-agent.cfg. Qual é o endereço do seu servidor OCS?
Resposta: http://seuservidor/ocsinventory
Pergunta: Você precisa de credencial para acessar o servidor?
Resposta: Não
Pergunta: Você deseja aplicar uma “tag” administrativa para esta máquina?
Resposta: Sim, Servidor
Pergunta: Você deseja instalar o cron_task em “/etc/cron.d”?
Resposta: Sim
Pergunta: Onde você deseja que o agente armazene seus arquivos? (Você provavelmente não precisa alterá-lo)
Resposta: Mantenha o mesmo caminho, somente precione a tecla “Enter” para continuar.
Pergunta: Você deseja criar o diretório “/var/lib/ocsinventory-agent”?
Resposta: Sim
Pergunta: Você deseja remover o arquivo unix_agent antigo?
Resposta: Não
Pergunta: Você deseja ativar a opção de depuração de configuração?
Resposta: Sim
Pergunta: Você deseja usar o arquivo de log do agente OCS Inventory NG Unix?
Resposta: Sim, /var/log/ocsinventory-agent/ocsagent.log
Pergunta: Você deseja desabilitar a opção de configuração de verificação CA SSL (não recomendado)?
Resposta: Não
Pergunta: Você deseja definir o caminho do arquivo da cadeia de certificados da CA?
Resposta: Não
Pergunta: Você deseja usar o recurso de implantação de software do OCS-Inventory?
Resposta: Sim
Pergunta: Você deseja usar o recurso de verificação OCS-Inventory SNMP?
Resposta: Sim
Pergunta: Você deseja enviar o inventário desta máquina?
Resposta: Sim
Após responder os questionários de configuração, nosso agente será instalado com sucesso.
8) ENVIANDO INVENTÁRIO PARA O SERVIDOR.
Para que possamos enviar nosso inventário para o servidor basta utilizarmos o comando conforme ilustrado abaixo.
ocsinventory-agent --force
CONCLUSÃO
Neste artigo realizamos a instalação de um poderoso agente de inventário adotado por inúmeras empresas que tem como foco realizar o inventário de seu parque tecnológico.
Se você gostou deste post e através dele pude lhe ajudar, o que acha de aproximarmos nosso contato? Siga meu blog e me adicione no Linkedin, aproveite para classificar algumas das minhas competências/recomendações, este simples gesto faz toda a diferença.
Att,
Rafael Olvieira
SysAdmin