Extensions de mesure

Introduction

Les extensions de mesure vous permettent de créer des mesures à part entière sur tout type de ressource surveillé par Stack Monitoring. Les extensions de mesure vous permettent de créer des mesures personnalisées pour surveiller les conditions propres à votre environnement informatique. Cela offre une vue complète de l'environnement.

La création d'extensions de mesure vous permet de simplifier les processus opérationnels de votre organisation informatique en tirant parti de Stack Monitoring en tant qu'outil de surveillance centralisé unique pour l'ensemble de votre environnement, au lieu de vous fier à d'autres outils de surveillance pour fournir cette surveillance supplémentaire.

Cycle de vie d'extension de mesure

Le développement d'une extension de mesure suit les mêmes phases que celles que vous attendez d'une personnalisation par programmation.

La création d'une extension de mesure implique les phases suivantes :

Utilisation des extensions de mesure

Prérequis

Certaines stratégies sont requises pour utiliser les extensions de mesure. Pour plus d'informations, reportez-vous à Création de stratégies pour les opérateurs d'extension de mesure.

Développement d'extensions de mesure

  1. Créer des extensions de mesure
  2. Tester et modifier les extensions de mesure
  3. Cloner des extensions de mesure
  4. Exporter et importer des extensions de mesure

Créer des extensions de mesure

  1. Dans le menu Surveillance de la pile, sélectionnez Extensions de mesure.
  2. Cliquez sur Créer une extension de mesure. Le panneau d'interface utilisateur Créer une extension de mesure apparaît.
  3. Propriétés d'extensions de mesure :

    1. Entrez le nom de l'extension de mesure. Le nom de l'extension de mesure comportera toujours un préfixe ME_.
      Remarque

      Le nom d'extension de mesure doit être unique dans un type de ressource.
    2. Entrez un nom d'affichage pour l'extension de mesure.
    3. Entrez une description de l'extension de mesure.
  4. Les propriétés de méthode de collecte indiquent le type de ressource pour l'extension de mesure en cours de création et d'autres propriétés de collecte :

    • Type de ressource : type de ressource (par exemple, hôte, base de données Conteneur) pour lequel vous créez l'extension de mesure. Pour plus d'informations sur les types de ressource pris en charge et leurs propriétés d'instance prises en charge, reportez-vous à Types de ressource pris en charge et leurs propriétés d'instance prises en charge.
    • Fréquence de collecte : indiquez la fréquence de collecte de l'extension de mesure.
    • Méthode de collecte : indiquez le type de méthode de collecte nécessaire pour collecter l'extension de mesure. Les méthodes de prélèvement suivantes sont prises en charge. Pour plus d'informations sur chaque méthode de collecte et des exemples, reportez-vous à la section Collection Method Properties.
      1. Commande OS : cette méthode exécute la commande ou le script OS spécifié et analyse chaque ligne de sortie de commande (délimitée par un caractère spécifié par l'utilisateur) en plusieurs valeurs. Le résultat de la mesure est une table multicolonne à plusieurs lignes.
      2. SQL : cette méthode exécute des requêtes SQL personnalisées, une fonction ou des scripts SQL sur les bases de données, en renvoyant les résultats dans une table de mesures.
      3. JMX : (extensions de gestion Java) cette méthode extrait les attributs JMX des serveurs compatibles JMX et les renvoie sous forme de table de mesures.
      4. HTTP : cette méthode appelle l'adresse HTTP(S) spécifique, c'est-à-dire l'URL, et utilise le fichier JavaScript indiqué pour transformer la réponse en table de mesures.
  5. Mesures/dimensions :

    Pour chacune des valeurs renvoyées en exécutant une extension de mesure, identifiez si la valeur est une mesure ou une dimension, ainsi que ses propriétés associées.

    Remarque

    • Les valeurs renvoyées par les scripts personnalisés doivent aboutir à une table multicolonne.
    • La sortie de chaque colonne doit être identifiée en tant que mesure ou dimension avec ses attributs associés.
    • Un point de données de mesure doit être un nombre.

    Les dimensions de mesure doivent contenir les attributs suivants :

    1. Nom : indiquez le nom de la mesure ou de la dimension comportant uniquement des lettres en anglais dans PascalCase, c'est-à-dire que chaque première lettre du mot doit être une majuscule sans espace ni chiffre entre les deux, conformément aux exigences de surveillance OCI. Les exemples de nom de mesure correct sont CpuUtilization, TotalDatabaseSize, FileSystemUsage, etc.
      Remarque

      Les mesures provisoires peuvent porter le même nom pour le même type de ressource, mais pas pour les mesures publiées. Si un nom de mesure particulier pour un type de ressource est déjà pris et utilisé dans une extension de mesure publiée, il ne peut pas être utilisé par une autre mesure qui fait partie du nom d'une autre extension de mesure publiée pour le même type de ressource.

      Par exemple, si une extension de mesure publiée est ME_FirstMetricExtension pour le type de ressource host_linux et qu'elle comporte une mesure nommée MetricFirst, elle n'est pas autorisée à publier une autre extension de mesure, ME_SecondMetricExtension pour le même type de ressource, host_linux, qui comporte une mesure portant le nom MetricFirst.

      Cette contrainte ne s'applique pas aux mesures et dimensions masquées.

    2. Nom d'affichage : (facultatif) indiquez le nom d'affichage, s'il est différent du nom. Le nom d'affichage peut également contenir des espaces et des nombres.
    3. Est une dimension ? : choisissez Non si vous définissez une mesure ; choisissez Oui si vous définissez une dimension de mesure.

      Une dimension est un qualificatif pour une mesure et doit être une valeur unique pour chaque ligne des résultats de la collecte de mesures. Par exemple, une mesure peut être le pourcentage d'utilisation du système de fichiers et la dimension est le nom du système de fichiers.

    4. Est caché ? (Avancé) : choisissez Oui si la mesure sera uniquement utilisée dans les expressions de calcul, c'est-à-dire si la mesure est utilisée uniquement comme valeur pour calculer une autre mesure ou si elle n'est pas requise pour être envoyée à OCI Monitoring. Sinon, choisissez Non.
    5. Type de valeur : toutes les mesures non masquées doivent être numériques. Une mesure ou une dimension masquée peut être String ou Number.
    6. Unité : unité associée à la mesure. Les unités possibles peuvent être, en fonction de la mesure, la latence en secondes, millisecondes, microsecondes, minutes ou fréquence en Hertz ou en pourcentage.
    7. Catégorie : identifiez le type de données de mesure collectées par la mesure : disponibilité, capacité, charge, utilisation
    8. Expression de calcul : utilisez des expressions de calcul pour calculer la valeur d'une mesure en fonction d'opérations mathématiques ou logiques effectuées sur d'autres mesures ou dimensions au sein de la même extension de mesure. Les expressions de calcul nécessitent au moins une autre mesure à définir en premier et peuvent uniquement inclure les autres mesures qui ont déjà été définies dans l'extension de mesure. Pour plus d'informations, reportez-vous à Expressions de calcul.

  6. Créer et tester ou Créer l'extension de mesure

    • Créer et tester vous permet de tester l'extension de mesure par rapport à des ressources et de vérifier que les valeurs renvoyées sont correctes. En fonction des valeurs renvoyées, vous pouvez continuer à les modifier et à les tester de manière itérative.

      Remarque

      Lors du test d'une extension de mesure, l'agent de gestion est redémarré. Il est donc recommandé de tester les extensions de mesure sur des ressources hors production.
      Remarque

      Si vous constatez qu'une colonne n'est pas à sa place, utilisez le bouton Réorganiser les mesures/dimensions pour la corriger.
    • Créer vous permet d'enregistrer la définition d'extension de mesure et de la tester ultérieurement sur les ressources.

Tester et modifier les extensions de mesure

  1. Une fois l'extension de mesure créée, elle a le statut Brouillon. Tant qu'il a le statut Brouillon, vous pouvez continuer à modifier la définition de l'extension de mesure et à tester l'extension de mesure par rapport aux ressources.
  2. Le test consiste à sélectionner une ressource sur laquelle la mesure peut être testée. Ce processus peut prendre quelques minutes car il implique le déploiement de l'extension de mesure sur les agents de la ressource et l'exécution de la collecte de mesures sur la ressource.
    Remarque

    Les ressources sur lesquelles vous pouvez tester et activer ultérieurement les extensions de mesure doivent être activées avec Stack Monitoring Enterprise Edition. Pour plus d'informations, reportez-vous à la section Configuring Licensing.
    Remarque

    Lors du test d'une extension de mesure, suivez les instructions suivantes :
    • Ne pas tester dans les environnements de production.
    • Allouez une instance de ressource de test avec son propre agent de gestion dédié au test. Une requête/script en cours de test dans l'extension de mesure peut ne pas fonctionner correctement et donc avoir un impact sur les autres fonctionnalités de l'agent de gestion.
    • Si le test aboutit à un échec, répétez les étapes de création des extensions de mesure.
    • Si le test réussit, vérifiez que les valeurs de mesure renvoyées sont correctes.
Remarque

Si vous constatez qu'une colonne n'est pas à sa place, utilisez le bouton Réorganiser les mesures/dimensions pour la corriger.

Cloner des extensions de mesure

Le clonage d'une extension de mesure permet de développer une nouvelle extension de mesure à partir d'une extension existante.

Pour une extension de mesure ayant le statut Brouillon ou Publié, dans le menu de niveau ligne, sélectionnez Cloner, ce qui ouvre le panneau d'interface utilisateur Créer des extensions de mesure. Toutes les informations de l'extension de mesure d'origine sont renseignées, mais le nom, qui est le nom de l'extension de mesure d'origine suivi de Clone. Modifiez les paramètres selon vos besoins et finalisez-les en suivant le reste du processus pour Créer des extensions de mesure.

Exporter et importer des extensions de mesure

L'import et l'export d'extensions de mesure offrent une plus grande flexibilité dans l'utilisation des extensions de mesure, telles que le partage entre les compartiments et le stockage local des extensions de mesure.

  • Pour exporter des extensions de mesure :

    1. Pour une extension de mesure dont le statut est Brouillon ou Publié, dans le menu de niveau ligne, sélectionnez Exporter afin d'enregistrer localement l'extension de mesure.
    2. Le nom par défaut du fichier inclut un horodatage et un préfixe MetricExtensions-Export. Modifiez le nom du fichier d'export selon vos besoins et cliquez sur Enregistrer.
  • Pour importer des extensions de mesure, cliquez sur Importer l'extension de mesure et sélectionnez le fichier d'extension de mesure à importer.
    Remarque

    Lors de l'import d'une extension de mesure, assurez-vous que le fichier utilise une valeur schemeVersion supérieure ou égale à 1.0.0.

Publication d'extensions de mesure

Les extensions de mesure ne sont pas disponibles pour une utilisation générale tant qu'elles ne sont pas publiées. Après avoir testé et vérifié les résultats de votre extension de mesure, vous pouvez à présent la publier. Une fois publiée, une extension de mesure peut être activée sur vos ressources.

Remarque

Une fois publiée, une extension de mesure ne peut plus être modifiée ni testée.

Activation des extensions de mesure sur les ressources

Une fois l'extension de mesure publiée, elle peut être activée et déployée sur les ressources voulues. Lorsque vous activez l'extension de mesure, elle est déployée vers l'agent qui surveille la ressource, ce qui lance la collecte de mesures sur la ressource.

Pour activer les extensions de mesure sur les ressources, procédez comme suit :

  1. Choisissez l'extension de mesure publiée dans la liste des extensions de mesure.
  2. Dans le menu d'actions de niveau ligne, sélectionnez Activer.
  3. Choisissez les ressources sur lesquelles vous souhaitez démarrer la collecte de mesures.
    Remarque

    La licence Enterprise Edition doit être définie sur les ressources sur lesquelles vous pouvez activer les extensions de mesure. Pour plus d'informations, reportez-vous à la section Configuring Licensing.
  4. Le processus d'activation d'une extension de mesure sur une ressource peut prendre quelques minutes car il implique le déploiement de l'extension de mesure sur l'agent et le démarrage de la collecte de mesures sur les ressources choisies. Veillez à rester sur la page pour suivre le statut de la demande d'activation.
    Remarque

    Lors du déploiement initial d'une extension de mesure vers un agent (dans le cadre de l'activation d'une extension de mesure sur une ressource), le déploiement peut prendre jusqu'à deux minutes. Cela peut entraîner le redémarrage de l'agent. Par conséquent, l'agent peut ne pas signaler le statut de toutes les ressources surveillées par cet agent pendant les deux minutes.

Affichage des extensions de mesure

Une fois l'extension de mesure activée sur une ressource, elle apparaît automatiquement dans les graphiques de performances de sa page d'accueil. Vous pouvez identifier l'extension de mesure en localisant le symbole * en regard du nom de mesure.

Les données de mesure de l'extension de mesure sont stockées dans le même compartiment que la ressource sur laquelle elles sont activées sous l'espace de noms oracle_metric_extensions_appmgmt.


page d'accueil de surveillance de pile avec extensions de mesure

Dans Etat de l'entreprise et alarmes, pour afficher l'extension de mesure dans l'un des graphiques, procédez comme suit :

  1. Personnalisez le graphique en cliquant sur l'icône en forme de crayon.
  2. Dans la boîte de dialogue de modification qui apparaît, choisissez :
    1. Espace de noms : oracle_metric_extensions_appmgmt
    2. Type de ressource : type de la ressource sur laquelle l'extension de mesure a été créée.
    3. Nom de mesure : mesure de l'extension de mesure.

    ajout d'extensions de mesure au gestionnaire d'entreprise

Paramètres d'extension de mesure

Types de ressource pris en charge et propriétés d'instance prises en charge

Nom d'affichage du type de ressource Type de ressource Le plug-in appartient à Méthodes de collecte prises en charge Liste des propriétés d'instance
Apache HTTP Server apache_http_server gestion des applications OS_COMMAND, HTTP compartmentId,metric_endpoint,httpd_conf_path,httpd_bin_path,httpd_pid_path,protocole,listen_port,os_type
Apache Tomcat apache_tomcat gestion des applications OS_COMMAND, JMX compartmentId,service_url
ASM oci_oracle_asm dbaas OS_COMMAND, SQL  
Instance de cluster oci_oracle_cluster_instance dbaas OS_COMMAND oracleHome
Base de données Conteneur oci_oracle_cdb dbaas OS_COMMAND, SQL  
EBS ebs_instance gestion des applications OS_COMMAND, SQL nom d'hôte, db_port, db_sid, db_host, db_service, allowed_logon_version, app_schema, long_running_request_threshold_in_minutes
Processus d'écoute d'application EBS oracle_ebs_app_lsnr gestion des applications OS_COMMAND listener_ora_directory,oracle_home,tns_control
Traitement simultané EBS oracle_ebs_conc_mgmt_service gestion des applications OS_COMMAND, SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version,long_running_request_threshold_in_minutes
Traitement simultané EBS - Spécialisé oracle_ebs_conc_mgmt_service_specialized gestion des applications OS_COMMAND, SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version
Système Forms EBS oracle_ebs_forms_system gestion des applications OS_COMMAND, SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version
Processus d'écoute d'agent de workflow EBS oracle_ebs_wf_agent_lsnr gestion des applications OS_COMMAND, SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version
Moteur en arrière-plan de workflow EBS oracle_ebs_wf_bkgd_engine gestion des applications OS_COMMAND, SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version
Emetteur de notifications de workflow EBS oracle_ebs_wf_notification_mailer gestion des applications OS_COMMAND, SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version
Elasticsearch elastic_search gestion des applications OS_COMMAND, HTTP es_base_url
GoldenGate oracle_goldengate gestion des applications OS_COMMAND, HTTP ogg_url,compartmentId
GoldenGate Service d'administration oracle_goldengate_admin_server gestion des applications OS_COMMAND, HTTP compartmentId,process_name,api_process_name,pm_server_url,deployment_path
GoldenGate Déploiement oracle_goldengate_deployment gestion des applications OS_COMMAND, HTTP compartmentId,ogg_url,ogg_hostname,ogg_port
GoldenGate Chemin de distribution oracle_goldengate_distribution_path gestion des applications OS_COMMAND, HTTP compartmentId,distribution_server_url,path_name,deployment_path
GoldenGate Service de distribution oracle_goldengate_distribution_server gestion des applications OS_COMMAND, HTTP compartmentId,process_name,api_process_name,pm_server_url,deployment_path
Extraction GoldenGate oracle_goldengate_extract gestion des applications OS_COMMAND, HTTP pm_server_url,process_name,api_process_name,compartmentId,deployment_path
GoldenGate Service de mesure des performances oracle_goldengate_pm_server gestion des applications OS_COMMAND, HTTP compartmentId,pm_server_url,process_name,api_process_name,deployment_path
GoldenGate Chemin de destinataire oracle_goldengate_receiver_path gestion des applications OS_COMMAND, HTTP receiver_server_url,path_name,compartmentId,deployment_path
GoldenGate Service de destinataire oracle_goldengate_receiver_server gestion des applications OS_COMMAND, HTTP compartmentId,process_name,api_process_name, version,pm_server_url,deployment_path
GoldenGate Réplication oracle_goldengate_replicat gestion des applications OS_COMMAND, HTTP compartmentId,pm_server_url,api_process_name,process_name,deployment_path
GoldenGate Gestionnaire de service oracle_goldengate_service_manager gestion des applications OS_COMMAND, HTTP ogg_url,ogg_hostname,ogg_port,compartmentId,service_manager_url
GPU UC gestion des applications OS_COMMAND pciId
Hôte - Linux host_linux gestion des applications OS_COMMAND compartmentId,hostType,osType
Hôte - Solaris host_solaris gestion des applications OS_COMMAND compartmentId,hostType,osType
Hôte - Windows host_windows gestion des applications OS_COMMAND compartmentId,hostType,osType
Processus d'écoute oci_oracle_lsnr dbaas OS_COMMAND oracleHome,lsnrType,alias
Microsoft Internet Information Services microsoft_iis gestion des applications OS_COMMAND compartmentId,nom d'hôte,total_cpus,total_memory
Site Web Microsoft Internet Information Services microsoft_iis_website gestion des applications OS_COMMAND compartmentId,nom d'hôte,ID,website_name
Microsoft SQL Server sql_server gestion des applications OS_COMMAND, SQL compartmentId,inst_name,nom d'hôte,port,root_dir,os_platform,os_distro,os_release,time_zone,version
Base de données non Conteneur oci_oracle_db dbaas OS_COMMAND, SQL  
OpenSearch open_search gestion des applications Commande du système d'exploitation, HTTP os_base_url
Oracle Access Management Cluster** oracle_oam_cluster gestion des applications OS_COMMAND, JMX app_name,server_names,service_url
Oracle Access Management** oracle_oam gestion des applications OS_COMMAND, JMX app_name,server_names,service_url,weblogic_home
Oracle HTTP Server oracle_http_server gestion des applications OS_COMMAND compartmentId,service_url,nom,version,domain_name,node_manager_hostname,node_manager_port,ohs_home_path,type,owner_credentials
Cluster Oracle Identity Manager** oracle_oim_cluster gestion des applications OS_COMMAND, JMX service_url,app_name,server_names, version
Oracle Identity Manager** oracle_oim gestion des applications OS_COMMAND, JMX nom d'hôte,service_url,app_name,server_names,version,weblogic_home
Exécution de JVM Oracle oracle_jvm gestion des applications OS_COMMAND, JMX compartmentId,service_url
Oracle Managed File Transfer** oracle_mft gestion des applications OS_COMMAND, SQL server_name,service_url,db_schema_name,db_port,db_sid,db_host,db_service_name
Oracle Service Bus (OSB)** oracle_servicebus gestion des applications OS_COMMAND, JMX compartmentId, nom, server_name, oracle_home, version, service_url
Oracle WebLogic Cluster** weblogic_cluster gestion des applications OS_COMMAND, JMX compartmentId,service_url,server_names,nom,version,dms_spy
Domaine Oracle WebLogic** weblogic_domain gestion des applications OS_COMMAND, JMX admin_server_host,admin_server_port,admin_server_protocol,admin_service,admin_service_url
Oracle WebLogic Server** weblogic_j2eeserver gestion des applications OS_COMMAND, JMX compartmentId,service_url,nom,version,dms_spy
Base de données pluggable oci_oracle_pdb dbaas OS_COMMAND, SQL  
Application PSFT oracle_psft gestion des applications OS_COMMAND, SQL nom d'hôte,db_port,db_sid,db_host,db_service_name,peoplesoft_json_file,allowed_logon_version
Domaine PSFT Application Server oracle_psft_appserv gestion des applications OS_COMMAND, JMX nom d'hôte,jmx_url,ps_cfg_home,app_server_domain
Groupe de serveurs d'applications PSFT oracle_psft_appserv_group gestion des applications OS_COMMAND nom d'hôte,db_port,db_host,db_service
PSFT PIA oracle_psft_pia gestion des applications OS_COMMAND, JMX ostname,jmx_url,ps_cfg_home,pia_domain
Groupe PSFT PIA oracle_psft_pia_group gestion des applications OS_COMMAND nom d'hôte,db_port,db_host,db_service
Surveillance de processus PSFT oracle_psft_prcm gestion des applications OS_COMMAND, SQL db_host,db_port,db_service_name
Domaine Process Scheduler PSFT oracle_psft_prcs gestion des applications OS_COMMAND, JMX nom d'hôte,jmx_url,ps_cfg_home,prcs_domain
Groupe Process Scheduler PSFT oracle_psft_prcs_group gestion des applications OS_COMMAND nom d'hôte,db_port,db_host,db_service
Infrastructure SOA** oracle_soainfra gestion des applications OS_COMMAND, JMX compartmentId,nom,server_name,version,service_url

** Certains types de ressources prennent également en charge la surveillance à distance. Cependant, ils prennent également en charge la surveillance locale. Par conséquent, la commande OS n'est disponible que pour les instances de ressource surveillées localement par leur agent de gestion respectif.

Propriétés de méthode de collecte

Méthode de collecte des commandes OS
  • Commande : commande à exécuter. Par exemple, /bin/bash.

    La ligne de commande complète sera construite comme suit : Command + Script + Arguments.

    Avant d'utiliser un script, assurez-vous que la commande/le script appelé n'est pas destructif.

    Remarque

    Utilisez des commandes shell dans le contenu du script, car elles ne peuvent pas être utilisées directement dans le cadre de la valeur de commande.
  • Délimiteur pour la sortie : chaîne utilisée pour délimiter la sortie de commande. Un exemple de délimiteur peut être |.
  • Arguments : arguments du script ou de la commande séparés par un espace.
    Remarque

    La propriété d'instance d'un type de ressource peut être transmise en tant qu'argument en la plaçant dans deux symboles %. Par exemple, dans le cas du type de ressource host_linux, osType est une propriété d'instance applicable. Si vous devez transmettre la valeur de cette propriété d'instance en tant qu'argument au script, la propriété d'argument peut être définie sur %osType%. La liste des propriétés d'instance disponibles est fournie dans la table Types de ressource pris en charge et leurs propriétés d'instance prises en charge.
  • Préfixe de la sortie : chaîne de début des lignes de résultats de mesure.

    Par exemple, si la sortie de la commande est : sm_result= 3454 | abc | def, le paramètre Prefix for output = sm_result indique que seules les lignes commençant par sm_result seront utilisées pour collecter les données de mesure.

  • Fichier de script : script personnalisé exécuté pour générer les données de mesure.
Exemple :

Les paramètres de création d'une extension de mesure pour un type de ressource de processus d'écoute qui capture la charge du gestionnaire, la charge maximale, l'établissement, le refus, les ID de gestionnaire et la vitesse de connexion pour chaque service à l'aide d'une méthode de collecte de commande de système d'exploitation sont décrits ci-dessous :

  • Propriétés d'extension de mesure :

    Nom de propriété Valeur de propriété
    Nom ME_GetListenerDetails
    Nom d'affichage Obtenir les détails d'un processus d'écoute
    Description

    Extension de mesure pour le type de ressource de processus d'écoute qui capture la charge du gestionnaire, la charge maximale, l'établissement, le refus, les ID de gestionnaire et la vitesse de connexion pour chaque service

  • Propriétés de méthode de collecte :

    oracleHome, alias et lsnrType sont des propriétés d'instance de type de ressource de processus d'écoute utilisées dans la propriété Arguments à l'intérieur des symboles %. Ici, les symboles % sont utilisés pour contenir les références de propriété d'instance

    Nom de propriété Valeur de propriété dans l'interface utilisateur Valeur de propriété sur l'API (UNIQUEMENT si elle est différente de l'interface utilisateur)
    Type de ressource Processus d'écoute oci_oracle_lsnr
    Méthode de collecte Commande de système d'exploitation OS_COMMAND
    Fréquence de collecte 15 Minutes FRÉQUENCE = MINUTE ;INTERVALLE = 15
    Commande /bin/bash  
    Séparateur |  
    Arguments %oracleHome% %alias% %lsnrType%  
    préfixe pour la sortie résultat=  
    Fichier de script

    services.sh

    • "content" : doit contenir le contenu codé base64 de services.sh

    • "nom" : services.sh
  • Mesures/dimensions :

    Mesure/dimension Propriétés de mesure/dimension
    TotalRefusedConnections
    • Type de valeur : Nombre

    • Est une dimension : Non

    • Est caché ? : Non

    TotalEstablishedConnections
    • Type de valeur : Nombre

    • Est une dimension : Non

    • Est caché ? : Non

    MaxConnections
    • Type de valeur : Nombre

    • Est une dimension : Non

    • Est caché ? : Non

    • Unité : Connexions

    HandlerId
    • Type de valeur : String

    • Est une dimension ? : Oui

    • Est caché ? : Non

    EstablishedConnectionsRate
    • Type de valeur : Nombre

    • Est une dimension : Non

    • Est caché ? : Non

    • Expression de calcul : (TotalEstablishedConnections > _TotalEstablishedConnections) ? ((TotalEstablishedConnections - _TotalEstablishedConnections) / __interval) : 0
    • Unité : connexions par seconde

    • __interval peut être utilisé pour dériver des métriques de taux. Notez que __interval est toujours égal à la représentation "secondes" du champ "Fréquence de collecte". Par exemple, si la fréquence de collecte est de 15 minutes, __interval est 15x60, c'est-à-dire 900 secondes.
    • "_" lorsqu'il est préfixé vers un nom de mesure a une signification spéciale. Une telle représentation dans les expressions de calcul peut être utilisée pour faire référence à la valeur d'une mesure calculée lors de la dernière collecte d'une extension de mesure. Elle peut être utilisée dans les expressions de calcul pour déterminer la modification de la valeur d'une mesure donnée par rapport à sa dernière valeur collectée. Ce préfixe spécial peut être utilisé pour dériver des métriques delta.
    ActiveConnections
    • Type de valeur : Nombre

    • Est une dimension : Non

    • Est caché ? : Non

    • Unité : Connexions

Méthode de collecte SQL

  • Requête SQL : requête SQL à exécuter. Par exemple, select a.ename, (select count(*) from emp p where p.mgr=a.empno) directs from emp a.

    Les instructions PL/SQL sont également prises en charge, et si elles sont utilisées, les propriétés Position du paramètre de sortie et Type du paramètre de sortie doivent être renseignées. Les variables attachées peuvent être transmises à une requête SQL à l'aide des propriétés Dans le paramètre.

  • Script SQL : téléchargez le script SQL requis à exécuter, et indiquez les propriétés de paramètre d'entrée et de sortie pertinentes. Vous pouvez utiliser une requête SQL ou un script SQL.
  • Dans le paramètre : (facultatif) ils peuvent être utilisés pour fournir la variable de liaison pour le cas de requête SQL ou dans les paramètres pour le cas de script SQL.
    Remarque

    Cette propriété prend en charge l'utilisation d'un espace réservé de propriété d'instance qui peut être utilisé pour remplacer l'espace réservé par la valeur réelle de la propriété d'instance de la ressource pour laquelle la mesure est collectée. Par exemple, pour oracle_psft, db_service_name est une propriété d'instance. Il peut être transmis à l'intérieur d'une valeur Dans le paramètre dans une paire de symboles (pourcentage) %, tels que %db_service_name%.
  • Position du paramètre de sortie (facultatif) : il s'agit du numéro de position du paramètre de sortie.
  • Type de paramètre de sortie : (facultatif) type de paramètre de sortie.
Exemple :

Les paramètres de création d'une extension de mesure pour un type de ressource de base de données non Conteneur qui capture le temps d'attente pour différentes classes d'attente à l'aide d'une méthode de collecte SQL sont décrits ci-dessous :

  • Propriétés d'extension de mesure :

    Nom de propriété Valeur de propriété
    Nom ME_GetWaitTime
    Nom d'affichage Obtenir le temps d'attente
    Description

    Extension de mesure pour le type de ressource de base de données non Conteneur qui capture le

    Temps d'attente pour différentes classes d'attente

  • Propriétés de méthode de collecte :

    Nom de propriété Valeur de propriété dans l'interface utilisateur Valeur de propriété sur l'API (UNIQUEMENT si elle est différente de l'interface utilisateur)
    Fréquence de collecte 1 Heures FRÉQUENCE=HEURE ;INTERVALLE=1
    Méthode de collecte SQL  
    Type de ressource Base de données non Conteneur oci_oracle_db
    requête SQL
    WITH wait_stats AS (
    SELECT
    inst_id,
    wait_class,
    time_waited_fg
    FROM
    TABLE ( gv$(CURSOR(
    SELECT
    to_number(userenv('INSTANCE')) AS inst_id,
    wait_class,
    time_waited_fg / 100 AS time_waited_fg
    FROM
    v$system_wait_class
    WHERE
    wait_class <> 'Idle'
    )) )
    ), inst_list AS (
    SELECT
    instance_number,
    instance_name,
    host_name
    FROM
    TABLE ( gv$(CURSOR(
    SELECT
    instance_number,
    instance_name,
    host_name
    FROM
    v$instance
    )) )
    )
    SELECT
    inst.instance_number instance_number,
    inst.instance_name instance_name,
    inst.host_name host_name,
    ws.wait_class wait_class,
    ws.time_waited_fg time_waited_fg
    FROM
    wait_stats ws,
    inst_list inst
    WHERE
    inst.instance_number = ws.inst_id
    • "content" - Doit contenir l'instruction SQL encodée base64

    • sqlType : STATUT
  • Mesure/dimensions :

    Mesure/dimension Propriétés de mesure/dimension
    InstanceNumber
    • Type de valeur : Nombre

    • Est une dimension ? : Oui

    • Est caché ? : Non

    InstanceName
    • Type de valeur : String

    • Est une dimension ? : Oui

    • Est caché ? : Non

    HostName
    • Type de valeur : String

    • Est une dimension ? : Oui

    • Est caché ? : Non

    WaitClass
    • Type de valeur : String

    • Est une dimension ? : Oui

    • Est caché ? : Non

    TimeWaitedSeconds
    • Type de valeur : Nombre

    • Est une dimension : Non

    • Est caché ? : Non

    • Unité : secondes

Méthode de collecte JMX

  • MBean nom - JMX MBean ObjectName ou nom de la table du service de mesure.
    Remarque

    Cette propriété prend en charge l'utilisation d'un espace réservé de propriété d'instance qui peut être utilisé pour remplacer l'espace réservé par la valeur réelle de la propriété d'instance de la ressource pour laquelle la mesure est collectée. Par exemple, pour weblogic_j2eeserver, service_url est une propriété d'instance. Il peut être transmis à l'intérieur de la chaîne de valeur de nom MBean dans les symboles %, tels que %service_url%.

    Les attributs JMX et la colonne Identity prennent également en charge l'utilisation d'un espace réservé de propriété d'instance.

  • Attributs JMX - Attributs Java Management Extensions (JMX). Liste des attributs JMX ou des colonnes de service de mesure, séparés par des virgules.
  • Colonne d'identité : (facultatif) liste des propriétés de clé, séparées par des virgules, du bean géré ObjectName à utiliser en tant que mesures de clé.
  • Préfixe de ligne automatique : (facultatif) préfixe utilisé pour une ligne générée automatiquement en tant que mesures clés. Par exemple : s'il est défini sur ShipItem-, les valeurs seront définies sur ShipItem-0, ShipItem-1, etc.
  • Service de mesure activé sur le serveur ? (Facultatif) - Indique si le service de mesure est activé sur le domaine du serveur. Si la valeur est définie sur True, la propriété de base MBean name doit représenter le nom de la table Metric Service et la propriété de base JMX attributes représentera la liste des noms de colonne séparés par des points-virgules pour la table MetricService.
    Remarque

    Cochez cette option uniquement si le service de mesure est applicable au type de ressource et activé sur les domaines de serveur.
Exemple :

Paramètres de création d'une extension de mesure pour un type de ressource de serveur WebLogic oracle qui capture l'heure de collecte du processus Garbage Collector à l'aide de la méthode de collecte JMX.

  • Propriétés d'extension de mesure :

    Nom de propriété Valeur de propriété
    Nom * ME_TotalGcExecutionTime
    Nom d'affichage * Obtenir le temps total de nettoyage de la mémoire
    Description

    Extension de mesure pour le type de ressource oracle weblogic server qui capture le

    durée totale d'exécution du nettoyage de la mémoire

  • Propriétés de méthode de collecte :

    Ici, name est une propriété d'instance du serveur Oracle Weblogic et est utilisé dans l'espace réservé de propriété d'instance % dans l'attribut Mbean name de la définition d'extension de mesure de type JMX.

    Nom de propriété Valeur de propriété dans l'interface utilisateur Valeur de propriété sur l'API (UNIQUEMENT si elle est différente de l'interface utilisateur)
    Type de ressource Oracle WebLogic Server weblogic_j2eeserver
    Méthode de collecte JMX  
    Fréquence de collecte 1 jours FRÉQ=QUOTIDIEN ;INTERVALLE=1
    Nom du MBean java.lang:Location=%name%,type=GarbageCollector,*  
    Attributs JMX CollectionTime  
    Colonne d'identité nom ;lieu  
  • Mesures/dimensions :

    Mesure/dimension Propriétés de mesure/dimension
    ServerName
    • Type de valeur : String

    • Est une dimension ? : Oui

    • Est caché ? : Non

    ServerRuntime
    • Type de valeur : String

    • Est une dimension ? : Oui

    • Est caché ? : Non

    TotalGCExecTime
    • Type de valeur : Nombre

    • Est une dimension : Non

    • Est caché ? : Non

    • Unité : millisecondes

Méthode de collecte HTTP

  • URL : adresse HTTP à appeler pour obtenir les données de mesure brutes. Par exemple : %metric_endpoint%?auto=dummy
    Remarque

    Cette propriété prend en charge l'utilisation d'un espace réservé de propriété d'instance, qui peut être utilisé pour remplacer l'espace réservé par la valeur réelle de la propriété d'instance de la ressource pour laquelle la mesure est collectée. Dans l'exemple ci-dessus, metric_endpoint est une propriété d'instance de type de ressource Apache HTTP Server et est mentionnée dans une paire de symboles % (pourcentage). Lorsque l'extension de mesure est exécutée, la valeur réelle de %metric_endpoint% est remplacée par la valeur de propriété d'instance de la ressource respective.
  • Type de réponse : type de réponse renvoyé par l'adresse HTTP. Les types de réponse suivants sont pris en charge :
    • text/plain
    • text/html
    • application/json
    • application/xml
  • Protocole : (facultatif) cette option est applicable uniquement dans le cas d'Apache HTTP Server et doit être définie en fonction du protocole utilisé lors du repérage d'une ressource Apache HTTP Server. http ou https sont les deux valeurs possibles. Pour tous les autres types de ressource, cette propriété peut uniquement être définie sur https, qui est également la valeur par défaut.
    Remarque

    Une extension de mesure HTTP définie avec la valeur de protocole http peut être activée uniquement pour les ressources Apache HTTP Server repérées avec une valeur de protocole correspondante, http ou https, respectivement.
  • Fichier script : fichier JavaScript qui convertit la réponse d'URL en données de mesure significatives. Ce fichier doit avoir une fonction appelée runMethod avec une signature prédéfinie. Cette fonction doit toujours renvoyer un tableau bidimensionnel, qui transporte les données transformées qui correspondent exactement aux mesures et aux dimensions définies dans l'extension de mesure.

    Paramètres de runMethod(metricObservation, sourceProps) :

    Paramètre Description
    metricObservation Réponse de l'URL nécessaire pour générer les données de mesure.
    sourceProps Liste des paires clé-valeur et contient les propriétés d'instance de la ressource pour laquelle l'extension de mesure est exécutée.

    Exigences fonctionnelles de runMethod :

    • Analysez la réponse à partir de l'URL contenue dans le paramètre metricObservation.
    • Générez les données de mesure/dimension requises et renvoyez-les dans un tableau bidimensionnel.
    • Utilisez sourceProps, si nécessaire, pour implémenter la logique fonctionnelle.

Exemple :

Les paramètres de création d'une extension de mesure pour le type de ressource Apache HTTP Server qui capture CacheRetrievesCount pour les cas d'accès réussis et non réussis à l'aide d'une méthode de collecte HTTP sont décrits ci-dessous :

  • Propriétés d'extension de mesure:
    Nom de propriété Valeur de propriété
    Nom ME_GetCacheRetrievesCount
    Nom d'affichage Obtenir le nombre d'extractions de cache
    Description

    Extension de mesure pour le type de ressource Apache HTTP Server qui capture CacheRetrievesCount pour les cas d'accès réussis et non réussis

  • Propriétés de méthode de collecte:
    Nom de propriété Valeur de propriété dans l'interface utilisateur Valeur de propriété sur l'API (seulement si elle est différente de l'interface utilisateur)
    Fréquence de collecte 1 Heures FRÉQ=HEURE ;INTERVALLE=1
    Méthode de collecte protocole HTTP
    Type de ressource Apache HTTP Server apache_http_server
    URL %metric_endpoint% ?auto=fictif
    Type de réponse texte/brut TEXT_PLAIN
    Type de protocole HTTP
    Fichier de script

    const METRIC_NAMES = ["CacheRetrieveMissCount", "CacheRetrieveHitCount"] ;

    fonction runMethod(metricObservation, sourceProps)

    {

    métriques const = {} ;

    const metricOutput = metricObservation ;

    /*

    Réponse d'URL d'analyse disponible dans metricObservation

    Voici une partie de l'échantillon de réponse :

    ************************

    TLSSessionCacheStatus

    CacheType : CMCB

    CacheSharedMemory : 512000

    CacheCurrentEntries : 0

    CacheSubcaches : 32

    CacheIndexesPerSubcaches : 88

    CacheIndexUsage : 0 %

    CacheUsage : 0 %

    CacheStoreCount : 5

    CacheReplaceCount : 0

    CacheExpireCount : 5

    CacheDiscardCount : 0

    CacheRetrieveHitCount : 0

    CacheRetrieveMissCount : 104

    CacheRemoveHitCount : 0

    CacheRemoveMissCount : 0

    ************************

    */

    const lines = metricOutput.trim().split("\n") ;

    pour (ligne constante de lignes) {

    const lineParts = line.trim().split() : ") ;

    if (lineParts.length === 2 && METRIC_NAMES.includes(lineParts[0])) {

    metrics[lineParts[0]] = parseFloat(lineParts[1]) ;

    }

    }

    /*

    Générez un tableau bidimensionnel avec des valeurs pour la dimension CacheRetrievesType et la mesure CacheRetrievesCount

    */

    return [['Hit', metrics["CacheRetrieveHitCount"]],

    ['Miss', metrics["CacheRetrieveMissCount"]]] ;

    }

    • "content" - Doit contenir le contenu encodé base64 du fichier JavaScript
    • "name" : ahs_cacheRetrieves.js

  • Mesure/dimensions :
    Mesure/dimension Propriétés de mesure/dimension
    CacheRetrievesType
    • Type de valeur : String
    • Est une dimension ? : Oui
    • Est caché ? : Non
    CacheRetrievesCount
    • Type de valeur : Nombre
    • Est une dimension ? : Non
    • Est caché ? : Non

Expressions de calcul

Pour créer des expressions de calcul valides, vous devez laisser de l'espace entre les opérateurs et les opérandes/noms de mesure.

Exemple :

((MetricA * MetricB) / MetricC)

Veuillez noter l'utilisation de space entre MetricA et le symbole *. De même, un espace est important entre * et MetricB, entre parenthèses fermantes et symbole /, symbole / et MetricC.

Le tableau suivant indique les opérateurs qui peuvent être utilisés lors de la définition de l'expression de calcul :

Opérateur Exemple Explication
!= MetricA != 1 Renvoie false si la valeur de MetricA est 1, sinon renvoie true.
% MetricA % MetricB Renvoie le reste lorsque la valeur de MetricA est divisée par MetricB
() ? : (MetricA == 'HAUT') ? 1 : 0 Cet opérateur est équivalent à une instruction if, alors else. Cette expression renverra 1 si la valeur MetricA est "UP", sinon elle renverra 0.
* (MetricA * MetricB) + MetricC Multipliez d'abord les valeurs MetricA et MetricB, puis ajoutez la valeur MetricC et renvoyez le résultat.
+ MetricA + MetricB Renvoie la somme des valeurs de MetricA et MetricB.
- (MetricA + MetricB) - MetricC Ajoutez d'abord les valeurs MetricA et MetricB, puis soustrayez la valeur MetricC et renvoyez le résultat.
/ (MetricA + MetricB) / 2 Renvoie la moyenne des valeurs MetricA et MetricB.
< MetricA < MetricB Renvoie True si la valeur de MetricA est inférieure à MetricB, sinon renvoie False.
<= MetricA <= MetricB Renvoie True si la valeur de MetricA est inférieure ou égale à MetricB, sinon renvoie False.
== MetricA == 1 Renvoie true si la valeur de MetricA est 1, sinon renvoie false.
> MetricA > MetricB Renvoie True si la valeur de MetricA est supérieure à MetricB, sinon renvoie False.
>= MetricA >= MetricB Renvoie True si la valeur de MetricA est supérieure ou égale à MetricB, sinon renvoie False.
__commence par MetricA __commence par 'ORA-' Renvoie true si la valeur de MetricA commence par la chaîne 'ORA-', sinon renvoie false
__ceil __plafond MetricA Renvoie la valeur de MetricA arrondie à l' entier supérieur le plus proche.
__contient MetricA __contient 'ORA-' Renvoie true si la valeur de MetricA contient la chaîne 'ORA-', sinon renvoie false.
__delta __delta MetricA Renvoie la différence entre la valeur en cours et la valeur précédente de MetricA.
__plancher __étage MetricA Renvoie la valeur de MetricA arrondie à l'entier inférieur le plus proche.
__intervalle MetricA / __intervalle Renvoie la valeur MetricA divisée par l'intervalle de collecte.
__est_nul __est_null MetricA Renvoie true si la valeur de MetricA est NULL, sinon renvoie false.
__length __longueur MetricA Renvoie la longueur de la valeur de chaîne MetricA.
__correspond à MetricA __correspond à 'UP' Renvoie True si la valeur de MetricA est égale à 'UP', sinon renvoie False.
__arrondi __rond MetricA Cette expression arrondit la valeur de MetricA à l'entier le plus proche, par opposition à zéro.
__à_bas __à_bas MetricA Renvoie les minuscules de la valeur de chaîne MetricA.
__to_upper __to_upper MetricA Renvoie les majuscules de la valeur de chaîne de MetricA

Utilisation des opérateurs :

Cet attribut indique la formule de calcul de la valeur de la mesure. Les mesures précédemment définies dans l'extension de mesure peuvent participer au calcul.

Reportez-vous aux exemples pour plus de détails sur la grammaire et l'utilisation de l'expression.

Valeurs spéciales prédéfinies :

Remarque

Pour les entrées d'expression de chaîne requises pour certains opérateurs, indiquez la valeur d'entrée entre apostrophes ( ' ).

  • __interval : intervalle de collecte. Sa fréquence de collecte est représentée en secondes.
  • __sysdate : heure actuelle du système.
  • _metricName : fait référence à la valeur de la mesure lors de sa collecte précédente. metricName doit être remplacé par le nom de la mesure réelle.
  • __GMTdate : heure GMT actuelle.
  • __contains : teste une expression de chaîne donnée pour détecter la présence d'une expression de chaîne.
  • __beginswith : vérifie si une expression de chaîne donnée commence par une expression de chaîne spécifiée.
  • __endswith : teste si une expression de chaîne donnée se termine par l'expression de chaîne spécifiée.
  • __matches : teste si une expression de chaîne donnée correspond à une expression de chaîne spécifiée.
  • __delta : calcule la différence entre la valeur en cours et la valeur précédente.
  • __leadingchars : renvoie les caractères de début dans la chaîne spécifiée.
  • __trailingchars : renvoie les caractères de fin de la chaîne spécifiée.
  • __substringpos : renvoie la position de l'occurrence du motif dans une chaîne spécifiée.
  • __is_null : vérifie si l'expression est NULL
  • __is_notnull : vérifie si l'expression n'est pas NULL
  • __length : renvoie la longueur de l'expression de chaîne.
  • __to_upper : convertit la chaîne en majuscules.
  • __to_lower : convertit la chaîne en minuscules.
  • __ceil : renvoie la valeur entière la plus petite au moins inférieure à l'identifiant.
  • __floor : renvoie la valeur entière la plus grande qui ne soit pas supérieure à l'identificateur.
  • __round : arrondit à l'entier le plus proche, à l'écart de zéro.

Exemples :

  • NAME="Average" COMPUTE_EXPR="(MetricA + MetricB )/ 2"

    La valeur de la mesure correspond à la moyenne des deux autres mesures MetricA et MetricB.

  • NAME="Version" COMPUTE_EXPR="(MetricA __contains 'NetApp Release 7.') ? 7.0 : 6.0"

    La valeur de la version de mesure est calculée comme suit : 7.0 si la mesure MetricA contient la chaîne NetApp version 7.

  • NAME="MetricA" COMPUTE_EXPR="(MetricB - MetricC)"

    La valeur de la mesure MetricA est la différence entre les colonnes MetricB et MetricC.

  • NAME="Status" COMPUTE_EXPR="State __matches 'STARTED'"

    La valeur du statut de mesure est 1 si la valeur de la colonne State correspond à la chaîne STARTED et 0 dans le cas contraire.

  • NAME="MetricA" COMPUTE_EXPR="(__is_null MetricB)?'yes':'no'"

    La valeur de la colonne MetricA est Oui si la valeur de Metric2 est NULL et non dans les autres cas.

  • NAME="Source" COMPUTE_EXPR="((__length result) == 0) ? 'empty' : result"

    La valeur de la source de mesure est une chaîne vide si la longueur de la valeur de chaîne du résultat de mesure est 0. Sinon, il s'agit de la valeur du résultat de mesure lui-même.

  • NAME="Rate" COMPUTE_EXPR="(__ceil (MetricA/__interval))"

    La valeur du taux de mesure est la valeur de la mesure MetricA divisée par l'intervalle de collecte, arrondie au nombre entier le plus élevé.

  • NAME="MetricA" COMPUTE_EXPR="((MetricB == 0) ? 0 : ((MetricC / (MetricB / 8)) * 100.0))"

    La valeur de MetricA est 0 si MetricB est égal à 0, sinon la valeur de MetricA est 100* MetricC divisée par 1/8e de MetricB, le calcul basé sur MetricB et MetricC utilise la formule ci-dessus lorsque MetricB n'est pas égal à 0, sinon elle est 0.

  • NAME="PERCENTAGE_VALUE" COMPUTE_EXPR="(Metric1 != 0) ? 100.0*(Metric2/Metric1) : 0"

    La valeur de la colonne correspond au pourcentage total de disque disponible, où Metric1 et Metric2 sont des mesures existantes dans l'extension de mesure.

  • NAME="RATE_OF_CHANGE" COMPUTE_EXPR="((MetricA - _MetricA) / __interval)"

    Le delta et le taux d'une mesure peuvent être générés dans une expression de calcul en soustrayant sa valeur précédemment collectée de la valeur collectée actuelle pour obtenir le delta et en divisant le delta par __interval pour obtenir le taux.

Création d'alarmes dans les extensions de mesure

Vous pouvez créer des règles d'alarme pour déclencher des alarmes lorsque les valeurs de mesure de vos extensions de mesure dépassent les seuils. Utilisez le workflow général que vous suivez pour créer une règle d'alarme pour les mesures intégrées de vos ressources. La principale différence se trouve dans la section Description de la mesure.

Dans la section Description de la mesure de la règle Alarm :

  • Compartiment : choisissez le compartiment de la ressource sur laquelle l'extension de mesure a été activée
  • Espace de noms de mesure : sélectionnez oracle_metric_extensions_appmgmt
  • Groupe de ressources : type de ressource de la ressource sur laquelle l'extension de mesure a été activée.

La création d'une règle d'alarme pour une extension de mesure d'un hôte est illustrée dans l'image ci-dessous :


création de règles d'alarme pour les extensions de mesure