Patchmon
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
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.
| 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
| 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
| 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:
| 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.