Este guia descreve os passos para configurar o rastreamento automático de aplicações PHP. O processo se adapta automaticamente de acordo com a versão do PHP presente na máquina ou container.
A instalação pode ser realizada tanto em ambientes virtuais (VM) quanto em containers Docker.
✅ Pré-requisitos #
- PHP instalado (versão 7.x ou 8.x)
- Acesso à internet (para baixar pacotes)
composer
instalado (em ambientes PHP 8.x)- Permissão de root (ou sudo)
🛠️ Etapas de instalação #
1. Baixar e executar o instalador automático
Execute o seguinte comando no terminal da VM ou dentro do container:
# DOCKER
RUN curl -sSL https://raw.githubusercontent.com/fcconsultoria/apm/refs/heads/main/apm/install-observability.sh | bash
# VM
https://raw.githubusercontent.com/fcconsultoria/apm/refs/heads/main/apm/install-observability.sh | bash
Este script detecta automaticamente a versão do PHP e instala os componentes necessários para habilitar o rastreamento da aplicação.
⚙️ Configuração das variáveis de ambiente #
Após a instalação, é necessário configurar variáveis de ambiente para que o rastreamento funcione corretamente.
Para ambientes com PHP 8.x:
Adicione as seguintes variáveis ao ambiente (por exemplo, em /etc/environment
, .env
, ou diretamente no serviço):
OTEL_PHP_AUTOLOAD_ENABLED=true
OTEL_SERVICE_NAME=asasaude-app01-ultrax_app_stack_job-legacy
OTEL_TRACES_EXPORTER=otlp
OTEL_EXPORTER_OTLP_ENDPOINT=https://trace.kmind.com.br
OTEL_EXPORTER_OTLP_HEADERS=X-Scope-OrgID="TENANT_NUMBER"
OTEL_PROPAGATORS=baggage,tracecontext
Para ambientes com PHP 7.x:
Adicione as variáveis abaixo ao ambiente:
DD_TRACE_AGENT_URL=https://trace.kmind.com.br
DD_SERVICE=asasaude-app01-ultrax_app_stack_job-legacy.n.TENANT_NUMBER
DD_ENV=production
DD_VERSION=1.0
DD_AUTOINSTRUMENT="true"
DD_TRACE_DEBUG=0
⚠️ O valor da variável OTEL_SERVICE_NAME (ou DD_SERVICE) deve seguir o padrão: nome-da-vm_nome-do-container.n.TENANT_NUMBER
Exemplo: asasaude-app01-ultrax_app_stack_job-legacy.n.3
🔢 O valor do TENANT_NUMBER é um número único de identificação fornecido pela equipe da Kmind.
Caso ainda não tenha recebido esse valor, entre em contato com nosso suporte.
🔁 Reiniciar o serviço #
Após a configuração, reinicie o serviço PHP ou o container da aplicação para que as mudanças entrem em vigor.
📌 Observações #
- O processo é automatizado e não requer intervenção para escolher qual biblioteca será usada internamente.
- Toda a instrumentação é feita de forma não invasiva, sem necessidade de alterar o código da aplicação.
- Logs de rastreamento podem ser visualizados na plataforma Kmind Trace após a execução da aplicação.