📖 Tempo estimado de leitura: 6 min
Imagine ter uma ferramenta mágica que mantém, sem esforço, o controle de todos os dispositivos e softwares de sua pequena ou média empresa. Com o Open Computers and Software (OCS), esse sonho se torna realidade. Desde o gerenciamento de inventário até o rastreamento de licenças de software, o OCS simplifica as operações, aumenta a eficiência e garante que nada passe despercebido. Diga adeus à adivinhação e olá à simplicidade organizada com o OCS!
OCS é um software de código aberto que permite que você escaneie e faça o inventário de todos os dispositivos de um departamento de TI.
Os dados coletados contém as informações referentes a hardware e software, que por sua vez podem ser utilizadas para planejar a atualização de softwares e ciclo de vida de hardware. Estes controles possibilitam manter o ambiente de TI mais seguro.
O OCS utiliza plugins para fazer coletas de forma mais assertiva, o que aumenta a flexibilidade de adoção para diversos sistemas diferentes.
Para saber mais sobre o OCS Inventory clique aqui.
Existem 2 formas de implementar o OCS:
Irei mostrar neste artigo como fazer a implementação do OCS utilizando as imagens oficiais de contêiner do OCS.
Se você não sabe nada sobre Docker e Podman, não se preocupe. Não é tão complicado quanto parece.
O Podman é um substituto do Docker. Ele consegue executar contêineres sem a necessidade de ter um serviço podman em execução, o que desonera a carga no servidor. Também temos a vantagem do mesmo ser 100% compatível com o Docker, o que deixa a transição ainda mais fácil.
A primeira coisa que se deve fazer é atualizar o sistema operacional.
sudo apt update
Agora instale o Podman e seus requisitos:
sudo apt install podman python3-pip
sudo pip3 install podman-compose
Da parte do SO é apenas isso. No próximo passo iremos ver como instalar o OCS utilizando a imagem Docker oficial.
Por natureza contêiners são efêmeros. Seus dados se perdem quando os mesmos são desativados, e isso é bom sob uma perspectiva de consistência de software. Porém, definitivamente isso não é bom para aplicações que precisam manter dados armazenados.
A persistência de dados garantirá que todas as informações registradas no OCS não irão se perder.
A imagem oficial do OCS já cria volumes persistentes, para que os dados não sejam perdidos quando o contêiner for parado.
Para fins de conhecimento (não é necessário fazer isso agora), a operação de criar um volume persistente é bem simples. Basta executar os comandos abaixo.
podman volume create ocsinventory
podman volume ls
podman volume rm ocsinventory
Primeiro, obtenha a configuração da imagem do OCS:
git clone https://github.com/OCSInventory-NG/OCSInventory-Docker-Image
cd OCSInventory-Docker-Image/latest
Substitua o nome das imagens e suas tags no arquivo docker-compose.yml file:
grep image docker-compose.yml
image: ocsinventory/ocsinventory-docker-image:2.11
image : mysql:8.0
image: nginx
sed -i s@image\ :\ mysql:8.0@image:\ docker.io/library/mysql:8.0.32@g docker-compose.yml
sed -i s@image:\ nginx@image:\ docker.io/library/nginx:latest@g docker-compose.yml
sed -i s@image:\ ocsinventory/ocsinventory-docker-image:2.11@image:\ docker.io/ocsinventory/ocsinventory-docker-image:2.11@g docker-compose.yml
Verifique se as substituições foram feitas corretamente:
grep image docker-compose.yml
image: docker.io/ocsinventory/ocsinventory-docker-image:2.11
image: docker.io/library/mysql:8.0.32
image: docker.io/library/nginx:latest
Nota: As substituições acima visam evitar que imagens indesejadas sejam utilizadas. Para fins de segurança, é importante que o registry que deve ser utilizado para fazer o download das imagens seja especificado.
Faça o build do Compose:
sudo TZ=America/Sao_Paulo podman-compose up -d
Muitas mensagens serão exibidas na tela após o comando acima.
Verifique se todos os volumes persistentes foram criados:
sudo podman volume ls
DRIVER VOLUME NAME
local 211_httpdconfdata
local 211_ocsreportsdata
local 211_perlcomdata
local 211_sqldata
local 211_varlibdata
Verifique se os contêiners estão em execução:
sudo podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c49e6d515797 docker.io/library/mysql:8.0.32 mysqld 2 minutes ago Up 2 minutes ago ocsinventory-db
012a434e1b83 docker.io/ocsinventory/ocsinventory-docker-image:2.11 /usr/sbin/apache2... 2 minutes ago Up 2 minutes ago ocsinventory-server
eb21189e45ef docker.io/library/nginx:latest nginx -g daemon o... 2 minutes ago Up 2 minutes ago 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp ocsinventory-proxy
Pronto. OCS online. Foi moleza, não?
Agora é hora de acessar a interface web do OCS!
http://IP-DO-SEU-SERVIDOR/ocsreports/
O primeiro acesso faz algumas críticas. Não se preocupe, pois iremos ajustá-las.
Por hora, apenas clique no botão “Perform the update”. Não faça mais nada, pois precisamos ajustar algumas configurações.
Primeiro, acesse o contêiner do OCS e procure o arquivo php.ini:
sudo podman exec -it ocsinventory-server bash
root@012a434e1b83:/etc/apache2/conf-available# find / -name php.ini 2> /dev/null
/etc/php/8.1/cli/php.ini
/etc/php/8.1/apache2/php.ini
Ajustaremos as variáveis abaixo no arquivo /etc/php/8.1/apache2/php.ini, que é referente ao Apache.
Primeiro, colete os valores originais:
root@012a434e1b83:/etc/apache2/conf-available# egrep "max_execution_time|memory_limit|post_max_size|file_uploads|upload_max_filesize" /etc/php/8.1/apache2/php.ini
max_execution_time = 30
memory_limit = 128M
post_max_size = 8M
file_uploads = On
upload_max_filesize = 2M
A configuração pardão não é ruim, mas precisamos fazer alguns ajustes.
sed -i s@max_execution_time\ =\ 30@max_execution_time\ =\ 300@g /etc/php/8.1/apache2/php.ini
sed -i s@memory_limit\ =\ 128M@memory_limit\ =\ 256M@g /etc/php/8.1/apache2/php.ini
sed -i s@post_max_size\ =\ 8M@post_max_size\ =\ 128M@g /etc/php/8.1/apache2/php.ini
sed -i s@upload_max_filesize\ =\ 2M@upload_max_filesize\ =\ 64M@g /etc/php/8.1/apache2/php.ini
O resultado final deve ser semelhante a este:
max_execution_time = 300
memory_limit = 256M
post_max_size = 128M
file_uploads = On
upload_max_filesize = 64M
Faça um restart do OCS para que as alterações entrem em vigor:
sudo podman restart ocsinventory-server
sudo podman restart ocsinventory-proxy
A configuração do OCS é feita via navegador web.
Vá para http://IP-DO-SEU-SERVIDOR/ocsreports/
.
O login padrão é admin/admin. Certifique-se de alterá-la já no primeiro acesso!
Após logar, crie uma conta de usuário para fazer o registro dos ativos. Vá para:
Configuration > Users > Create User
Crie uma conta nomeada ocs com a senha inventory, e perfil Administrator.
OBS: Este é apenas um exemplo. Consulte a documentação sobre como criar roles mais restritivas que podem ser utilizadas para registrar ativos no OCS.
A adição de ativos precisa de agentes. Os agentes podem ser obtidos no site do OCS. Neste exemplo, vou fazer a instalação do agente em um Linux Ubuntu.
No caso do Ubuntu, não é necessário obter manualmente o agente. Basta instalar o mesmo via APT.
apt install ocsinventory-agent
Durante a instalação, selecione http method e informe a URL do OCS:
http://IP-DO-SEU-SERVIDOR/ocsinventory
Nota: A configuração do servidor ficará armazenada no arquivo:
/etc/ocsinventory/ocsinventory-agent.cfg
Algumas customizações podem ser feitas neste arquivo.
Exemplo:
sudo cat /etc/ocsinventory/ocsinventory-agent.cfg
server=http://<SEU-IP>/ocsinventory
basevardir = /var/lib/ocsinventory-agent
tag = ocs.homelabs.net
logger = Stderr
logfile = /var/log/ocsinventory-client/ocsinventory-agent.log
Execute manualmente o agente para fazer a primeira coleta:
sudo ocsinventory-agent
Após a coleta, vá para o OCS e clique em All computers.
Por padrão, o agente OCS é configurado para se comunicar com o servidor uma vez por dia através de um cron job diário.
A configuração do job fica armazenada no arquivo /etc/cron.daily/ocsinventory-agent
.
O OCS suporta inúmeros plugins, que aumentam sua capacidade de trabalhar os dados inventariados.
Existem ferramentas comerciais no mercado que se propõe a fazer a mesma coisa que o OCS. No entanto, devido ao elevado custo, o OCS continua sendo uma excelente solução para quem precisa manter controle sobre seu inventário de hardware e software.
Gostou do que encontrou aqui? A cada clique em um banner, você ajuda a manter este site vivo e gratuito. Seu apoio faz toda a diferença para que possamos continuar trazendo conteúdos que você adora. Muito obrigado! 😊