Patchmon

De Wiki Projeto Root
Revisão de 10h50min de 22 de agosto de 2026 por Diegocosta (discussão | contribs) (→‎Atualizar)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Sobre

Olá! Visitante, reunimos aqui, informações sobre a ferramenta PatchMon sendo uma ferramenta de gerenciamento e monitoramento de atualizações de sistemas operacionais. Seu objetivo é centralizar a identificação, o acompanhamento e a aplicação de atualizações em servidores e máquinas Linux, permitindo que a equipe de TI tenha uma visão consolidada do estado de atualização dos ativos.

Em ambientes com diversos servidores, acompanhar manualmente quais máquinas possuem pacotes desatualizados pode se tornar trabalhoso e sujeito a falhas. O PatchMon permite automatizar parte desse processo, facilitando a identificação de atualizações pendentes e o gerenciamento dos hosts a partir de uma interface centralizada.

Site Oficial: https://patchmon.net/

Vídeo

https://youtu.be/HmPwT7DBuFc

Instalação do Docker no Debian 13

Este documento apresenta o processo de instalação do PatchMon utilizando Docker em um servidor com Debian 13.

O procedimento contempla a instalação do Docker CE, configuração do usuário para execução do Docker sem root, instalação do PatchMon, configuração do CORS e inclusão do próprio servidor como um host monitorado.

Pré-requisitos

Antes de iniciar, certifique-se de que:

  • O sistema operacional utilizado é o Debian 13.
  • O servidor possui acesso à Internet.
  • O usuário utilizado possui privilégios administrativos.
  • O Docker será executado pelo usuário local, sem a necessidade de utilizar root.
  • A porta TCP 3000 está disponível para o PatchMon.
  • O endereço IP do servidor é conhecido.

1. Adicionar o usuário aos grupos sudo e docker

Para executar o Docker sem utilizar root, o usuário que executará os comandos deve pertencer aos grupos sudo e docker.

Neste exemplo, o usuário utilizado é diegocosta.

Yellowpin.svg Nota: Substitua diegocosta pelo nome do usuário existente no seu servidor.
usermod -aG sudo diegocosta
usermod -aG docker diegocosta

O grupo sudo permite que o usuário execute comandos administrativos utilizando sudo, enquanto o grupo docker permite executar comandos do Docker sem utilizar diretamente a conta root.

2. Instalar o Docker CE

A instalação será realizada utilizando o repositório oficial do Docker para Debian.

Primeiro, instale os pacotes necessários:

apt install -y sudo ca-certificates curl

Crie o diretório utilizado para armazenar a chave do repositório:

sudo install -m 0755 -d /etc/apt/keyrings

Baixe a chave GPG oficial do Docker:

sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc

Ajuste as permissões da chave:

sudo chmod a+r /etc/apt/keyrings/docker.asc

Adicione o repositório oficial do Docker:

sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

Atualize a lista de pacotes:

sudo apt update

Instale os componentes necessários:

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3. Testar o Docker

Antes de instalar o PatchMon, confirme se o Docker está funcionando corretamente.

docker version

Também é possível executar um container de teste:

docker run hello-world

Se o container for executado corretamente, o ambiente Docker está pronto para receber o PatchMon.

4. Instalar o PatchMon

Crie o diretório que será utilizado para armazenar os arquivos do PatchMon:

mkdir patchmon && cd patchmon

Execute o script oficial de preparação do ambiente Docker disponibilizado pelo projeto:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/PatchMon/PatchMon/refs/heads/main/docker/setup-env.sh)"

O script irá preparar os arquivos necessários para execução do PatchMon através do Docker Compose.

5. Configurar o CORS

Antes de iniciar os containers, é necessário ajustar a configuração do CORS.

O PatchMon utiliza a variável CORS_ORIGIN para definir as origens autorizadas.

Edite o arquivo .env:

nano /home/diegocosta/patchmon/.env

Localize a variável:

CORS_ORIGIN=

Adicione o endereço IP do servidor na porta 3000.

Exemplo:

CORS_ORIGIN=http://192.168.1.100:3000
Yellowpin.svg Nota: Substitua 192.168.1.100 pelo endereço IP real do servidor onde o PatchMon está instalado.

Caso já existam outras origens configuradas na variável, mantenha-as e adicione o novo endereço separado por vírgula.

Exemplo:

CORS_ORIGIN=http://localhost:3000,http://192.168.1.100:3000

A configuração do CORS deve ser realizada antes da inicialização dos containers.

6. Inicializar o PatchMon

Com a configuração concluída, permaneça no diretório do PatchMon:

cd ~/patchmon

Inicie os containers:

docker compose up -d

Verifique os containers em execução:

docker compose ps

Os containers necessários para o funcionamento do PatchMon deverão aparecer como running.

Também é possível verificar todos os containers Docker:

docker ps

7. Primeiro acesso ao PatchMon

Acesse o PatchMon através do navegador utilizando o endereço IP do servidor.

Exemplo:

http://192.168.1.100:3000

Substitua o endereço IP pelo endereço configurado no servidor.

Após o acesso, realize a configuração inicial da aplicação conforme solicitado pelo PatchMon.

8. Adicionar o próprio servidor como Host

Como o PatchMon está sendo executado em Docker, o próprio servidor pode ser adicionado como um host utilizando o agente em modo Docker.

No menu lateral do PatchMon, acesse:

Hosts
  |
  +-- Add Host

Selecione:

  • Sistema operacional: Linux
  • Friendly Name: Patchmon
  • Tipo: Docker

Após preencher as informações, utilize a opção Copy command.

O PatchMon irá gerar um comando específico para instalação e registro do agente.

Cole o comando no terminal do próprio servidor onde o PatchMon está instalado e execute-o.

Após a execução, o agente deverá estabelecer comunicação com o servidor PatchMon.

A integração pode ser verificada através da área Hosts ou diretamente no dashboard.

9. Testar o gerenciamento de atualizações

Com o host adicionado, podemos verificar quais versões de pacotes estão disponíveis para atualização.

Como exemplo, podemos consultar a versão disponível do OpenSSL:

apt-cache madison openssl

O comando exibirá as versões disponíveis do pacote nos repositórios configurados.

Para instalar uma versão específica, utilize:

sudo apt install openssl=3.5.5-1~deb13u2
Yellowpin.svg Nota: A versão apresentada neste exemplo pode mudar conforme os repositórios e atualizações disponíveis. Utilize uma versão efetivamente disponível no seu ambiente.

10. Configurar o intervalo de atualização

Por padrão, o job responsável pela verificação de atualizações é executado periodicamente.

A frequência pode ser alterada diretamente pela interface do PatchMon.

Acesse:

Settings
  |
  +-- Agent Updates

Defina o intervalo desejado.

Para ambiente de testes, por exemplo, pode ser utilizado um intervalo de 5 minutos.

Depois de alterar o intervalo, utilize Save and Deploy.

A configuração será aplicada aos agentes.

11. Aguardar a execução do agente

Após realizar a configuração, aguarde alguns minutos para que o agente execute o próximo ciclo de verificação.

Em um ambiente configurado para execução a cada 5 minutos, normalmente será necessário aguardar aproximadamente 5 a 10 minutos para visualizar os resultados.

Após esse período, verifique novamente o host no PatchMon.

12. Verificações finais

Após a instalação, recomendamos verificar:

docker ps

Verificar o status dos containers:

docker compose ps

Verificar os logs caso exista algum problema:

docker compose logs

Para acompanhar os logs em tempo real:

docker compose logs -f

Atualizar

Para atualizar a versão do Patchmon, basta seguir os passos abaixo:

Yellowpin.svg Nota: Altere /home/diegocosta/patchmon para o destino onde colocou os arquivos docker-compose.yml e .env
cd /home/diegocosta/patchmon/
docker compose pull
docker compose up -d

Desta forma o comando docker compose pull baixa as imagens Docker mais recentes definidas no seu docker-compose.yml, mas não recria nem reinicia os containers.

Em seguida, o comando docker compose up -d verifica o estado dos serviços e cria ou recria os containers necessários. Caso alguma imagem tenha sido atualizada pelo pull, o serviço correspondente será recriado para utilizar a nova versão.

Conclusão

Com os procedimentos apresentados neste documento, o PatchMon estará instalado em um servidor Debian 13 utilizando Docker.

O ambiente também estará preparado para:

  • Gerenciar hosts Linux.
  • Executar o agente utilizando Docker.
  • Identificar atualizações disponíveis.
  • Realizar atualizações através do PatchMon.
  • Acompanhar o estado dos hosts através do dashboard.
  • Configurar a frequência de execução dos agentes.

Para ambientes de produção, recomenda-se validar previamente as configurações em um ambiente de homologação, principalmente os procedimentos de atualização automática e os intervalos de execução dos agentes.