Instalação do agente de trace – PHP

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.