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_logpropriété dans lephp.inifichier.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_LEVELsur0. 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 :
- Dans la barre latérale de l'interface utilisateur d' Instana, sélectionnez « Infrastructure ».
- 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
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
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
Création de modèles
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 |
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
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.
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_URLet les variablesINSTANA_AGENT_KEYd'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 ».
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.
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. ↩︎
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. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
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. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
Instana uniquement les instruments
Cake\Error\BaseErrorHandleretCake\Error\ExceptionTraples classes du framework CakePHP. ↩︎