Inventário “like a boss” com OCS Server

Introdução

OCS é um software livre que permite aos usuários deste serviço criar inventários de toda a sua estrutura de TI. Ele coleta informações tanto do hardware quanto do software das máquinas da rede que utilizam seu client. Todo o resultado desta busca é visualizada em sua interface Web.O OCS é dividido em 3 partes:

  • Server;
  • Agente;
  • Interface Web.

O Server utiliza-se das tecnologias PERL de programação, servidor Web Apache e banco de dados MySQL, sendo assim, o OCS é multiplataforma funcionando tanto em UNIXs quanto em Microsoft Windows.

Os agentes responsáveis pela coleta de informações também são multiplataformas e podem ser instalados em:

  • Microsoft Windows;
  • GNU/Linux;
  • Mac OS X;
  • Sun Solaris;
  • IBM AIX;
  • FreeBSD, NetBSD, OpenBSD;
  • HP-UX;
  • Android.

A interface Web, escrita em PHP, é responsável pela visualização dos dados encontrados.

Instalando as dependências

Instalando o repositório EPEL:

# rpm -Uvh http://fedora.uib.no/epel/6/x86_64/epel-release-6-7.noarch.rpm

Instalando os pacotes:

# yum install perl-XML-Simple perl-Net-SNMP perl-Compress-Zlib perl-Net-IP perl-LWP* perl-Digest-MD4* perl-Net-SSLeay perl-DBI perl-DBD-MySQL perl-Apache-DBI perl-SOAP-Lite perl-XML-Entities perl-Crypt-SSLeay perl-Proc-Daemon perl-Proc-PID-File perl-ExtUtils-MakeMaker perl-YAML perl-XML-SAX-Base mod_perl cpan libvirt -y –skip-broken

# cpan
cpan> install ExtUtils::MakeMaker

Configurando o banco de dados:

# mysql
create database OCS character set utf8;
grant all privileges on OCS.* to ocs@localhost identified by ‘ocs’;
flush privileges;

Instalando o OCS Server:

# wget https://launchpad.net/ocsinventory-server/stable-2.0/2.0.5/+download/OCSNG_UNIX_SERVER-2.0.5.tar.gz
# tar -zxvf OCSNG_UNIX_SERVER-2.0.5.tar.gz
# cd OCSNG_UNIX_SERVER-2.0.5/
# ./setup.sh

Obs.: Aceitar todas as configurações padrão de instalação.

Alterar o caminho dos arquivos PHP estáticos no raiz do Web Server, SNMP e Discovery.

Exemplo:

“Where to copy Administration Server static files for PHP Web Console
[/usr/share/ocsinventory-reports] ?/var/www/html

OK, using directory /var/www/html to install static files 😉
Where to create writable/cache directories for deployement packages,
IPDiscover and SNMP [/var/lib/ocsinventory-reports] ?/var/www/html

Alterar o arquivo “z-ocsinventory-server.conf”:

# vim /etc/httpd/conf.d/z-ocsinventory-server.conf

# Master Database settings
# Replace localhost by hostname or ip of MySQL server for WRITE
PerlSetEnv OCS_DB_HOST localhost
# Replace 3306 by port where running MySQL server, generally 3306
PerlSetEnv OCS_DB_PORT 3306
# Name of database
PerlSetEnv OCS_DB_NAME OCS
PerlSetEnv OCS_DB_LOCAL OCS
# User allowed to connect to database
PerlSetEnv OCS_DB_USER ocs
# Password for user
PerlSetVar OCS_DB_PWD ocs

E também alterar o arquivo “ocsinventory-reports.conf”:

# vim /etc/httpd/conf.d/ocsinventory-reports.conf

# Some PHP tuning for deployement feature up to 8 MB
# post_max_size must be greater than upload_max_filesize
# because of HTTP headers
php_value post_max_size            201m
php_value upload_max_filesize    200m

Reiniciar o serviço httpd:

# /etc/init.d/httpd restart
Ou:
# service httpd restart

Configuração do OCS

Criar pasta scripts/oscxml:# mkdir -p /scripts/ocsxml

Acessar o endereço da interface Web do OCS Server: <ip_do_servidor>/ocsreports

Linux: Inventário 'like a boss' com OCS Server

Completar com as informações corretas e clicar em: Send

Se a saída for semelhante à imagem acima, está tudo OK! Você pode digitar novamente o endereço da interface Web.

Entre com o nome de usuário e senha:

  • Usuário: admin
  • Senha: admin

Esta é a ‘cara’ do OCS!

Vá em:

Configurações → Interface

E modifique conforme abaixo:

LOCAL_URI_SERVER: Customize > http://127.0.0.1/ocsreportsDOWNLOAD_PACK_DIR: BY DEFAULT

IPDISCOVER_IPD_DIR: BY DEFAULT

TODO O RESTO: BY DEFAULT

Aplique as configurações.

Vá em:

Configurações → Arquivo de Inventário

E modifique conforme abaixo (seguir ordem):

  1. ON
  2. OCS
  3. OFF
  4. OCS_FILES_PATH: /scripts/ocsxml

Aplique as configurações.

Instalando e configurando o agente OCS

Execute os seguintes comandos para termos certeza que os serviços estão funcionando e colocando os devidos na inicialização:# /etc/init.d/messagebus restart
# /etc/init.d/avahi-daemon restart
# /etc/init.d/libvirtd restart
# /sbin/chkconfig messagebus on
# /sbin/chkconfig avahi-daemon on

Baixar o agente:

# wget https://launchpad.net/ocsinventory-unix-agent/stable-2.0/2.0.5/+download/Ocsinventory-Unix-Agent-2.0.5.tar.gz

Descompactar:

# tar -zxvf Ocsinventory-Unix-Agent-2.0.5.tar.gz

Acessar a pasta:

# cd Ocsinventory-Unix-Agent-2.0.5/

Compilar:

# perl Makefile.PL
# make
# make install

Seguir desta forma:

enter
2
enter
http://<ip_do_server>/ocsinventory
enter
enter
TAG: colocar a TAG (ex.: SERVER)
enter
enter
enter
enter
enter
enter
enter
Success!

Para enviar os dados para o server, execute o comando abaixo:

# ocsinventory-agent –server http://<ip_do_server>/ocsinventory –debug –force

É interessante agendar para que os “clients” nos envie, toda hora, uma carga de inventário para o nosso server. Para isso, podemos agendar este comando na cron:

00 * * * * root ocsinventory-agent –server http://<ip_do_server>/ocsinventory –debug –force

Obrigado! Espero ter agregado algo a vocês.

Rolar para cima