Tous les produits
Search
Centre de documentation

Application Real-Time Monitoring Service:Install the ARMS agent for a Java application in Function Compute

Dernière mise à jour :Sep 21, 2026

Lorsque vous exécutez des fonctions Java sur Function Compute, il est essentiel de disposer d'une visibilité sur les performances des applications, les traces distribuées et l'état de la JVM. Application Real-Time Monitoring Service (ARMS) s'intègre à Function Compute en tant qu'extension interne, ce qui vous permet de bénéficier des fonctionnalités suivantes :

  • Observabilité au niveau de l'instance

  • Traçage distribué

  • Métriques Java Virtual Machine (JVM)

  • Profilage au niveau du code

  • Informations sur la sécurité des applications

Les étapes ci-dessous expliquent comment ajouter l'agent ARMS à une fonction utilisant un runtime personnalisé.

Important

L'agent ARMS consomme environ 300 Mo de mémoire lors de l'exécution. Assurez-vous que votre fonction dispose d'au moins 512 Mo de mémoire allouée. La fenêtre de gel de 10 secondes après l'invocation, requise pour le rapport des données, est facturée au tarif standard d'invocation. Pour plus de détails, consultez la page Facturation de Function Compute.

Runtimes pris en charge et prérequis

Prérequis Détails
Runtime Runtime personnalisé avec Java 8, Java 11 ou Java 17. Le runtime Java 8 intégré est également pris en charge.
Version JDK Doit être prise en charge par ARMS Application Monitoring. Consultez la liste des Composants et frameworks Java pris en charge par ARMS.
Mémoire heap Supérieure à 256 Mo
Mémoire de la fonction Au moins 512 Mo (ARMS consomme ~300 Mo)
Région ARMS et Function Compute doivent se trouver dans la même région. La surveillance interrégionale n'est pas prise en charge.

Pour créer une fonction avec un runtime personnalisé, consultez la rubrique Créer une fonction.

Étape 1 : Obtenir une clé de licence

Appelez l'opération API DescribeTraceLicenseKey dans OpenAPI Explorer pour récupérer votre clé de licence ARMS. Conservez cette clé, car vous en aurez besoin à l'Étape 3.

Étape 2 : Ajouter la couche de l'agent ARMS

Function Compute propose des couches communes officielles qui regroupent l'agent ARMS pour chaque version Java prise en charge.

Version Java Runtime compatible ARN de la couche commune
Java 8 / Java 11 Runtimes personnalisés acs:fc:{region}:official:layers/ArmsAgent273x/versions/2
Java 17 Runtimes personnalisés acs:fc:{region}:official:layers/ArmsAgent273x_JDK17/versions/1

Remplacez {region} par l'ID de la région de votre fonction, par exemple cn-hangzhou.

Pour ajouter la couche dans la console Function Compute :

  1. Connectez-vous à la console Function Compute. Dans le volet de navigation de gauche, cliquez sur Functions.

  2. Dans la barre de navigation supérieure, sélectionnez une région. Sur la page Functions, cliquez sur la fonction cible.

  3. Sur la page des détails de la fonction, cliquez sur l'onglet Configurations.

  4. Dans le volet de navigation de gauche, cliquez sur Layers, puis sur Modify.

  5. Dans le panneau Layers, choisissez + Add Layer > Add Official Common Layer, puis sélectionnez la couche de l'agent ARMS correspondant à votre version Java.

Étape 3 : Configurer les variables d'environnement

Définissez les variables d'environnement suivantes pour votre fonction :

Variable Valeur Description
FC_EXTENSION_ARMS true Active l'extension ARMS dans Function Compute.
FC_EXTENSIONS_ARMS_LICENSE_KEY Votre clé de licence ARMS Authentifie l'agent ARMS. Obtenez cette clé à partir de l'Étape 1.
Important

La définition de FC_EXTENSION_ARMS=true entraîne le gel de l'instance de fonction pendant 10 secondes après chaque invocation. Cela laisse à l'agent ARMS le temps de rapporter les données collectées. La facturation se poursuit au tarif standard durant cette fenêtre de 10 secondes. Pour plus de détails, consultez la page Facturation de Function Compute.

Pour définir ces variables dans la console Function Compute :

  1. Sur la page des détails de la fonction, cliquez sur l'onglet Configurations.

  2. Dans le volet de navigation de gauche, cliquez sur Environment Variables, puis sur Modify.

  3. Ajoutez FC_EXTENSION_ARMS=true et FC_EXTENSIONS_ARMS_LICENSE_KEY=<your-license-key>.

Pour plus de détails, consultez la page Configurer les variables d'environnement.

Étape 4 : Créer un script bootstrap

L'agent ARMS s'attache à votre processus Java via les paramètres de démarrage de la JVM. Créez un fichier bootstrap pour transmettre ces paramètres au démarrage de la fonction.

Le tableau suivant décrit les paramètres JVM requis :

Paramètre Description
-javaagent:/opt/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar Chemin d'accès au fichier JAR de l'agent ARMS fourni par la couche commune.
-Darms.licenseKey=${FC_EXTENSIONS_ARMS_LICENSE_KEY} Clé de licence ARMS, lue à partir de la variable d'environnement définie à l'Étape 3.
-Darms.appName=${appName} Nom de l'application tel qu'il apparaît dans la console ARMS. La valeur par défaut est FC:{FunctionName}.
-Dfc.instanceId=$HOSTNAME@ Identifiant unique de l'instance de fonction.

Exemple de script bootstrap :

#!/bin/bash
set -eo pipefail

# Set the ARMS application name.
# Defaults to FC:{FunctionName} if the FC_FUNCTION_NAME variable exists.
appName="FC:Custom_Java_Arms_Demo"
if [ -n "${FC_FUNCTION_NAME}" ]; then
    appName="FC:${FC_FUNCTION_NAME}"
fi

echo "appName: ${appName}"
params=" "

# Build the ARMS JVM parameters.
if [[ -n "${FC_EXTENSIONS_ARMS_LICENSE_KEY}" ]]; then
    echo "FC_EXTENSIONS_ARMS_LICENSE_KEY: ${FC_EXTENSIONS_ARMS_LICENSE_KEY}"
    params+="-Dfc.instanceId=$HOSTNAME@`hostname -i` "
    params+="-javaagent:/opt/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar "
    params+="-Darms.licenseKey=${FC_EXTENSIONS_ARMS_LICENSE_KEY} "
    params+="-Darms.appName=${appName} "
else
    echo "The environment FC_EXTENSIONS_ARMS_LICENSE_KEY does not exist, please set the FC_EXTENSIONS_ARMS_LICENSE_KEY environment!"
    exit 1
fi

# Launch the application. Replace the JAR path with your own.
echo "params: ${params}"
exec java $params \
    -Dserver.port=9000 \
    -jar /code/target/demo-0.0.1-SNAPSHOT.jar

Remplacez /code/target/demo-0.0.1-SNAPSHOT.jar par le chemin d'accès à votre fichier JAR d'application.

Déployer le fichier bootstrap

  1. Dans WebIDE, sur la page du code de la fonction, créez un fichier nommé bootstrap avec le contenu ci-dessus.

  2. Ouvrez le terminal dans WebIDE et exécutez chmod +x bootstrap pour rendre le fichier exécutable.

  3. Cliquez sur Deploy.

Pour plus de détails, consultez la page Utiliser un script bootstrap comme commandes de démarrage.

Étape 5 : Vérifier l'intégration

Après le déploiement, invoquez la fonction au moins une fois pour déclencher la collecte des données, puis confirmez qu'ARMS reçoit bien les données :

  1. Connectez-vous à la console ARMS.

  2. Dans le volet de navigation de gauche, choisissez Application Monitoring > Applications.

  3. Recherchez l'application dont le nom correspond à la valeur appName de votre script bootstrap. La valeur par défaut est FC:{FunctionName}.

  4. Cliquez sur le nom de l'application pour afficher les traces, les métriques JVM et autres données de surveillance.

Pour plus de détails sur le tableau de bord de surveillance, consultez la page Vue d'ensemble de l'application.

Facturation

L'intégration d'ARMS avec Function Compute engendre des frais provenant de deux services :

Service Frais Détails
ARMS Frais de surveillance des applications Vue d'ensemble de la facturation ARMS
Function Compute Fenêtre de gel de 10 secondes après l'invocation, facturée au tarif standard d'invocation Facturation de Function Compute