Infraestrutura em VM
Kmind Agent para VM Linux
Monitore servidores Linux com metricas do host, servicos systemd e logs de aplicacao. O agente envia dados apenas para o Gateway Kmind e continua sem interferir no funcionamento da VM quando a telemetria falha.
O que o agente coleta
- CPU, memoria, swap, carga, discos e sistemas de arquivos da VM.
- CPU, memoria, processos e I/O de servicos gerenciados pelo systemd.
- Linhas novas de arquivos de log configurados, com limites de leitura e redacao de dados sensiveis.
Antes de instalar
- VM Linux 64 bits com systemd, cgroups e acesso HTTPS ao Gateway Kmind.
- Distribuicao Debian/Ubuntu para pacote
.deb, ou Amazon Linux, RHEL, Rocky, AlmaLinux, CentOS Stream e similares para.rpm. - Uma integracao Agent Linux criada para o cluster e servico corretos, com a chave privada
kma_....
kmw_ ou kms_ no agente: ele aceita somente a chave privada kma_....1. Crie a integracao
- Selecione o cluster do tipo VM / Agent no Console Kmind.
- Cadastre a integracao Agent Linux associada ao servico que representa esta VM.
- Copie a chave
kma_...exibida no final do cadastro. Ela nao pode ser visualizada novamente.
2. Instale o pacote
Baixe a versao e arquitetura corretas na pagina de Releases do projeto Kmind Agent Linux. Verifique o arquivo checksums.txt antes de instalar.
Ubuntu e Debian
sha256sum -c checksums.txt --ignore-missing
sudo dpkg -i ./kmind-agent_<versao>_linux_amd64.debAmazon Linux, RHEL e derivados
sha256sum -c checksums.txt --ignore-missing
sudo rpm -Uvh ./kmind-agent_<versao>_linux_amd64.rpmTroque amd64 por arm64 em VMs ARM. O pacote cria o usuario de sistema sem login kmind-agent, a configuracao e a unidade systemd.
3. Configure a VM
Edite o arquivo instalado e substitua somente a chave e os nomes que identificam a sua VM e aplicacao.
sudoedit /etc/kmind-agent/config.yaml
sudo chown kmind-agent:kmind-agent /etc/kmind-agent/config.yaml
sudo chmod 600 /etc/kmind-agent/config.yamlkmind:
# Chave privada exibida uma unica vez ao criar a integracao no Console.
apiKey: "kma_COLE_A_SUA_CHAVE_AQUI"
serviceName: "billing-vm"
applicationName: "erp"
endpoint: "https://ingest.kmind.com.br"
statusEndpoint: "https://ingest.kmind.com.br/v1/agent/status"
collection:
interval: 90s
hostMetrics:
enabled: true
services:
enabled: true
mode: systemd
include: []
exclude: ["user-*.service"]
maxServices: 200
logs:
enabled: true
paths: ["/var/log/minha-aplicacao/**"]
exclude: ["/var/log/minha-aplicacao/**/*.gz"]
startAt: end
maxLineSize: 262144
maxFiles: 128
maxBytesPerSecond: 262144
maxFileBytesPerSecond: 65536
redactSensitiveData: true
redactPatterns: []
limits:
memoryBufferBytes: 2097152
maxMemoryBufferBytes: 5242880
maxBatchBytes: 524288
requestTimeout: 5sserviceName identifica o servico operacional no Kmind. applicationName identifica a aplicacao executada naquela VM. Use nomes estaveis, como checkout-vm-01 e checkout-api.
hostMetrics, a coleta de collection.logs nao vem habilitada por padrao. Se essa secao estiver ausente ou incompleta no arquivo, o agente inicia normalmente e continua enviando metricas do host sem nenhum erro visivel, mas nunca le nenhum arquivo de log. Mantenha collection.logs.enabled: true e a lista de paths sempre presentes, mesmo ao copiar apenas parte deste exemplo.4. Inicie e valide
sudo systemctl enable --now kmind-agent
sudo systemctl status kmind-agent --no-pager
sudo journalctl -u kmind-agent -n 100 --no-pager- Confirme que o servico esta como
active (running). - Aguarde um intervalo de coleta, normalmente 90 segundos.
- No Console Kmind, abra Infraestrutura e Logs Explorer, filtrando pelo cluster e servico configurados.
Logs com acesso minimo
O agente nao entra em grupos amplos como adm. De acesso apenas ao diretorio e arquivo que devem ser monitorados.
# Exemplo para /var/log/minha-aplicacao/application.log
sudo setfacl -m u:kmind-agent:rx /var/log/minha-aplicacao
sudo setfacl -m u:kmind-agent:r /var/log/minha-aplicacao/application.log
# Garanta que arquivos criados pela rotacao tambem possam ser lidos.
sudo setfacl -d -m u:kmind-agent:rx /var/log/minha-aplicacaoAtualize tambem a regra do logrotate quando ele substituir arquivo e permissoes. O agente nao segue links simbolicos, ignora arquivos comprimidos e inicia no fim de arquivos ja existentes para nao reenviar historico.
Privacidade, limites e configuracao avancada
A redacao e obrigatoria quando logs estao ativos. Senhas, tokens, Authorization, cookies, JWTs, chaves privadas, CPF, email e cartao sao mascarados antes de entrarem na fila de envio.
collection:
logs:
enabled: true
paths: ["/var/log/minha-aplicacao/**"]
maxFiles: 64
maxBytesPerSecond: 131072
maxFileBytesPerSecond: 32768
redactSensitiveData: true
redactPatterns:
- "customer_id=[^ ]+"
- "document=[0-9.-]+"Prefira reduzir o conjunto de arquivos e aplicar regras de redacao especificas da aplicacao. Nao use caminhos amplos quando somente um diretorio e necessario.
Desempenho e seguranca
O agente usa fila em memoria limitada, timeout curto e circuit breaker para telemetria. Quando o Gateway estiver indisponivel ou a chave for desativada, ele pausa a coleta e descarta telemetria antes de consumir memoria ou bloquear a aplicacao monitorada.
Ele nao abre portas, nao executa comandos remotos e nao se conecta diretamente ao Loki ou VictoriaMetrics. A unidade systemd usa usuario dedicado, nenhuma capability Linux e sandbox de sistema de arquivos.
Troubleshooting
Servico nao inicia
Execute sudo journalctl -u kmind-agent -n 100 --no-pager. Confirme que o arquivo existe, esta em /etc/kmind-agent/config.yaml, possui permissao 600 e contem uma chave kma_... ativa.
Metricas nao aparecem
Confirme a conectividade HTTPS com o Gateway, o nome do cluster, o servico e a chave cadastrada. Aguarde duas coletas para metricas que dependem de taxa.
Logs aparecem vazios
Primeiro confirme que collection.logs.enabled: true esta mesmo no arquivo aplicado na VM: essa secao nao tem valor padrao, entao um arquivo sem ela roda sem erro e nunca coleta log nenhum, mesmo com metricas chegando normalmente. Depois verifique se o usuario kmind-agent tem permissao de leitura no arquivo. Somente linhas novas sao enviadas; gere uma nova linha de teste apos iniciar o agente.
Um servico systemd nao aparece
Confirme que ele esta ativo, termina em .service e nao foi excluido. Use include para limitar a coleta, por exemplo ["billing-*.service"].
Atualizar e remover
# Atualizacao Debian ou Ubuntu
sudo dpkg -i ./kmind-agent_<nova-versao>_linux_amd64.deb
# Atualizacao RPM
sudo rpm -Uvh ./kmind-agent_<nova-versao>_linux_amd64.rpm
# Remocao: a configuracao e a identidade da instalacao sao preservadas.
sudo apt remove kmind-agent
# ou
sudo rpm -e kmind-agentPara remover permanentemente uma VM, primeiro revogue a chave no Console. Depois pare e remova o pacote. Apague /etc/kmind-agent e /var/lib/kmind-agent apenas se a instalacao nao sera mais usada.
Precisa instrumentar uma API dentro desta VM? Combine o Agent para a visao de infraestrutura com o APM Node para traces e logs de aplicacao.
