preloader
  • Início
  • OCS Inventory no Ubuntu 22.04 LTS com Docker

Gerenciamento de inventário de hardware e software

blog-thumb

O Open computers and software inventory como solução de gerenciamento de ativos de TI.

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.

Software do OCS

Existem 2 formas de implementar o OCS:

  • – Pacotes Linux
  • – Contêineres

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.

Podman

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.

Preparando o Sistema Operacional

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.

Volume Persistente

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 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


Instalando o OCS via Docker Image

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 todas as operações ocorreram sem erros (exit 0).

Podman Compose Up



MySQL Container

MySQL



OCS Inventory Container

MySQL



NGINX Container

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/

OCS First Use

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.

Ajustando Variáveis

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



Configuração do OCS

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.

Adicionando 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.

OCS Dashboard

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.

Plugins

O OCS suporta inúmeros plugins, que aumentam sua capacidade de trabalhar os dados inventariados.

OCS Plugins



Fim

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.



Pode ajudar?

Por favor apóie este conteúdo clicando em um banner de nossos anunciantes. ❤️

comments powered by Disqus