Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

patchmon

Ajustes e Configurações para o software.

Scripts de auto-enroll

Para funcionar de maneira automática tanto o LXC como para VM, é necessário colocar na Cron conforme o exemplo:

root@pve:~# cat /etc/crontab

...

*/5 * * * * root /root/patchmon_lxc_autoenroll_cron.sh

*/5 * * * * root /root/patchmon_vm_autoenroll_cron.sh

...

Projeto Oficial:

https://github.com/PatchMon/PatchMon

Comparação: Auto-Enrollment Oficial do PatchMon vs Script Proxmox do Projeto Root

Característica Script oficial do PatchMon Script Proxmox personalizado
Auto-Enrollment ✅ Sim ✅ Sim
Instalação automática do Agent ✅ Sim ✅ Sim
Descoberta automática de LXC ✅ Sim, no fluxo Proxmox LXC oficial ✅ Sim
Descoberta automática de VMs ❌ Não é o foco ✅ Sim
Integração com Proxmox ✅ Para LXC ✅ LXC + VM
Uso de pct ✅ ✅
Uso de qm ❌ ✅
Uso do QEMU Guest Agent ❌ Não é o foco do script LXC ✅ Sim
Execução dentro do LXC ✅ ✅ pct exec
Execução dentro da VM ❌ ✅ qm guest exec
Detecta VMID/CTID ⚠️ Não como principal mecanismo de identificação ✅ Sim
Detecta hostname ✅ ✅
Detecta IP ✅ ✅
Detecta arquitetura ✅ ✅
Detecta SO(Windows) ❌ Não é o foco do script ✅
Detecta Machine ID ✅ ✅
Detecta Proxmox Node ⚠️ Limitado ✅
Friendly Name personalizado ✅ Prefixo/configuração oficial ✅ Totalmente personalizado
Friendly Name LXC Exemplo: prod-web CT-214-web
Friendly Name VM Não aplicável ao script LXC VM-104-Debian
Instala curl ✅ Pelo instalador ✅ Verificado antes
Instala cron ⚠️ Não é o foco ✅ LXC
Instala procps ⚠️ Depende do sistema ✅ LXC
Verifica pgrep Depende do instalador ✅
Detecta systemd ✅ ✅
Suporte a OpenRC Depende da distribuição ✅
Suporte a Supervisor Não é o foco principal ✅
LXC sem systemd ⚠️ Pode apresentar limitações ✅ Tratado
Inicialização manual do Agent ❌ Não é o foco ✅
Wrapper para Agent ❌ ✅
Verifica se Agent já está instalado ✅ ✅
Verifica se Agent está executando ✅/depende do fluxo ✅
Testa patchmon-agent ping ✅ ✅
Reinicia Agent parado Depende do sistema ✅
Evita reinstalação desnecessária ✅ ✅
Tratamento de HTTP 409 Conforme implementação oficial ✅
Log centralizado no Proxmox ❌ ✅
Execução via cron ✅ Pode ser configurada ✅
Execução periódica para novos LXC ✅ ✅
Execução periódica para novas VMs ❌ ✅
Controle centralizado pelo Proxmox ⚠️ Parcial ✅
Suporte específico a ambiente Proxmox ✅ LXC ✅ LXC + VM
Complexidade 🟢 Baixa 🟡 Média
Personalização 🟡 Média 🟢 Alta
Controle operacional 🟡 Médio 🟢 Alto
Portabilidade 🟢 Alta 🔴 Baixa
Manutenção do código 🟢 Baixa 🟡 Maior
Dependência do Proxmox 🟡 Parcial 🔴 Alta
Compatibilidade futura com PatchMon 🟢 Melhor 🟡 Requer acompanhamento
Compatibilidade futura com Proxmox 🟢 Não depende diretamente 🟡 Requer acompanhamento
Adequado para poucos hosts ✅ Excelente ✅
Adequado para muitos LXC ✅ ✅ Excelente
Adequado para muitas VMs ⚠️ Requer automação adicional ✅ Excelente
Adequado para ambiente altamente personalizado 🟡 ✅ Excelente

Principais vantagens do script oficial

Ponto Descrição
Manutenção É mantido pelo projeto PatchMon
Compatibilidade Acompanha a implementação oficial do Agent e Auto-Enrollment
Simplicidade Menos código e menos componentes
Portabilidade Não depende diretamente da estrutura interna do Proxmox
Atualizações Menor necessidade de alterações locais
Dry Run Disponível no fluxo oficial
Force Install Disponível no fluxo oficial
Documentação É o método recomendado pela documentação do PatchMon

Principais vantagens do script Projeto Root

Ponto Descrição
Descoberta automática Detecta LXC e VMs diretamente no Proxmox
VMID/CTID Usa o ID do recurso como parte da identificação
Friendly Name Padroniza nomes como CT-214-web e VM-104-Debian
Dependências Pode preparar automaticamente curl, cron e procps
Recuperação Pode detectar e iniciar Agent parado
LXC sem systemd Possui tratamento específico
VMs Usa QEMU Guest Agent para administrar VMs
Centralização Um único nó Proxmox pode administrar o processo
Automação Adequado para execução periódica
Customização O comportamento pode ser adaptado ao ambiente

Principais desvantagens do script oficial

Ponto Impacto
Menor integração com Proxmox Não administra diretamente todos os recursos do host
VMs O fluxo oficial de LXC não resolve automaticamente o gerenciamento das VMs
Customização Menor liberdade para adaptar o comportamento
Friendly Name Menos específico para a estrutura Proxmox
LXC especiais Containers sem systemd podem exigir tratamento adicional
Recuperação Depende mais da configuração do sistema operacional

Principais desvantagens do script Projeto Root

Ponto Impacto
Manutenção própria O script precisa ser acompanhado
Mudanças na API Alterações futuras do PatchMon podem exigir ajustes
Mudanças no Proxmox Alterações em pct, qm ou QEMU Guest Agent podem exigir ajustes
Complexidade Mais código e mais cenários para tratar
Dependência do Proxmox Não é uma solução portátil
Segurança As credenciais de Auto-Enrollment precisam ser protegidas no Proxmox
Testes Novas versões do PatchMon devem ser validadas

Fluxo do script oficial

Sistema operacional
        |
        v
Instalador PatchMon
        |
        v
Auto-Enrollment
        |
        v
PatchMon
        |
        v
PatchMon Agent

Fluxo do script Projeto Root

                           PROXMOX
                              |
                    +---------+---------+
                    |                   |
                   LXC                 VM
                    |                   |
                 pct list            qm list
                    |                   |
                    v                   v
              Identifica CT        Identifica VM
                    |                   |
                    +---------+---------+
                              |
                              v
                     Recurso está ativo?
                              |
                    +---------+---------+
                    |                   |
                   NÃO                 SIM
                    |                   |
                  Ignora                v
                                Verifica acesso
                              +---------+---------+
                              |                   |
                           Falha               Sucesso
                              |                   |
                            Loga                  v
                                              Coleta dados
                                                  |
                                +-----------------+-----------------+
                                |                 |                 |
                            Hostname              IP           Machine ID
                                |                 |                 |
                                +-----------------+-----------------+
                                                  |
                                                  v
                                          Detecta arquitetura
                                                  |
                                                  v
                                        Verifica PatchMon Agent
                                                  |
                                  +---------------+---------------+
                                  |                               |
                               Instalado                      Não instalado
                                  |                               |
                                  v                               v
                         Agent está executando?          Verifica dependências
                                  |                               |
                       +----------+----------+            +-------+-------+
                       |                     |            |       |       |
                      SIM                   NÃO         curl    cron    procps
                       |                     |            |       |       |
                       v                     v            +-------+-------+
                 Executa ping           Inicia Agent              |
                       |                     |                    v
                       |                     |             Auto-Enrollment
                       |                     |                    |
                       |                     |                    v
                       |                     |             Recebe API ID
                       |                     |             + API Key
                       |                     |                    |
                       |                     |                    v
                       |                     |             Instala Agent
                       |                     |                    |
                       |                     |                    v
                       |                     |             Verifica instalação
                       |                     |                    |
                       +-----------+---------+--------------------+
                                   |
                                   v
                            Agent está ativo?
                                   |
                          +--------+--------+
                          |                 |
                         NÃO               SIM
                          |                 |
                          v                 v
                        Loga          Testa comunicação
                                            |
                                   +--------+--------+
                                   |                 |
                                  Falha             OK
                                   |                 |
                                   v                 v
                           Tenta recuperação     Host operacional
                                   |                 |
                                   +--------+--------+
                                            |
                                            v
                                       PatchMon

About

Ajustes e Configurações para o software.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages