Surveillance de PHP

Grâce à l' Instana, vous bénéficiez d'une visibilité de bout en bout sur votre environnement d' PHP. Cela vous aide à identifier rapidement les goulots d'étranglement et à optimiser les performances de vos applications.

Pour commencer, installez l 'agent hôte d' Instana. L'agent déploie automatiquement le capteur et le traceur d' PHP s dans votre environnement, ce qui permet de collecter des métriques et des traces en temps réel que vous pouvez consulter dans l'interface utilisateur d' Instana. Pour les applications d' PHP s qui s'exécutent sur AWS Fargate, consultez la page AWS Fargate.

Versions prises en charge

Plateformes prises en charge

Le capteur « PHP » prend en charge les plateformes suivantes :

  • Linux ( x86_64 et aarch64 )
  • Windows (x86_64)
  • AWS Fargate (Linux)
  • Kubernetes (Linux)
  • Docker (Linux)
  • Podman (Linux)

Versions d' PHP prises en charge

Le tableau suivant présente les versions d' PHP. prises en charge par le capteur PHP :

Version PHP Architecture de l'unité centrale C bibliothèque standard Sécurité des threads Zend (ZTS) Politique de support Type de support
PHP 8.1 - PHP 8.5 aarch64 2.17 de glibc+, musl NTS, ZTS 0 jour Disponibilité générale
PHP 8.1 - PHP 8.5 x86-64 2.12 de glibc+, musl NTS, ZTS 0 jour Disponibilité générale
PHP 8.1 - PHP 8.5 x86-64 UCRT NTS, ZTS 0 jour Disponibilité générale
PHP 7.2 - PHP 8.0 aarch64 2.17 de glibc+, musl NTS, ZTS 0 jour Fin de vie
PHP 5.3 - PHP 8.0 x86-64 2.12 de glibc+, musl NTS, ZTS 0 jour Fin de vie

Politique de dépréciation

Instana déclassera les versions mineures d' PHP. à leur date officielle de fin de vie (EOL) et continuera à les prendre en charge pendant un an. Passé ce délai, les anciennes versions d' PHP Tracer restent disponibles, mais ne font plus l'objet d'aucune mise à jour. Pour améliorer les performances et la sécurité, effectuez une mise à niveau à partir des versions arrivées en fin de vie. Pour plus d'informations, voir Versions prises en charge et Branches non prises en charge.

L'annonce initiale est disponible à la rubrique « Fonctionnalités obsolètes et supprimées ».

PHP Tableau de compatibilité entre le runtime et Tracer d' PHP

Le tableau suivant répertorie les versions d'exécution d' PHP, la dernière version compatible d' PHP Tracer pour chacune d'entre elles, ainsi que le statut de prise en charge correspondant d' PHP Tracer :

Version PHP PHP Version Tracer Type de support de traçage
PHP 8.1-8.5 Le plus récent Soutien actif
PHP 7.0-8.0 4.7.3 Fin de la maintenance
PHP 5.x 1.19.0 Fin de la maintenance

SAPI SAP d' PHP s prises en charge

Le tableau suivant présente les interfaces de programmation d'applications (SAPI) d' PHP Server prises en charge par le capteur PHP pour les données de configuration, les métriques et le traçage :

API serveur (SAPI) Type de support Systèmes d'exploitation (SE)
Apache2 avec mod_php Disponibilité générale Linux, Windows
Interface CLI Expérimental Linux
PHP-CGI Disponibilité générale Linux, Windows
PHP-FPM Disponibilité générale Linux
PHP -FCGI avec IIS Disponibilité générale Windows

Instana peut fournir des informations de traçage pour l'interface CLI si vous configurez l'extension de traçage avec l'indicateur instana.enable_cli = 1 défini dans zzz-instana-extras.ini le fichier, comme décrit dans la section sur l'extension de traçage de l' PHP. Cependant, comme les requêtes CLI sont généralement de courte durée, Instana ne peut pas les relier au Dynamic Graph. Par conséquent, vous pouvez voir la trace, mais vous ne pouvez pas obtenir d'informations sur les services ou l'infrastructure connectés. Vous devez également installer l'extension de trace. Pour plus d'informations, consultez l' extension de traçage PHP. Vous devrez peut-être créer manuellement zzz-instana.ini un fichier pour l'interface de ligne de commande d' PHP. Pour obtenir de l'aide concernant la configuration du traçage CLI, veuillez contacter le service d'assistance d' IBM.

Paquets de compositeurs pris en charge

Le tableau suivant présente les paquets de composition pris en charge par le capteur « PHP » :

Nom du package Politique de support Versions prises en charge
gâteauphp/gâteauphp A la demande 3.10.5, 4.3.11, 5.2.13 et 5.3.6
Couchbase/couchbase 45 jours 4.5.0
Drupal/noyau 45 jours 8.9.20, 9.5.11, 10.6.10 et 11.3.11
recherche élastique/recherche élastique 45 jours v6.7.2, v7.11.0, v7.17.2, v8.17.1 et v9.4.0
google/cloud-pubsub 45 jours v1.41.1, v1.51 et v2.19.3
johnpbloch/wordpress 45 jours 7.0.0
laminas/laminas-mvc 45 jours 3.1.1, 3.3.5, 3.6.1 et 3.8.0
Laravel/framework 45 jours v5.5.50, v5.8.38, v7.30.7, v8.83.29, v9.52.20, v10.50.2, v12.62.0 et v13.15.0
monologue/monologue 45 jours 1.27.1, 2.10.0 et 3.10.0
néos/flux A la demande 5.3.28, 6.3.21, 7.3.19, 8.3.19 et 9.1.1
php-amqplib/php-amqplib 45 jours v3.0.0, v3.5.4 et v3.7.4
prédis/prédis 45 jours v1.1.10 et v3.5.1
ruflin/élastique 45 jours 6.2.1, 7.3.2, 8.1.0 et 9.0.0
symfony/http-kernel 45 jours v3.4.49, v4.4.51, v5.4.48, v6.0.20, v6.4.41, v7.4.13 et v8.1.0
brindille/brindille 45 jours v2.12.5, v2.16.1, v3.11.3 et v3.27.1
yiisoft/yii2 A la demande 2.0.55
zendframework/zendframework Obsolète 3.0.0

Extensions intégrées d' PHP prises en charge

Le module Tracer d' PHP prend en charge le traçage des processus dérivés à l'aide de PCNTL. Lorsqu'un appel à pcntl_fork est détecté, un segment dédié est créé et le processus issu de la bifurcation est instrumenté.

Extensions prises en charge par l' PHP

Le tableau suivant présente les extensions de la norme « PHP » prises en charge par le capteur PHP :

Nom du package Politique de support Versions prises en charge
amqp 45 jours 2.2.0
Cassandra A la demande 1.3.9 (Uniquement sur Linux )
couchbase 45 jours 4.5.0
ibm_db2 45 jours 2.3.1
Memcache A la demande 8.2
memcached A la demande 3.4.0 (Uniquement sur Linux )
MongoDB 45 jours 2.3.3
oci8 A la demande 3.4.0 et 3.4.1
pecl_http 45 jours 4.3.1
redis A la demande 6.3.0
sqlsrv A la demande 5.12.0 et 5.13.0

Limitations

Instana ne prend pas en charge les cas suivants :

  • PHP sur les systèmes « Windows » dotés de l'architecture « aarch64 »
  • PHP fonctionnant sur des conteneurs d' Windows
  • Apache HTTP serveur configuré pour prendre en charge plusieurs versions d' PHP, avec PHP -CGI ou Apache2handler SAPI
  • Plusieurs outils de traçage utilisés simultanément dans PHP, par exemple Instana et des outils de traçage tiers (tels que New Relic, Dynatrace ou Datadog )
  • PHP environnement d'exécution avec les extensions de chargeur ionCube ou SourceGuardian et les fichiers source PHP encodés à l'aide de leurs outils d'encodage respectifs.
  • La gestion de MS SQL sur le système d'exploitation Alpine avec l' PHP, via OpenSSL1.1, n'a pas été testée en raison d'une incompatibilité avec la version d' OpenSSL utilisée par le pilote MSODBC.

L'exécution de l'agent « Instana » sous un utilisateur autre que root présente certaines limitations. Pour plus d'informations, consultez la page « Limites de la surveillance d' PHP s avec un agent non root ».

Configuration du capteur d' PHP

Le capteur PHP est configuré avec des paramètres par défaut appropriés pour que le traçage PHP fonctionne automatiquement dès l'installation de l'agent Instana. Vous pouvez toutefois configurer le capteur via la com.instana.plugin.php section du fichier de configuration.yaml l'agent afin de l'adapter à votre environnement d'exécution PHP.

L'extrait suivant du fichier configuration.yaml d'agent YAML présente les paramètres disponibles pour configurer le capteur PHP :

# PHP Tracing
#com.instana.plugin.php:
#  # Lightweight PHP Tracing. Enabled (true) by default.
#  # PHP tracing is performed by the Instana PHP Tracing extension.
#  tracing:
#    # Enabling tracing (true) will automatically download the Instana PHP Tracing extension
#    # and enable it in the PHP INI configuration.
#    # The PHP runtime will be gracefully restarted if managed by PHP-FPM or Apache
#    # and the extension will be loaded into the PHP runtime. The following PHP runtimes
#    # require a manual restart for the PHP Tracing extension to be loaded into memory:
#    #  - long-running PHP-CGI processes i.e., CGI SAPI
#    #  - pre-forked PHP worker processes
#    #
#    # Disabling tracing (false) will automatically disable the Instana Tracing extension
#    # in the PHP INI configuration. The PHP runtime will be gracefully restarted to
#    # unload the extension from the PHP runtime memory if applicable (see above).
#    # Otherwise, you need to manually restart your PHP runtime to unload the extension.
#    # Disabling tracing implicitly disables profiling.
#    # You can automate the restarts by configuring a custom script. See 'notificationScript'.
#    enabled: true
#    # Whether to install the Instana PHP Tracing extension. Default is true.
#    # When set to false, the Instana PHP Tracing extension will not be enabled in newly
#    # detected PHP runtimes. This setting does not affect the PHP runtimes where
#    # the Instana PHP Tracing extension is already enabled.
#    installExtension: true
#    # The filename to use when querying Apache or PHP-CGI installations for
#    # environment data such as version, architecture, etc. By default, this
#    # is "instana." + Math.random(). + ".php". Uncommenting the setting
#    # below will force a static filename instead.
#    phpInfoFilename: instana.php
#    # Pin the Instana PHP Tracing extension to a specific version.
#    # This can be used to rollback to previous versions of the extension or to test
#    # beta versions (when asked to do so). The version should be provided
#    # in the format major.minory.patch, e.g. 5.1.0
#    # The pinned extension version is automatically installed in the PHP runtime.
#    # See the desciption of 'enabled' flag to know if you need to manually restart
#    # your PHP runtime after pinning the extension version.
#    pinExtensionVersion: x.y.z
#    # The absolute path to an executable shell script (Linux) or powershell script (Windows)
#    # that is to be automatically executed when enabling tracing, pinning extension version
#    # or disabling tracing. You must design this script to restart your PHP runtime so that
#    # the changes made to your PHP INI configuration by the agent are loaded.
#    # Default value is empty.
#    notificationScript: <absolute_path_to_script>
#    ###################################################################################
#    #  NOTE: The following settings are only applicable for PHP 5.x version runtimes
#    ###################################################################################
#    # The number of executor threads to use for processing traces. This setting
#    # can be used to fine tune the PHP sensor for specific load environments.
#    # Defaults to the number of available logical processors or 8 (whichever is less).
#    # In general, you don't need to touch this setting unless advised to do so.
#    executorThreads: n
#    # The maximum number of traces the sensor is allowed to keep in the backlog
#    # for processing. Can be used in conjunction with executorThreads to fine tune
#    # the sensor for specific load environments. In general, you don't need to touch
#    # this setting unless advised to do so. Defaults to 1000.
#    executorQueueLimit: 1000
#    # Port on which the sensor is listening for traces. Changing this setting will
#    # not automatically update any .ini files created for the PHP Tracing extension.
#    # In general, you don't need to touch this setting unless advised to do so.
#    # Defaults to port 16816.
#    port: 16816
#    # Whether to remove values in SQL queries to prevent sensitive data from
#    # reaching our backend. This can help to improve agent performance in certain
#    # setups. In general, you don't need to touch this setting unless advised to do so.
#    sanitizeSql: true
 

Activer les redémarrages automatiques

Vous pouvez modifier la manière dont le capteur « PHP » tente de redémarrer votre environnement « PHP » via le notificationScript paramètre de configuration. Pour plus d'informations sur l'utilisation du paramètre notificationScript , voir la section Redémarrages automatiques .

Configuration du capteur FPM d' PHP

Une fois l'agent Instana installé, le capteur PHP -FPM est automatiquement installé et configuré avec les paramètres par défaut.

L'extrait de code YAML suivant présente les paramètres disponibles :

#PHP-FPM monitoring
 #com.instana.plugin.phpfpm:
 #  # Enabled (true) by default. Update it to 'false' to disable PHP-FPM discovery and sensor.
 #  enabled: true
 #  monitoring:
 #    # Enabling PHP-FPM worker pool monitoring collects worker pool process metrics like CPU and memory
 #    # usage every second. Enabled (true) by default.
 #    workerPoolMonitoring: true 
 

Le capteur « PHP -FPM » surveille par défaut les groupes de travailleurs FPM. Cette surveillance permet d'éviter que les processus de travail ne s'arrêtent, car le capteur envoie en arrière-plan des requêtes CGI de vérification automatique de l'état. Pour éviter ce comportement, vous pouvez désactiver la surveillance du pool de workers en définissant workerPoolMonitoring l'option dans la configuration du plug-in de capteur FPM de l' PHP sur false.

Activation de la page d'état « PHP -FPM »

Pour suivre de près les indicateurs de performance de PHP, vous devez activer la page d'état. Pour activer la page, ouvrez le fichier de configuration de pool de noeuds worker et ajoutez l'entrée pm.status_path = /status. Le capteur Instana PHP -FPM accède directement au point de terminaison de la page d'état PHP -FPM via FastCGI. Si le paramètre de pool de travailleurs pm.status_listen FPM est défini, le capteur l'utilise comme point de terminaison, ce qui configure un pool de travailleurs invisible destiné à surveiller les pools de travailleurs FPM configurés. Sinon, le capteur se connecte par défaut au point listen de terminaison. Pour désactiver la surveillance des workers, consultez la section « Configuration du capteur FPM d' PHP ».

Pour les instances d' PHP -FPM s'exécutant dans des conteneurs rootless Podman, les listen points de terminaison des pools PHP -FPM doivent être accessibles depuis l'hôte via la passerelle rootless Podman.

Pour surveiller les indicateurs d' PHP -FPM sur AWS Fargate, vous devez également activer la page d'état PHP -FPM.

Activer l' Apache

La configuration Apache doit contenir la ligne suivante:

SetHandler application/x-httpd-php
 

Sans la ligne, le chargement du détecteur échoue et le message d'erreur suivant est consigné:

> "PHP Sensor is failing because of "NO Version found"
 

Configuration d'IIS

Par défaut, IIS redirige les journaux d'exécution d' PHP vers la page Web PHP, qui contient également les journaux de Tracer d' PHP. Pour éviter ce problème, procédez de l'une des manières suivantes :

  • Rediriger les journaux d' PHP s vers un autre emplacement : pour rediriger tous les journaux d' PHP s vers un autre emplacement, configurez la error_log propriété dans le php.ini fichier.

  • Désactiver les journaux de Tracer d' PHP : pour désactiver uniquement les journaux de Tracer d' PHP, définissez la variable d'environnement INSTANA_LOG_LEVEL sur 0. Pour définir cette variable d'environnement, procédez de l'une des manières suivantes :

    • Mettez à jour les paramètres d' FastCGI s de votre application PHP

    • Exécutez la commande suivante dans le terminal PowerShell ou l'invite de commande :

      PS C:\> C:\Windows\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='<php-cgi executable path>'].environmentVariables.[name='INSTANA_LOG_LEVEL',value='0']" /commit:apphost
       

Affichage des mesures

Pour consulter les indicateurs relatifs à PHP, procédez comme suit :

  1. Dans la barre latérale de l'interface utilisateur d' Instana, sélectionnez « Infrastructure ».
  2. Cliquez sur un hôte surveillé spécifique.

Vous pouvez voir un tableau de bord hôte avec toutes les métriques collectées et les processus surveillés.

Comme tout autre capteur Instana, le capteur PHP ne nécessite aucune configuration. Il détecte automatiquement votre installation d' PHP et recueille les données suivantes à partir de celle-ci :

Dans le cas d' PHP s, les données de configuration, les indicateurs de performance et les signatures d'intégrité dépendent du SAPI utilisé. Pour plus d'informations, consultez la section « SAPI d' PHP s prises en charge ».

Données de configuration et indicateurs

Le tableau suivant répertorie les données de configuration généralement suivies:

  • Version PHP
  • API serveur
  • Zend Thread Safety (ZTS)
  • Modules chargés
  • Fichier INI principal
  • Répertoire ini
  • Autres fichiers INI analysés
  • Répertoire des extensions PHP
Remarque : la configuration généralement utilisée pour Apache avec mod_php est disponible dans le tableau de bord Apache. Pour PHP -CGI, ces données de configuration sont disponibles dans le panneau de configuration du serveur web utilisé (le cas échéant).

Outre les paramètres généralement suivis, le tableau de bord FPM ( PHP ) comprend les données de configuration suivantes :

  • ID du processus maître
  • Configuration du processus maître
  • Pools worker

Le tableau de bord FPM ( PHP ) comprend également les indicateurs suivants :

  • Connexions
  • Processus
  • Ressources

Signatures d'intégrité

Chaque capteur possède une base de connaissances organisée de signatures de santé qui sont évaluées en continu par rapport aux métriques entrantes. Ces signatures de santé sont utilisées pour signaler des problèmes ou des incidents qui dépendent de l'impact sur l'utilisateur.

Les événements intégrés déclenchent des problèmes ou des incidents en fonction de signatures d'intégrité défaillantes sur des entités, tandis que les événements personnalisés déclenchent des problèmes ou des incidents en fonction des seuils d'une métrique spécifique à une entité donnée.

Pour plus d'informations sur les événements intégr és d' PHP -FPM, consultez la référence sur les événements intégrés.

Traçage

Instana propose des solutions d'instrumentation à la fois automatiques et manuelles pour l' PHP.

Instrumentation automatique

Instana instrumentera automatiquement vos applications PHP à l'aide de l'extension de traçage PHP.

PHP Extension de traçage

L'extension de traçage « PHP » est téléchargée automatiquement lorsque le capteur « PHP » est activé. La configuration d'installation de l'extension est activée par défaut dans <agent_install_dir>/etc/instana/configuration.yaml . Pour plus d'informations, consultez la section « Configuration du capteur d' PHP ».

PHP Le traçage est activé par défaut. Pour plus d'informations sur la désactivation du traçage, consultez la section « Désactivation du traçage d' PHP ». Le capteur PHP est lié à un capteur d'API serveur (SAPI) PHP. Ainsi, la traçabilité ne s'active que lorsque l'agent « Instana » détecte un capteur SAPI pris en charge (actuellement PHP -FPM, mod_php et php-cgi). Pour plus d'informations, consultez la section « SAPI d' PHP s prises en charge ».

Le capteur « PHP » recueille des informations sur la configuration du SAPI et télécharge une extension d' Instana appropriée en fonction de votre version d' PHP et de l'architecture de votre hôte. Le capteur « PHP » télécharge toujours la version la plus récente de l'extension « Instana ». Toutefois, vous pouvez également épingler (forcer) une version spécifique en définissant pinExtensionVersion: x.y.z dans le fichier configuration.yaml .

Pour plus d'informations sur l'extension Instana PHP Tracing et la personnalisation du traçage PHP, consultez la section Activation et configuration du traçage PHP :

Téléchargement manuel de l'extension « PHP »

PHP L'instrumentation de l'interface CLI nécessite le déploiement manuel de l'extension PHP Instana, car les processus de l'interface CLI PHP sont éphémères et le capteur PHP ne parvient pas à détecter ces processus de manière fiable. Pour obtenir des instructions de téléchargement, consultez la section « Installation manuelle de l'extension de suivi d' PHP ».

Bibliothèques et frameworks auto-instrumentés

Instana Cette fonctionnalité analyse votre application PHP au niveau du moteur PHP et fournit les traces des appels de fonction sélectionnés.

Bases de données

Le tableau suivant répertorie les bases de données que Tracer d' PHP peut instrumenter automatiquement. Il contient également les bases de données prises en charge par l'extension générique « PHP Data Objects » (PDO) [1] :

Base de données Identifiant de l'instrument [2] Indicateur d'instrumentation [3]
Cassandra cassandra 8589934592
Couchbase couchbase 1048576
Elasticsearch elasticsearch ND
IBM Db2 db2 256
LDAP ldap 536870912
Memcache memcache 128
Memcached memcache 128
MongoDB mongodb 32
MS SQL (sqlsrv) mssql 17179869184
MySQL mysql 64
MySQLi mysql 64
OCI8 oci8 512
Redis (avec des modules predis ou PECL redis ) redis 16
CUBRID (PDO) pdo 4
Firebird (PDO) pdo 4
IBM (PDO) pdo 4
Informix (PDO) pdo 4
MS SQL Server (PDO) pdo 4
MySQL (PDO) pdo 4
ODBC et DB2 (PDO) pdo 4
Oracle (PDO) pdo 4
PostgreSQL (PDO) pdo 4
SQLite (PDO) pdo 4
Infrastructures

Le tableau suivant répertorie les frameworks d'applications web que Tracer d' PHP peut instrumenter automatiquement :

Infrastructure Identifiant de l'instrument [2:1] Indicateur d'instrumentation [3:1]
Laminas laminas 33554432
Laravel laravel 8388608
Symfony symfony 4194304
Wordpress wordpress 32768
Zend Framework zf 33554432
CakePHP [4] ND ND
Messagerie

Le tableau suivant répertorie les technologies de messagerie que Tracer d' PHP peut instrumenter automatiquement :

Messagerie Identifiant de l'instrument [2:2] Indicateur d'instrumentation [3:2]
AMQP (pecl-amqp/pecl-amqp-lib) amqp 65536
Google Cloud Pub/Sub gcpsa 268435456
HTTP Protocoles

Le tableau suivant répertorie les bibliothèques PHP, prises en charge par les protocoles d' HTTP, que l'outil PHP Tracer peut instrumenter automatiquement :

Protocole Identifiant de l'instrument [2:3] Indicateur d'instrumentation [3:3]
cURL curl 8
Flux HTTP streams 1
PECL HTTP pecl_http 2048
SOAP soap 16384
Journalisation

Le tableau suivant répertorie les frameworks de journalisation que le Tracer d' PHP peut instrumenter automatiquement :

Cadre de journalisation Identifiant de l'instrument [2:4] Indicateur d'instrumentation [3:4]
Consignateur Drupal drupal 67108864
Monolog monolog 1073741824
Consignateur Yii yii 2147483648
Zend_Log zendlog 4294967296
PHP extensions intégrées

Le tableau suivant répertorie les extensions intégrées d' PHP s que l'outil Tracer d' PHP peut instrumenter automatiquement :

Poste Identifiant de l'instrument [2:5] Indicateur d'instrumentation [3:5]
PCNTL (pcntl_fork) ND ND
Sessions sessions 2
SOAP soap 16384
Création de modèles

Le tableau suivant répertorie les bibliothèques de modèles que Tracer d' PHP peut instrumenter automatiquement :

Bibliothèque de modèles Identifiant de l'instrument [2:6] Indicateur d'instrumentation [3:6]
Twig twig 2097152
Lame blade 16777216
Autres

Le tableau suivant répertorie les appels de fonctions d' PHP s couramment utilisés, de types divers, que l'outil PHP Tracer est capable d'instrumenter automatiquement :

Nom Identifiant de l'instrument [2:7] Indicateur d'instrumentation [3:7]
Exceptions exceptions 262144
fastcgi_finish_request ND ND
Appels de l'interpréteur de commande (shell) shell 1024
Temps de compilation ND ND
Métriques OpCache ND ND
Remarque : les traces de pile dans les détails des balises <span> ne sont prises en charge que par PHP 5.4 et les versions ultérieures.

Instrumentation manuelle

Vous pouvez également instrumenter manuellement votre code d' PHP s à l'aide de SDK de traçage. En utilisant des SDK de traçage, vous pouvez ajouter des données de traçage aux traces collectées automatiquement par Instana. PHP propose les SDK suivants :

  • SDK PHP
  • OTel Exportateur d' Instana s SDK
Remarque : le SDK d' PHP s est obsolète et sera supprimé du site Instana à compter du 30 mai 2026. Pour garantir la continuité du suivi, utilisez l'exportateur SDK Instana d' OTel pour l'instrumentation manuelle.

PHP -SDK

L'extension de suivi « PHP » est fournie avec un SDK minimal. A l'aide de ce SDK, vous pouvez instrumenter manuellement votre code. Pour plus d'informations, consultez PHP -SDK.

OTel Exportateur d' Instana s SDK

Instana fournit un exportateur SDK d' OTel s permettant l'instrumentation manuelle de votre code à l'aide d' OpenTelemetry. Il convertit les segments de l' OpenTelemetry en segments de l' Instana avant de les exporter directement vers l'agent Instana. Pour plus d'informations sur son utilisation, consultez la page Instana exporter.

Intégration avec l' OpenTracing

Instana fournit un SDK distinct pour l' PHP, destiné au traçage avec OpenTracing. Contrairement à l'instrumentation PHP fournie par Instana, le SDK OpenTracing vous oblige à instrumenter manuellement votre code. Les traces générées via le SDK PHP OpenTracing sont distinctes de celles générées par le système de traçage propre à Instana.

Remarque : le SDK PHP OpenTracing est pris en charge uniquement sur les systèmes d'exploitation Linux.

Intégration avec l' OpenTelemetry

Instana prend en charge l'instrumentation d' OpenTelemetry pour les applications d' PHP. L'extension OpenTelemetry PHP dispose d'une fonctionnalité d'instrumentation automatique (également appelée « instrumentation sans code ») qui génère des traces et les exporte vers des points de terminaison configurés, tels que le collecteur OpenTelemetry et le backend.

Pour importer ces portées dans l' Instana e, vous pouvez utiliser l'un des exportateurs suivants :

  • L'exportateur par défaut d' OpenTelemetry Protocol s ( OTLP ) : il permet à l'agent Instana de recevoir des traces via un point de terminaison OTLP.
  • Instana OpenTelemetry PHP exportateur : il convertit les segments « OpenTelemetry » en segments « Instana » avant de les exporter directement vers l'agent « Instana ».

Les traces de l' OpenTelemetry sont affichées dans l'interface utilisateur d' Instana, de la même manière que les traces de Instana et PHP. Pour plus d'informations, consultez la section « Intégration d' OpenTelemetry pour les applications PHP ».

Traçage sans serveur

Instana prend en charge le traçage sans serveur pour l'environnement d' AWS Fargate. Tout comme l'extension native « Instana », l'extension « serverless » active également par défaut le traçage « PHP ». Pour plus d'informations sur les détails de configuration, consultez la page AWS Fargate.

Pour activer le traçage sans serveur, assurez-vous que les conditions suivantes sont remplies :

  • OpenSSL3 ou bien OpenSSL1.1 est installé dans le conteneur PHP.
  • INSTANA_ENDPOINT_URL et les variables INSTANA_AGENT_KEY d'environnement sont accessibles à l' PHP Pour plus d'informations sur la configuration de ces variables, consultez la section « Configuration de la définition de tâche ».
Remarque : le traçage sans serveur d' PHP. et le traçage natif (avec l'agent Instana ) ne peuvent pas fonctionner conjointement, car le traçage sans serveur s'appuie sur OpenSSL,, ce qui entre en conflit avec l'implémentation du traçage natif.

Profilage

Le profileur PHP prend en charge le profilage de l'utilisation du processeur; cette fonctionnalité n'est disponible que lorsque le traceur natif PHP est utilisé avec l'agent Instana. Le profileur « PHP » n'est pas pris en charge dans la surveillance sans serveur.

Pour plus d'informations sur son activation, voir Configuration du profilage.

  1. Instana les appels de fonction sélectionnés dans l'extension PDO de base de données générique afin de capturer les intervalles des extensions PDO spécifiques au pilote de base de données correspondant. Il n'implémente pas directement les extensions PDO spécifiques au pilote de base de données. De plus, Instana ne prend pas en charge la fonctionnalité de sous-classes spécifiques au pilote de base de données PDO introduite dans PHP 8.4. ↩︎

  2. L'identifiant d'instrumentation est la clé utilisée dans la configuration d' YAML s pour activer ou désactiver le traçage d'une bibliothèque spécifique. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  3. L'indicateur d'instrumentation est la valeur binaire utilisée dans les paramètres INI pour désactiver le traçage d'une bibliothèque spécifique ou d'un ensemble de bibliothèques. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  4. Instana uniquement les instruments Cake\Error\BaseErrorHandler et Cake\Error\ExceptionTrap les classes du framework CakePHP. ↩︎