Manual do Administrador do Super Gerente¶
Informações sobre o Sistema Cacic
O módulo integrador do Cacic, conhecido como Super Gerente, tem como objetivo consolidar as informações de hardware e software, utilizando as novas tecnologias de visualização e coleta de dados, além das interfaces de comunicação independentes baseadas em padrões abertos.
Informações Técnicas
Com a arquitetura definida, o órgão não é obrigado a utilizar o Cacic como software principal de inventário, mas estabelece uma sintaxe que pode ser implementada em qualquer tecnologia. Contudo, ao utilizar o módulo integrado ao Gerente, todas as etapas necessárias à coleta já estão implementadas e não resultam em custos adicionais ao órgão. Para a administração pública, a possibilidade de haver um inventário centralizado permite o levantamento estatístico sobre as tecnologias mais utilizadas, levanta problemas referentes à concentração de utilização de software e fornece subsídios para implementar uma política de aquisição de equipamentos.
Requisitos para Implantação¶
Requisitos Mínimos
SOFTWARE | |
---|---|
SISTEMA OPERACIONAL: | CentOS 6.5 |
WSCServer: | Interface de consulta SOAP: Apache + PHP + MySQL Formato de dados de saída: XML |
WSCBot: | Plataforma tecnológica: daemon escrito na linguagem Python |
Requisitos de Infraestrutura
A utilização do módulo Super Gerente consiste na coleta de informações consolidadas de inventário e envio para uma interface de visualização. A implementação padrão consiste na instalação de uma interface de exportação dos dados via Web Service no módulo Gerente, que é consumida pelo Agente do Super Gerente, responsável pela coleta das informações consolidadas de inventário. A coleta é então enviada para o módulo de visualização do Super Gerente, onde os dados podem ser analisados pelos usuários finais.
Uma perspectiva funcional do sistema e seus módulos.
Instalação do Super Gerente¶
Módulos do Sistema.
O processo a seguir instalará todas as dependências necessárias para o correto funcionamento do módulo Super Gerente.
- Execute o seguinte comando para ter acesso de “superusuário”
su –
Digite a senha do root.
- Desative o SE Linux. Para isso, execute o seguinte comando:
setenforce permissive
Esse comando não retornará nenhuma informação mesmo que seja executado com sucesso.
- Instalação de dependências.
Acesse o log de instalação das dependências constantemente para a verificação de possível erro.
yum install gcc-c++
yum install zlib-devel
yum install opessl-devel
yum install postgresql-devel
yum install httpd
yum install httpd-devel
- Criação do diretório do projeto Super Gerente.
Acesse o diretório ´´/usr/local/`` com o seguinte comando:
cd /usr/local
Crie um diretório chamado lightbase com o seguinte comando:
mkdir lightbase
No diretório lightbase ficarão todos os códigos-fonte e será criado o ambiente virtual para o Super Gerente.
Acesse o diretório lightbase:
cd lightbase/
- Instalação do Phyton 3.4
Faça o download do código-fonte do Phyton 3.4 com o comando a seguir:
wget https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tar.xz
Após a conclusão do download, descompacte o arquivo com o seguinte comando:
tar xf Python-3.4.1.tar.xz
Entre no diretório onde se encontra o código-fonte:
cd Python-3.4.1
Execute o comando a seguir para a correta configuração do python.
./configure --prefix=/usr/local/lightbase/ --with-threads --enable-shared LDFLAGS=-Wl, rpath=/usr/local/lightbase/lib/
Execute os seguintes comandos:
make
make install
Abra o arquivo ld.so.conf com o seguinte comando:
vi /etc/ld.so.conf
Acrescente a seguinte linha:
/usr/local/lightbase/lib
Salve o arquivo e execute o seguinte comando:
ldconfig
- Instalação do mod_wsgi modulo fundamental para a instalação do Super Gerente.
Faça o download do código fonte do mod_WSGI executando o seguinte comando:
wget https://pypi.python.org/pypi/mod_wsgi
Após a conclusão do download, descompacte o arquivo com o seguinte comando:
gzip –d mod_wsgi-4.4.0.tar.gz
tar –xvf mod_wsgi-4.4.0.tar
Configure com o seguinte comando:
cd mod_wsgi-4.4.0
./configure --with-python=/usr/local/lightbase/bin/python3.4
Instale com os comandos:
make
make install
- Instalação do virtualenv modulo responsável por criar o nosso ambiente virtual.
Faça o download do código-fonte executando o seguinte comando:
wget https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.11.6.tar.gz
Após a conclusão do download, descompacte o arquivo com o seguinte comando:
gzip –d virtualenv-1.11.6.tar.gz
tar –xvf virtualenv-1.11.6.tar
Instale com os comandos:
cd virtualenv-1.11.6
/usr/local/lightbase/bin/python3.4 setup.py install
- Criação do ambiente virtual
Para criar o ambiente virtual execute o seguinte comando:
cd /usr/local/lightbase
bin/virtualenv-3.4 –p /bin/python3.4 py3env
cd py3env
mkdir src
Ambiente virtual criado com sucesso.
- Instalação do modulo WSCacicNeo (Interface do Super Gerente).
Acesse o ambiente virtual(py3env) e abra a pasta src com o seguinte comando:
cd /usr/local/lightbase/py3env/src
Faça o download do código-fonte executando o seguinte comando:
git clone https://github.com/lightbase/WSCacicNeo.git
Após a conclusão do download, será necessário criar um arquivo .wsgi dentro do diretório do WSCacicNeo. Faça com o seguinte comando:
cd WSCacicNeo/
vi wscacicneo.wsgi
No documento criado insira as seguintes linhas:
from pyramid.paster import get_app
application = get_app(
‘/usr/local/lightbase/py3env/src/WSCacicNeo/development.ini’, ’main’)
Salve e feche o arquivo e execute o seguinte comando:
cp development.ini-dist development.ini
Execute o seguinte comando :
cd WSCacicNeo/
../../bin/python3.4 setup.py develop
Vá até a última página, veja o Modulo de configuração do seu apache, execute esse modulo e então estará apto a realizar o próximo passo.
Saia do diretorio do WSCacicNeo com o seguinte comando:
cd ..
Em seguida digite:
yum install libffi-devel
Digite:
/../bin/pip3.4 install python-datetime
Verifique se está no diretório src e execute o seguinte comando:
git clone https://github.com/lightbase/liblightbase.git
Execute o seguinte comando:
cd liblightbase
../../bin/python3.4 setup.py develop
Saia do diretório lightbase e entre no diretório WSCacicNeo:
cd ..
cd WSCacicNeo
Execute o seguinte comando:
../../bin/python3.4 setup.py develop
Se em nenhum dos processos acima ocorrer erro, o WSCacicNeo(interface do Super Gerente) estará instalada com êxito.
- Instalação Super Gerente - LBGenerator
Acesse a pasta do virtualenv e faça o download do lbgenerator:
git clone http://git.lightbase.cc/LBGenerator.git
Após a conclusão do download, acesse a pasta do arquivo:
cd LBGenerator/
Renomeie os arquivos lbgenerator.wsgi-dist e development.ini-dist para lbgenerator.wsgi e development.ini respectivamente.
Abra o arquivo de configuração do wsgi:
vim lbgenerator.wsgi
O arquivo terá o seguinte código:
from pyramid.paster import get_app
application = get_app(
'/home/eduardo/srv/lightbase-neo/src/LBGenerator/development.ini', 'main')
import lbgenerator.monitor
lbgenerator.monitor.start(interval=1.0)
altere a rota do get_app para o development.ini do lbgerenator ( o que você acabou de renomear).
'/CAMINHO/DO/LBGenerator/development.ini'
Após configurado o arquivo wsgi, abra e configure o arquivo development.ini:
vim development.ini
Altere apenas a seção [alembic]:
de:
[alembic]
sqlalchemy.url = postgresql://rest:rest@localhost/neolight
sqlalchemy.max_overflow = 0
sqlalchemy.pool_size = 20
script_location = db_versions
para:
[alembic]
sqlalchemy.url = postgresql://cacic:cacic@localhost/rest
sqlalchemy.max_overflow = 0
sqlalchemy.pool_size = 20
script_location = db_versions
- Instalação Super Gerente - WSCServer
Acesse a pasta do virtualenv faça o download do wscserver.
git clone https://github.com/lightbase/WSCacicNeo.git
Acesse a pasta do arquivo:
cd WSCServer/
Renomeie o arquivo development.ini-dist para development.ini.
Crie, caso não tenha sido criado ainda, o arquivo wscserver.wsgi:
vim wscserver.wsgi
Insira código a seguir:
from pyramid.paster import get_app
application = get_app(
'/home/eduardo/srv/lightbase-neo/src/WSCServer/development.ini', 'main')
import wscserver.monitor
wscserver.monitor.start(interval=1.0)
altere a rota do get_app para o development.ini do wscserver ( o que você acabou de renomear).
'/CAMINHO/DO/WSCServer/development.ini'
Abra e configure o arquivo development.ini:
vim development.ini
Altere a seção [alembic] para:
[alembic]
sqlalchemy.url = postgresql://cacic:cacic@localhost/cacic
sqlalchemy.max_overflow = 0
sqlalchemy.pool_size = 20
script_location = db_versions
5.0 Instalação Super Gerente - LBBulk
Acesse a pasta do virtualenv e faça o download do lbbulk.
git clone https://github.com/lightbase/LBBulk.git
Acesse a pasta do arquivo:
cd LBBulk/
Renomeie os arquivos lbbulk.wsgi-dist e development.ini-dist para lbbulk.wsgi e development.ini respectivamente.
Abra o arquivo de configuração do wsgi:
vim lbbulk.wsgi
O arquivo terá o seguinte código:
from pyramid.paster import get_app, setup_logging
ini_path = '/srv/lightbase/LBBulk/development.ini'
#ini_path = '/srv/lightbase/LBBulk/production.ini'
setup_logging(ini_path)
application = get_app(ini_path, 'main')
Altere a rota do ini_path para o development.ini do lbbulk (o que acabou de ser renomeado).
'/CAMINHO/DO/LBBulk/development.ini'
Abra e configure o arquivo development.ini:
vim development.ini
Altere a lightbase_url:
lightbase_url = http://127.0.0.1/lbgenerator
- Instalação e configuração do Postgresql
Para a instalação do Postgresql no CentOS, verifique a seguinte URL
https://wiki.postgresql.org/wiki/YUM_Installation
Após executar os passos no tutorial de instalação acima, será criado um superusuário chamado cacic no postgresql. Com esse mesmo superusuário serão criadas duas bases, uma chamada rest e a outra cacic. Estas são as bases que os módulos LBGenerator e WSCServer usarão para armazenar seus dados.
Crie o superusuário e as bases.
Para acessar o Postgresql digite:
su – postgres
OBS: isso ira alterar o usuario do sistema que atualmente é o root e irar se tornar postgres
Acesse o terminal postgresq digitando o seguinte comando:
psql
Execute os seguintes comandos:
CREATE USE cacic SUPERUSER INHERIT CREATEDB CREATEROLE;
ALTER USER cacic PASSWORD 'cacic';
Abra o arquivo pg_hba.cong com o seguinte comando:
cd /var/lib/pgconf/pg_hba.conf
Adicione a seguinte linha:
Localhost all cacic 127.0.0.1 trust
Salve o arquivo e reinicie o postgressql:
/etc/init.d/posgresql restart
Acesse o terminal do postgres com o usuário criado da seguinte forma:
psql –H localhost –U cacic –W
Insira a senha “cacic”, e execute os seguintes comandos:
CREATE DATABASE cacic;
CREATE DATABASE rest;
Reinicie o apache com o seguinte comando:
/etc/init.d/httpd restart
Caso não retorne erro em nenhuma das instalações, o sistema estará configurado de maneira correta.
Para verificação de qualquer erro, acesse o arquivo error.log com o seguinte comando:
less /var/log/httpd/error.log
- Módulo de configuração do apache (httpd)
Para configurar o apache(httpd), crie ou acesse o arquivo:
sudo vi /etc/httpd/conf.d/lightbase.conf
Insira o seguinte código, de acordo com sua configuração:
LoadModule wsgi_module /usr/lib64/httpd/modules/mod_wsgi.so
WSGISocketPrefix /var/run/wsgi
ServerAdmin admin@lightbase.com.br
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
Configure o WSCacicNeo no httpd, inserindo após o código a cima, as seguintes linhas de comando:
WSGIDaemonProcess wscacicneo threads=8 python-path=/usr/local/lightbase/py3env/lib/python3.4/site-packages
WSGIScriptAlias /wscacicneo /usr/local/lightbase/py3env/src/WSCacicNeo/wscacicneo.wsgi
<Directory /usr/local/lightbase/py3env>
WSGIProcessGroup wscacicneo
Order allow,deny
Allow from all
</Directory>
Configure o WSCServer, adicione as seguintes linhas ao lightbase.conf:
WSGIDaemonProcess wscserver threads=8 python-path=/usr/local/lightbase/py3env/lib/python3.4/site-packages
WSGIScriptAlias /wscserver /usr/local/lightbase/py3env/src/WSCServer/wscserver.wsgi
<Directory /usr/local/lightbase/py3env>
WSGIProcessGroup wscserver
Order allow,deny
Allow from all
</Directory>
Configure o LBBulk, adicione as seguintes linhas ao lightbase.conf:
WSGIDaemonProcess lbbulk threads=8 python-path=/usr/local/lightbase/py3env/lib/python3.4/site-packages
WSGIScriptAlias /lbbulk /usr/local/lightbase/py3env/src/LBBulk/LBBulk.wsgi
<Directory /usr/local/lightbase/py3env>
WSGIProcessGroup lbbulk
Order allow,deny
Allow from all
</Directory>