Extensiones de métricas

Introducción

Las extensiones de métricas permiten crear métricas completas en cualquier tipo de recurso que supervise Stack Monitoring. Las extensiones de métricas le permiten crear métricas personalizadas para supervisar condiciones específicas de su entorno de TI. Esto le ofrece una vista completa del entorno.

La creación de extensiones métricas le permite simplificar los procesos operativos de su organización de TI aprovechando Stack Monitoring como la única herramienta de supervisión central para todo su entorno en lugar de basarse en otras herramientas de supervisión para proporcionar esta supervisión complementaria.

Ciclo de Vida de Extensión de Métricas

El desarrollo de una extensión de métrica sigue las mismas fases que cabría esperar de cualquier personalización mediante programación.

La creación de una extensión de métrica implica las siguientes fases:

Trabajar con Extensiones de Métrica

Requisitos

Se necesitan determinadas políticas para utilizar extensiones de métricas. Para obtener más información, consulte Creación de políticas para operadores de extensión de métrica.

Desarrollo de extensiones de métricas

  1. Creación de Extensiones de Métricas
  2. Prueba y edición de extensiones de métricas
  3. Clonar extensiones de métricas
  4. Exportar e importar extensiones de métricas

Creación de Extensiones de Métricas

  1. En el menú Stack Monitoring, seleccione Extensiones de métricas.
  2. Haga clic en Crear extensión de métrica. Se muestra el panel de interfaz de usuario Crear extensión de métrica.
  3. Propiedades de Extensiones de Métrica:

    1. Introduzca un Nombre para la extensión de métrica. El nombre de la extensión de métrica siempre tendrá un prefijo ME_ .
      Nota

      El nombre de extensión de métrica debe ser único en un tipo de recurso.
    2. Introduzca un Nombre mostrado para la extensión de métrica.
    3. Introduzca una Descripción de la extensión de métrica.
  4. Las propiedades del método de recopilación especifican el tipo de recurso para la extensión de métrica que se está creando y otras propiedades de recopilación:

    • Tipo de recurso: tipo de recurso (por ejemplo, host, base de datos de contenedor) para el que está creando la extensión de métrica. Para obtener más información sobre los tipos de recursos soportados y sus propiedades de instancia soportadas, consulte Tipos de recursos soportados y sus propiedades de instancia soportadas.
    • Frecuencia de recopilación: especifique la frecuencia con la que se debe recopilar la extensión de métrica.
    • Método de recopilación: especifique el tipo de método de recopilación necesario para recopilar la extensión de métrica. Se admiten los siguientes métodos de recopilación. Para obtener detalles de cada método de recopilación y ejemplos, consulte Collection Method Properties.
      1. Comando del sistema operativo: este método ejecuta la secuencia de comandos o el comando del sistema operativo especificado y analiza cada línea de salida de comando (delimitada por un carácter especificado por el usuario) en varios valores. El resultado de la métrica es una tabla de varias filas y varias columnas.
      2. SQL: este método ejecuta consultas SQL personalizadas, funciones o scripts SQL en bases de datos, lo que devuelve resultados en una tabla de métricas.
      3. JMX: (Java Management Extensions): este método recupera los atributos de JMX de los servidores activados para JMX y devuelve estos atributos como una tabla de métricas.
      4. HTTP: este método llama al punto final HTTP(S) específico, es decir, URL, y utiliza el archivo JavaScript especificado para transformar la respuesta como tabla de métricas.
  5. Métricas/dimensiones:

    Para cada uno de los valores devueltos mediante la ejecución de una extensión de métrica, identifique si el valor es una métrica o dimensión junto con sus propiedades asociadas.

    Nota

    • Se espera que los valores devueltos por los scripts personalizados den como resultado una tabla de varias filas y varias columnas.
    • La salida de cada columna se debe identificar como una métrica o dimensión junto con sus atributos asociados.
    • Un punto de datos de métrica debe ser un número.

    Las dimensiones de métrica deben contener los siguientes atributos:

    1. Nombre: especifique el nombre de la métrica o dimensión que solo tenga alfabetos ingleses en PascalCase, es decir, cada primera letra de la palabra debe ser una letra mayúscula sin espacios ni números entre según los requisitos de supervisión de OCI. Algunos ejemplos de un buen nombre de métrica son CpuUtilization, TotalDatabaseSize, FileSystemUsage, etc.
      Nota

      Las métricas de borrador pueden tener los mismos nombres para el mismo tipo de recurso, pero no en el caso de las métricas publicadas. Si ya se utiliza un nombre de métrica concreto para un tipo de recurso y se utiliza en una extensión de métrica publicada, otra métrica que forme parte de cualquier otro nombre de extensión de métrica publicado para el mismo tipo de recurso no podrá utilizarlo.

      Por ejemplo, si hay una extensión de métrica publicada ME_FirstMetricExtension para el tipo de recurso host_linux y tiene una métrica denominada MetricFirst, no se puede publicar otra extensión de métrica, ME_SecondMetricExtension para el mismo tipo de recurso, host_linux, que tiene una métrica con el nombre MetricFirst.

      Esta restricción no se aplica a métricas y dimensiones ocultas.

    2. Nombre mostrado (opcional): especifique el nombre mostrado, si es diferente del nombre. El nombre mostrado también puede incluir espacios y números.
    3. ¿Es la dimensión?: seleccione No si desea definir una métrica; seleccione si desea definir una dimensión de métrica.

      Una dimensión es un calificador para una métrica y debe ser un valor único para cada fila de los resultados de la recopilación de métricas. Por ejemplo, una métrica puede ser el porcentaje de uso del sistema de archivos y la dimensión es el nombre del sistema de archivos.

    4. ¿Está oculto? (Avanzado): seleccione si la métrica solo se utilizará en expresiones de Compute, es decir, si la métrica se utiliza solo como valor para calcular otra métrica o si no es necesario enviarla a OCI Monitoring. De lo contrario, seleccione No.
    5. Tipo de valor: todas las métricas no ocultas deben ser numéricas; una métrica o dimensión oculta puede ser String o Number.
    6. Unidad: unidad asociada a la métrica. Las unidades posibles podrían ser, según la métrica, latencia en segundos, milisegundos, microsegundos, minutos o frecuencia en hercios o porcentaje.
    7. Categoría: identifique el tipo de datos de métrica que recopila la métrica: disponibilidad, capacidad, carga y utilización
    8. Expresión de cálculo: utilice expresiones de cálculo para calcular el valor de una métrica basándose en operaciones matemáticas o lógicas realizadas en otras métricas o dimensiones de la misma extensión de métrica. Las expresiones de cálculo necesitan que se defina al menos otra métrica en primer lugar y solo pueden incluir aquellas otras métricas que ya se hayan definido en la extensión de métrica. Para obtener más información, consulte Expresiones informáticas.

  6. Crear y probar o Crear la extensión de métrica

    • Crear y probar permite probar la extensión de métrica en uno o más recursos y verificar que los valores devueltos son correctos. En función de los valores devueltos, puede continuar editando y probando de forma iterativa.

      Nota

      Al probar una extensión de métrica, se reiniciará Management Agent. Como resultado, se recomienda probar las extensiones de métricas en recursos que no sean de producción.
      Nota

      Si detecta que una columna está fuera de lugar, utilice el botón Reordenar métricas/dimensiones para corregirla.
    • Crear permite guardar la definición de extensión de métrica y realizar pruebas con los recursos más adelante.

Prueba y edición de extensiones de métricas

  1. Después de crear la extensión de métrica, se encuentra en estado Provisional. Mientras está en estado Provisional, puede continuar editando la definición de extensión de métrica y probar la extensión de métrica con los recursos.
  2. La prueba implica seleccionar un recurso en el que se pueda probar la métrica. Este proceso puede tardar unos minutos, ya que implica desplegar la extensión de métrica en los agentes del recurso y ejecutar la recopilación de métricas en el recurso.
    Nota

    Los recursos en los que puede probar y activar más adelante las extensiones de métricas deben estar activados con Stack Monitoring Enterprise Edition. Para obtener más información, consulte Configuración de licencias.
    Nota

    Al probar una extensión de métrica, siga estas directrices:
    • No realizar pruebas en entornos de producción.
    • Asigne una instancia de recurso de prueba con su propio agente de gestión dedicado a la prueba. Una consulta/secuencia de comandos que se está probando en la extensión de métrica podría tener un rendimiento deficiente y, por lo tanto, afectar a otras funciones de Management Agent.
    • Si la prueba da como resultado un fallo, repita los pasos para crear las extensiones de métricas.
    • Si la prueba se realiza correctamente, verifique que los valores de métrica devueltos son correctos.
Nota

Si detecta que una columna está fuera de lugar, utilice el botón Reordenar métricas/dimensiones para corregirla.

Clonar extensiones de métricas

La clonación de una extensión de métrica permite el desarrollo de una nueva extensión de métrica a partir de una existente.

Para una extensión de métrica en estado Borrador o Publicado, en el menú de nivel de fila, seleccione Clonar, que abre el panel de interfaz de usuario Crear extensiones de métrica. Se rellena toda la información de la extensión de métrica original, pero el Nombre, que es el nombre de la extensión de métrica original seguido de Clone. Edite los parámetros según sea necesario y finalice siguiendo el resto del proceso de Creación de extensiones de métrica.

Exportar e importar extensiones de métricas

La importación y exportación de extensiones de métricas permite una mayor flexibilidad al trabajar con extensiones de métricas, como compartirlas entre compartimentos y almacenar extensiones de métricas localmente.

  • Para exportar extensiones de métricas:

    1. Para una extensión de métrica en estado Borrador o Publicado, en el menú de nivel de fila, seleccione Exportar para guardar localmente la extensión de métrica.
    2. El nombre predeterminado del archivo incluye un registro de hora y un prefijo MetricExtensions-Export. Edite el nombre del archivo de exportación según sea necesario y haga clic en Guardar.
  • Para importar extensiones de métrica, haga clic en Importar extensión de métrica y seleccione el archivo de extensión de métrica que se va a importar.
    Nota

    Al importar una extensión de métrica, asegúrese de que el archivo está utilizando schemeVersion mayor o igual que 1.0.0.

Publicación de Extensiones de Métricas

Las extensiones de métricas no están disponibles para uso general hasta que se publiquen. Después de probar y verificar los resultados de la extensión de métrica, puede publicarla. Una vez que se publica una extensión de métrica, se puede activar en los recursos.

Nota

Una vez que se publica una extensión de métrica, no se puede editar ni probar más.

Activación de extensiones de métricas en recursos

Una vez que se ha publicado la extensión de métrica, se puede activar y desplegar en los recursos previstos. Al activar la extensión de métrica, se despliega en el agente que supervisa el recurso, que inicia la recopilación de métricas en el recurso.

Para activar extensiones de métricas en recursos:

  1. Seleccione la extensión de métrica publicada de la lista de extensiones de métrica.
  2. En el menú de acción de nivel de fila, seleccione Activar.
  3. Seleccione los recursos en los que desea iniciar la recopilación de métricas.
    Nota

    Los recursos en los que puede activar las extensiones de métricas deben tener definida la licencia de Enterprise Edition. Para obtener más información, consulte Configuración de licencias.
  4. El proceso de activación de una extensión de métrica en un recurso puede tardar unos minutos, ya que implica desplegar la extensión de métrica en el agente e iniciar la recopilación de métricas en los recursos seleccionados. Asegúrese de permanecer en la página para realizar un seguimiento del estado de la solicitud de activación.
    Nota

    Al desplegar una extensión de métrica en el agente por primera vez (como parte de la activación de una extensión de métrica en un recurso), el despliegue puede tardar hasta dos minutos. Esto puede provocar el reinicio del agente y, por lo tanto, puede que vea que el agente no informa del estado de todos los recursos supervisados por ese agente durante los dos minutos.

Visualización de extensiones de métricas

Una vez activada la extensión de métrica en un recurso, se mostrará automáticamente en los gráficos de rendimiento de su página inicial. Puede identificar la extensión de métrica localizando el símbolo * junto al nombre de métrica.

Los datos de métrica de la extensión de métrica se almacenan en el mismo compartimento que el recurso en el que están activados en el espacio de nombres oracle_metric_extensions_appmgmt.


Página inicial de supervisión de pila con extensiones de métrica

En Estado empresarial y alarmas, para mostrar la extensión de métrica en cualquiera de los gráficos:

  1. Personalice el gráfico haciendo clic en el icono del lápiz.
  2. En el cuadro de diálogo de edición que aparece, seleccione:
    1. Espacio de nombres: oracle_metric_extensions_appmgmt
    2. Tipo de recurso: tipo del recurso en el que se ha creado la extensión de métrica.
    3. Nombre de métrica: métrica de la extensión de métrica.

    adición de extensiones de métricas a Enterprise Manager

Parámetros de Extensión de Métricas

Tipos de recursos soportados y sus propiedades de instancia soportadas

Nombre mostrado de tipo de recurso Tipo de recurso El plugin pertenece a Métodos de recopilación admitidos Lista de propiedades de instancia
Apache HTTP Server apache_http_server gestión de app OS_COMMAND, HTTP compartmentId,metric_endpoint,httpd_conf_path,httpd_bin_path,httpd_pid_path,protocolo,listen_port,os_type
Apache Tomcat apache_tomcat gestión de app OS_COMMAND, JMX compartmentId,service_url
ASM oci_oracle_asm dbaas OS_COMMAND, SQL  
Instancia de cluster oci_oracle_cluster_instance dbaas OS_COMMAND oracleHome
DB de Contenedor oci_oracle_cdb dbaas OS_COMMAND, SQL  
EBS ebs_instance gestión de app OS_COMMAND, SQL nombre de host,db_port,db_sid,db_host,db_service,allowed_logon_version,app_schema,long_running_request_threshold_in_minutes
Listener de aplicación de EBS oracle_ebs_app_lsnr gestión de app OS_COMMAND listener_ora_directory,oracle_home,tns_control
Procesamiento simultáneo de EBS oracle_ebs_conc_mgmt_service gestión de app OS_COMMAND, SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version,long_running_request_threshold_in_minutes
Procesamiento simultáneo de EBS - Especializado oracle_ebs_conc_mgmt_service_specialized gestión de app OS_COMMAND, SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version
Sistema de pantallas de EBS oracle_ebs_forms_system gestión de app OS_COMMAND, SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version
Listener de agente del flujo de trabajo de EBS oracle_ebs_wf_agent_lsnr gestión de app OS_COMMAND, SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version
Motor en segundo plano del flujo de trabajo de EBS oracle_ebs_wf_bkgd_engine gestión de app OS_COMMAND, SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version
Distribuidor de notificaciones del flujo de trabajo de EBS oracle_ebs_wf_notification_mailer gestión de app OS_COMMAND, SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version
Elasticsearch elastic_search gestión de app OS_COMMAND, HTTP es_base_url
GoldenGate oracle_goldengate gestión de app OS_COMMAND, HTTP ogg_url,compartmentId
GoldenGate Servicio de administración oracle_goldengate_admin_server gestión de app OS_COMMAND, HTTP compartmentId,process_name,api_process_name,pm_server_url,deployment_path
Despliegue de GoldenGate oracle_goldengate_deployment gestión de app OS_COMMAND, HTTP compartmentId,ogg_url,ogg_hostname,ogg_port
GoldenGate Ruta de distribución oracle_goldengate_distribution_path gestión de app OS_COMMAND, HTTP compartmentId,distribution_server_url,path_name,deployment_path
GoldenGate Servicio de distribución oracle_goldengate_distribution_server gestión de app OS_COMMAND, HTTP compartmentId,process_name,api_process_name,pm_server_url,deployment_path
Extracto de GoldenGate oracle_goldengate_extract gestión de app OS_COMMAND, HTTP pm_server_url,process_name,api_process_name,compartmentId,deployment_path
GoldenGate Servicio de métricas de rendimiento oracle_goldengate_pm_server gestión de app OS_COMMAND, HTTP compartmentId,pm_server_url,process_name,api_process_name,deployment_path
GoldenGate Ruta de receptor oracle_goldengate_receiver_path gestión de app OS_COMMAND, HTTP receiver_server_url,path_name,compartmentId,deployment_path
GoldenGate Servicio de receptor oracle_goldengate_receiver_server gestión de app OS_COMMAND, HTTP compartmentId,process_name,api_process_name, versión,pm_server_url,deployment_path
GoldenGate Replicación oracle_goldengate_replicat gestión de app OS_COMMAND, HTTP compartmentId,pm_server_url,api_process_name,process_name,deployment_path
GoldenGate Gestor de servicios oracle_goldengate_service_manager gestión de app OS_COMMAND, HTTP ogg_url,ogg_hostname,ogg_port,compartmentId,service_manager_url
GPU gpu gestión de app OS_COMMAND pciId
Host - Linux host_linux gestión de app OS_COMMAND compartmentId,hostType,osType
Host - Solaris host_solaris gestión de app OS_COMMAND compartmentId,hostType,osType
Host - Windows host_windows gestión de app OS_COMMAND compartmentId,hostType,osType
Listener oci_oracle_lsnr dbaas OS_COMMAND oracleHome,lsnrType,alias
Microsoft Internet Information Services microsoft_iis gestión de app OS_COMMAND compartmentId,nombre de host,total_cpus,total_memory
Sitio web de Microsoft Internet Information Services microsoft_iis_website gestión de app OS_COMMAND compartmentId,nombre de host,id,website_name
Microsoft SQL Server sql_server gestión de app OS_COMMAND, SQL compartmentId,inst_name,nombre de host,puerto,root_dir,os_platform,os_distro,os_release,time_zone,versión
Base de datos sin contenedor oci_oracle_db dbaas OS_COMMAND, SQL  
OpenSearch open_search gestión de app Comando del sistema operativo, HTTP os_base_url
Oracle Access Management Cluster** oracle_oam_cluster gestión de app OS_COMMAND, JMX app_name,server_names,service_url
Oracle Access Management** oracle_oam gestión de app OS_COMMAND, JMX app_name,server_names,service_url,weblogic_home
Oracle HTTP Server oracle_http_server gestión de app OS_COMMAND compartmentId,service_url, nombre, versión,domain_name,node_manager_hostname,node_manager_port,ohs_home_path, tipo,owner_credentials
Cluster de Oracle Identity Manager** oracle_oim_cluster gestión de app OS_COMMAND, JMX service_url,app_name,server_names,versión
Oracle Identity Manager** oracle_oim gestión de app OS_COMMAND, JMX nombre de host,service_url,app_name,server_names,versión,weblogic_home
Tiempo de Ejecución de Oracle JVM oracle_jvm gestión de app OS_COMMAND, JMX compartmentId,service_url
Oracle Managed File Transfer**: oracle_mft gestión de app 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 gestión de app OS_COMMAND, JMX compartmentId, nombre,server_name,oracle_home, versión,service_url
Oracle WebLogic Cluster** weblogic_cluster gestión de app OS_COMMAND, JMX compartmentId,service_url,server_names, nombre, versión,dms_spy
Dominio de Oracle WebLogic** weblogic_domain gestión de app OS_COMMAND, JMX admin_server_host,admin_server_port,admin_server_protocol,admin_service,admin_service_url
Oracle WebLogic Server** weblogic_j2eeserver gestión de app OS_COMMAND, JMX compartmentId,service_url, nombre, versión,dms_spy
Base de datos conectable oci_oracle_pdb dbaas OS_COMMAND, SQL  
Aplicación PSFT oracle_psft gestión de app OS_COMMAND, SQL nombre de host,db_port,db_sid,db_host,db_service_name,peoplesoft_json_file,allowed_logon_version
Dominio del servidor de la aplicación PSFT. oracle_psft_appserv gestión de app OS_COMMAND, JMX nombre de host,jmx_url,ps_cfg_home,app_server_domain
Grupo de servidores de la aplicación PSFT oracle_psft_appserv_group gestión de app OS_COMMAND nombre de host,db_port,db_host,db_service
PSFT PIA oracle_psft_pia gestión de app OS_COMMAND, JMX ostname,jmx_url,ps_cfg_home,pia_domain
Grupo de PSFT PIA oracle_psft_pia_group gestión de app OS_COMMAND nombre de host,db_port,db_host,db_service
Supervisor de procesos PSFT oracle_psft_prcm gestión de app OS_COMMAND, SQL db_host,db_port,db_service_name
Dominio del Gestor de Procesos de PSFT oracle_psft_prcs gestión de app OS_COMMAND, JMX nombre de host,jmx_url,ps_cfg_home,prcs_domain
Grupo del Gestor de Procesos de PSFT oracle_psft_prcs_group gestión de app OS_COMMAND nombre de host,db_port,db_host,db_service
SOA Infrastructure** oracle_soainfra gestión de app OS_COMMAND, JMX compartmentId, nombre,server_name, versión,service_url

** Algunos tipos de recursos también admiten la supervisión remota. Sin embargo, también soportan la supervisión local, por lo tanto, el comando del sistema operativo solo está disponible para las instancias de recursos que están siendo supervisadas localmente por sus respectivos agentes de gestión.

Propiedades de Método de Recopilación

Método de recopilación de comandos del sistema operativo
  • Comando: comando que se va a ejecutar. Por ejemplo:
    • /bin/bash: para Linux
    • cmd.exe: para Windows

    La línea de comandos completa se creará como: Command + Script + Arguments.

    Antes de utilizar cualquier secuencia de comandos, asegúrese de que el comando/secuencia de comandos que se está invocando no sea destructivo.

    Nota

    Utilice comandos de shell dentro del contenido del script, ya que no se pueden utilizar directamente como parte del valor del comando.
  • Delimitador de salida: Cadena utilizada para delimitar la salida de comando. Un delimitador de ejemplo podría ser | .
  • Argumentos: argumentos de la secuencia de comandos o el comando separados por un espacio.
    Nota

    La propiedad de instancia de un tipo de recurso se puede transferir como argumento colocándola dentro de dos símbolos %. Por ejemplo, en el caso del tipo de recurso host_linux, osType es una propiedad de instancia aplicable. En caso de que deba transferir el valor de esta propiedad de instancia como argumento al script, la propiedad de argumento se puede definir en %osType%. La lista de propiedades de instancia disponibles se proporciona en la tabla Tipos de recursos soportados y sus propiedades de instancia soportadas.
  • Prefijo para salida: cadena inicial de las líneas de resultado de la métrica.

    Por ejemplo, si la salida del comando es: sm_result= 3454 | abc | def, la configuración Prefix for output = sm_result especifica que solo se utilizarán líneas que empiecen por sm_result para recopilar datos de métricas.

  • Archivo de script: script personalizado ejecutado para generar los datos de métrica.
Ejemplo:

A continuación se describen los parámetros de creación de una extensión de métrica para un tipo de recurso de listener que captura la carga de manejador, maxload, establecida, rechazada, los ID de manejador y el ratio de conexión para cada servicio mediante un método de recopilación de comandos del sistema operativo:

  • Propiedades de Extensión de Métrica:

    Nombre de la Propiedad Valor de Propiedad
    Nombre ME_GetListenerDetails
    Nombre mostrado Obtener detalles del listener
    Descripción

    Extensión de métrica para el tipo de recurso del listener que captura la carga del manejador, maxload, establecida, rechazada, los ID del manejador y el ratio de conexiones para cada servicio

  • Propiedades de método de recopilación:

    oracleHome, alias y lsnrType son propiedades de instancia del tipo de recurso Listener utilizado en la propiedad Argumentos dentro de los símbolos %. Aquí, los símbolos % se utilizan para contener las referencias de propiedad de instancia

    Nombre de la Propiedad Valor de propiedad en interfaz de usuario Valor de propiedad en API (SOLO si es diferente de la interfaz de usuario)
    Tipo de Recurso Listener oci_oracle_lsnr
    Método de Recopilación comando del sistema operativo OS_COMMAND
    Frecuencia de recopilación 15 Minutos FRECUENCIA=MÍNIMO;INTERVALO=15
    Comando /bin/bash  
    Delimitador |  
    Argumentos %oracleHome% %alias% %lsnrType%  
    prefijo para salida. resultado=  
    Script

    services.sh

    • "content" - Debe contener el contenido codificado base64 de services.sh

    • "nombre": services.sh
  • Métricas/dimensiones:

    Métrica/dimensión Propiedades de métrica/dimensión
    TotalRefusedConnections
    • Tipo de valor: Número

    • ¿Es dimensión?: No

    • Oculto?: No

    TotalEstablishedConnections
    • Tipo de valor: Número

    • ¿Es dimensión?: No

    • Oculto?: No

    MaxConnections
    • Tipo de valor: Número

    • ¿Es dimensión?: No

    • Oculto?: No

    • Unidad: Conexiones

    HandlerId
    • Tipo de valor: Cadena

    • ¿Es dimensión?: Sí

    • Oculto?: No

    EstablishedConnectionsRate
    • Tipo de valor: Número

    • ¿Es dimensión?: No

    • Oculto?: No

    • Expresión informática: (TotalEstablishedConnections > _TotalEstablishedConnections) ? ((TotalEstablishedConnections - _TotalEstablishedConnections) / __interval) : 0
    • Unidad: Conexiones por Segundo

    • __interval se puede utilizar para derivar métricas de ratio. Tenga en cuenta que __interval siempre es igual a la representación de "segundos" del campo "Frecuencia de recopilación". Por ejemplo, si la frecuencia de recopilación es de 15 minutos, __interval es 15x60, es decir, 900 segundos.
    • "_" cuando se agrega un prefijo a un nombre de métrica tiene un significado especial. Dicha representación en expresiones de cálculo se puede utilizar para hacer referencia al valor de una métrica tal y como se calcula en la última recopilación de una extensión de métrica. Se puede utilizar en expresiones de cálculo para derivar el cambio en el valor de una métrica concreta en comparación con su último valor recopilado. Este prefijo especial se puede utilizar para derivar métricas delta.
    ActiveConnections
    • Tipo de valor: Número

    • ¿Es dimensión?: No

    • Oculto?: No

    • Unidad: Conexiones

Método de Recopilación SQL

  • Consulta SQL: Consulta SQL que se ejecutará. Por ejemplo, select a.ename, (select count(*) from emp p where p.mgr=a.empno) directs from emp a.

    Las sentencias PL/SQL también están soportadas y, si se utilizan, se deben rellenar las propiedades Posición del parámetro de salida y Tipo de parámetro de salida. Las variables de enlace se pueden transferir a la consulta SQL mediante las propiedades En parámetro.

  • Script SQL: cargue el script SQL necesario para ejecutar y proporcionar las propiedades Parámetro de entrada y Parámetro de salida correspondientes. Puede utilizar una consulta SQL o un script SQL.
  • En parámetro (opcional): se pueden utilizar para proporcionar la variable de enlace para el caso de consulta SQL o en parámetros para el caso de script SQL.
    Nota

    Esta propiedad soporta el uso del marcador de posición de propiedad de instancia que se puede utilizar para sustituir el marcador de posición por el valor real de la propiedad de instancia del recurso para el que se recopila la métrica. Por ejemplo, para oracle_psft, db_service_name es una propiedad de instancia. Se puede transferir dentro de un valor En parámetro dentro de un par de símbolos % (porcentaje), como %db_service_name%.
  • Posición del parámetro de salida (opcional): es el número de posición del parámetro de salida.
  • Tipo de parámetro de salida (opcional): este es el tipo de parámetro de salida.
Ejemplo:

A continuación se describen los parámetros de creación de una extensión de métrica para un tipo de recurso de base de datos sin contenedor que captura el tiempo de espera para diferentes clases de espera mediante un método de recopilación SQL:

  • Propiedades de Extensión de Métrica:

    Nombre de la Propiedad Valor de Propiedad
    Nombre ME_GetWaitTime
    Nombre mostrado Obtener tiempo de espera
    Descripción

    Extensión de métrica para tipo de recurso de base de datos sin contenedor que captura el

    Tiempo de espera para diferentes clases de espera

  • Propiedades de método de recopilación:

    Nombre de la Propiedad Valor de propiedad en interfaz de usuario Valor de propiedad en API (SOLO si es diferente de la interfaz de usuario)
    Frecuencia de recopilación 1 Horas FRECUENCIA=HORA;INTERVALO=1
    Método de Recopilación SQL  
    Tipo de Recurso Base de datos sin contenedor oci_oracle_db
    Consulta 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": debe llevar la sentencia SQL codificada base64

    • sqlType : DECLARACIÓN
  • Métrica/dimensiones:

    Métrica/dimensión Propiedades de métrica/dimensión
    InstanceNumber
    • Tipo de valor: Número

    • ¿Es dimensión?: Sí

    • Oculto?: No

    InstanceName
    • Tipo de valor: Cadena

    • ¿Es dimensión?: Sí

    • Oculto?: No

    HostName
    • Tipo de valor: Cadena

    • ¿Es dimensión?: Sí

    • Oculto?: No

    WaitClass
    • Tipo de valor: Cadena

    • ¿Es dimensión?: Sí

    • Oculto?: No

    TimeWaitedSeconds
    • Tipo de valor: Número

    • ¿Es dimensión?: No

    • Oculto?: No

    • Unidad: Segundos

Método de Recopilación JMX

  • MBean name - JMX MBean ObjectName o nombre de tabla de servicio de métrica.
    Nota

    Esta propiedad soporta el uso del marcador de posición de propiedad de instancia que se puede utilizar para sustituir el marcador de posición por el valor real de la propiedad de instancia del recurso para el que se recopila la métrica. Por ejemplo, para weblogic_j2eeserver, service_url es una propiedad de instancia. Se puede transferir dentro de la cadena de valor de nombre MBean dentro de los símbolos %, como %service_url%.

    Los atributos JMX y la columna de identidad también soportan el uso del marcador de posición de propiedad de instancia.

  • atributos JMXAtributos de Java Management Extensions (JMX). Lista de atributos JMX o columnas de servicio de métrica, separadas por punto y coma.
  • Columna de identidad (opcional): lista separada por puntos y coma de propiedades clave del bean gestionado ObjectName que se utilizarán como métricas clave.
  • Prefijo de fila automático(Opcional): se trata del prefijo utilizado para una fila generada automáticamente como métricas clave. Por ejemplo: si se define en ShipItem, los valores se definirán como ShipItem-0, ShipItem-1, etc.
  • ¿Servicio de métrica activado en dominio de servidor? (Opcional): indica si el servicio de métrica está activado en el dominio de servidor. Si se define en true, la propiedad básica MBean name debe representar el nombre de la tabla Metric Service y la propiedad básica JMX attributes representará una lista separada por punto y coma de nombres de columna para la tabla MetricService.
    Nota

    Active esta opción solo si tiene el servicio de métricas aplicable al tipo de recurso y activado en los dominios de servidor.
Ejemplo:

Parámetros de creación de una extensión de métrica para un tipo de recurso de oracle weblogic server que captura la hora de recopilación del recopilador de elementos no utilizados mediante el método de recopilación JMX.

  • Propiedades de Extensión de Métrica:

    Nombre de la Propiedad Valor de Propiedad
    Nombre* ME_TotalGcExecutionTime
    Nombre Mostrado* Obtener tiempo total de recopilación de elementos no utilizados
    Descripción

    Extensión de métrica para el tipo de recurso de oracle weblogic server que captura el

    tiempo total de ejecución de la recopilación de basura

  • Propiedades de método de recopilación:

    Aquí nombre es una propiedad de instancia de Oracle Weblogic Server y se utiliza dentro del marcador de posición de propiedad de instancia % dentro del atributo Mbean name de la definición de extensión de métrica de tipo JMX.

    Nombre de la Propiedad Valor de propiedad en interfaz de usuario Valor de propiedad en API (SOLO si es diferente de la interfaz de usuario)
    Tipo de Recurso Oracle WebLogic Server weblogic_j2eeserver
    Método de Recopilación JMX  
    Frecuencia de recopilación 1 Días FRECUENCIA=DIARIO;INTERVALO=1
    Mbean name java.lang:Ubicación=%name%,tipo=GarbageCollector,*  
    Atributos de JMX CollectionTime  
    Columna de identidad nombre;ubicación  
  • Métricas/dimensiones:

    Métrica/dimensión Propiedades de métrica/dimensión
    ServerName
    • Tipo de valor: Cadena

    • ¿Es dimensión?: Sí

    • Oculto?: No

    ServerRuntime
    • Tipo de valor: Cadena

    • ¿Es dimensión?: Sí

    • Oculto?: No

    TotalGCExecTime
    • Tipo de valor: Número

    • ¿Es dimensión?: No

    • Oculto?: No

    • Unidad: milisegundos

Método de recopilación HTTP

  • URL: punto final http(s) al que se debe llamar para obtener datos de métrica raw. Por ejemplo: %metric_endpoint%?auto=dummy
    Nota

    Esta propiedad soporta el uso del marcador de posición de la propiedad de instancia que se puede utilizar para sustituir el marcador de posición por el valor real de la propiedad de instancia del recurso para el que se está recopilando la métrica. En el ejemplo anterior, metric_endpoint es una propiedad de instancia del tipo de recurso Apache HTTP Server y se menciona en un par de símbolos % (porcentaje). Cuando se ejecuta la extensión de métrica, el valor real de %metric_endpoint% se sustituye por el valor de propiedad de instancia del recurso respectivo.
  • Tipo de respuesta: tipo de respuesta devuelta por el punto final http(s). Están soportados los siguientes tipos de respuestas:
    • text/plain
    • text/html
    • application/json
    • application/xml
  • Protocolo (opcional): se aplica solo en el caso de Apache HTTP Server y se debe definir según el protocolo utilizado al detectar un recurso de Apache HTTP Server. http o https son los dos valores posibles. Para todos los demás tipos de recursos, esta propiedad solo se puede definir en https, que también es el valor por defecto.
    Nota

    Una extensión de métrica HTTP definida con el valor de protocolo http solo se puede activar para los recursos de Apache HTTP Server detectados con un valor de protocolo coincidente, http o https, respectivamente.
  • Archivo de script: archivo JavaScript que convierte la respuesta de URL en datos de métrica significativos. Este archivo debe tener una función denominada runMethod con una firma predefinida. Esta función debe siempre devolver una matriz bidimensional que lleva los datos transformados que se asignan exactamente a las métricas y dimensiones definidas en la extensión de métrica.

    Parámetros de runMethod(metricObservation, sourceProps):

    parámetro Descripción
    metricObservation Respuesta de la URL necesaria para generar datos de métrica.
    sourceProps Lista de pares clave-valor y lleva las propiedades de instancia del recurso para el que se está ejecutando la extensión de métrica.

    Requisito funcional de runMethod:

    • Analice la respuesta de la URL incluida en el parámetro metricObservation.
    • Genere los datos de métrica/dimensión necesarios y devuélvalos en una matriz bidimensional.
    • Utilice sourceProps, si es necesario, para implantar la lógica funcional.

Por ejemplo:

A continuación se describen los parámetros de creación de una extensión de métrica para el tipo de recurso Apache HTTP Server que captura CacheRetrievesCount para casos de aciertos y faltas mediante un método de recopilación HTTP:

  • Propiedades de extensión de métrica:
    Nombre de la Propiedad Valor de Propiedad
    Nombre ME_GetCacheRetrievesCount
    Nombre mostrado Obtener recuento de recuperaciones de caché
    Descripción

    Extensión de métrica para el tipo de recurso de Apache HTTP Server que captura CacheRetrievesCount para casos de aciertos y faltas

  • Propiedades de método de recopilación:
    Nombre de la Propiedad Valor de propiedad en IU Valor de propiedad en API (SOLO si es diferente de la IU)
    Frecuencia de recopilación 1 Horas FRECUENCIA=HORA;INTERVALO=1
    Método de recopilación HTTP
    Tipo de recurso Apache HTTP Server apache_http_server
    URL %metric_endpoint%?auto=ficticio
    Tipo de Respuesta: texto/sin formato TEXT_PLAIN
    Tipo de Protocolo http
    Script

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

    función runMethod(metricObservation, sourceProps)

    {

    métricas constantes = {};

    const metricOutput = metricObservation;

    /*

    Respuesta de URL de análisis disponible en metricObservation

    A continuación se muestra una parte de la respuesta de ejemplo:

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

    TLSSessionCacheStatus

    CacheType: SHMCB

    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

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

    */

    líneas constantes = metricOutput.trim().split("\n");

    para (línea de líneas constante) {

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

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

    métricas[lineParts[0]] = parseFloat(lineParts[1]);

    }

    }

    /*

    Generar matriz bidimensional con valores para la dimensión CacheRetrievesType y la métrica CacheRetrievesCount

    */

    devolver [['Acierto', métricas["CacheRetrieveHitCount"]],

    ['Error', métricas["CacheRetrieveMissCount"]]];

    }

    • "content": debe llevar el contenido codificado base64 del archivo JavaScript
    • "name": ahs_cacheRetrieves.js

  • Métrica/dimensiones:
    Métrica/dimensión Propiedades de métrica/dimensión
    CacheRetrievesType
    • Tipo de valor: Cadena
    • ¿Es dimensión?: Sí
    • Oculto?: No
    CacheRetrievesCount
    • Tipo de valor: Número
    • ¿Es dimensión?: No
    • Oculto?: No

Expresiones de Cálculo

Para crear expresiones de cálculo válidas, debe proporcionar espacio entre operadores y operandos/nombres de métrica.

Ejemplo:

((MetricA * MetricB) / MetricC)

Tenga en cuenta el uso de space entre MetricA y el símbolo *. Del mismo modo, un espacio es importante entre * y MetricB, entre paréntesis de cierre y símbolo / y símbolo / y MetricC.

La siguiente tabla muestra los operadores que se pueden utilizar al definir la expresión de cálculo:

Operador Ejemplo Explicación
!= MetricA != 1 Devuelve false si el valor de MetricA es 1, si no, devuelve true.
% MetricA % MetricB Devuelve el resto cuando el valor de MetricA se divide por MetricB
() ? : (MetricA == 'ARRIBA') ? 1: 0 Este operador es equivalente a la sentencia if then else. Esta expresión devolverá 1 si el valor MetricA es 'UP', de lo contrario, devolverá 0.
* (MetricA * MetricB) + MetricC En primer lugar, multiplique los valores MetricA y MetricB y, a continuación, agregue el valor MetricC y devuelva el resultado.
+ MetricA + MetricB Devuelve la suma de los valores de MetricA y MetricB.
- (MetricA + MetricB) - MetricC Agregue primero los valores MetricA y MetricB y, a continuación, reste el valor MetricC y devuelva el resultado.
/ (MetricA + MetricB) / 2 Devuelve la media de los valores MetricA y MetricB.
< MetricA < MetricB Devuelve true si el valor de MetricA es menor que MetricB; de lo contrario, devuelve false.
<= MetricA <= MetricB Devuelve true si el valor de MetricA es menor o igual que MetricB; de lo contrario, devuelve false.
== MetricA == 1 Devuelve true si el valor de MetricA es 1, si no, devuelve false.
> MetricA > MetricB Devuelve true si el valor de MetricA es mayor que MetricB; de lo contrario, devuelve false.
>= MetricA >= MetricB Devuelve true si el valor de MetricA es mayor o igual que MetricB; de lo contrario, devuelve false.
__comienza con MetricA __beginswith 'ORA-' Devuelve verdadero si el valor de MetricA empieza por la cadena 'ORA-', si no, devuelve falso.
__ceil __ceil MetricA Devuelve el valor de MetricA redondeado al entero más alto.
__contiene MetricA __contiene 'ORA-' Devuelve true si el valor de MetricA contiene la cadena 'ORA-', si no, devuelve false.
__delta __delta MetricA Devuelve la diferencia entre el valor actual y el valor anterior de MetricA.
__suelo __piso MetricA Devuelve el valor de MetricA redondeado al entero más bajo.
__intervalo MetricA / __intervalo Devuelve el valor MetricA dividido entre el intervalo de recopilación.
Nulo __is_null MetricA Devuelve true si el valor de MetricA es NULL, si no, devuelve false.
__length __longitud MetricA Devuelve la longitud del valor de cadena de MetricA.
__coincide con MetricA __matches 'UP' Devuelve true si el valor de MetricA es igual a 'UP', o bien devuelve false.
__redondo __round MetricA Esta expresión girará el valor de MetricA al entero más cercano, alejado de cero.
__a_inferior __a_inferior MetricA Devuelve la minúscula del valor de cadena de MetricA.
__a_superior __a_superior MetricA Devuelve la mayúsculas del valor de cadena de MetricA

Uso de operadores:

Este atributo especifica la fórmula para calcular el valor de la métrica. Las métricas definidas previamente en la extensión de métrica pueden participar en el cálculo.

Consulte los ejemplos para obtener más información sobre la gramática y el uso de expresiones.

Valores especiales predefinidos:

Nota

Para las entradas de expresión de cadena necesarias para determinados operadores, proporcione el valor de entrada entre comillas simples ( ' ).

  • __intervalo: intervalo de recopilación. Su frecuencia de recopilación se representa en segundos.
  • __sysdate: hora actual del sistema.
  • _metricName: hace referencia al valor de la métrica durante su recopilación anterior. Mientras que metricName se debe sustituir por el nombre de la métrica real.
  • __GMTdate: hora GMT actual.
  • __contains: prueba una expresión de cadena determinada para detectar la presencia de una expresión de cadena. .
  • __beginswith: prueba si una expresión de cadena determinada comienza con una expresión de cadena especificada.
  • __endswith: prueba si una expresión de cadena determinada termina con la expresión de cadena especificada.
  • __matches: prueba si una expresión de cadena determinada coincide con una expresión de cadena especificada.
  • __delta: calcula la diferencia entre el valor actual y el valor anterior.
  • __leadingchars: devuelve los caracteres iniciales en la cadena especificada.
  • __trailingchars: devuelve los caracteres finales en la cadena especificada.
  • __substringpos: devuelve la posición de la ocurrencia del patrón dentro de una cadena especificada.
  • __is_null: prueba si la expresión es NULL
  • __is_notnull: prueba si la expresión es NOT NULL
  • __length: devuelve la longitud de la expresión de cadena.
  • __to_upper: convierte la cadena a mayúsculas.
  • __to_lower: convierte la cadena a minúsculas.
  • __ceil: devuelve el valor integral más pequeño no menor que el identificador.
  • __floor: devuelve el mayor valor integral no mayor que el identificador.
  • __round: redondea al entero más cercano, lejos de cero.

Ejemplos:

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

    El valor de la métrica es la media de las otras dos métricas MetricA y MetricB.

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

    El valor de la versión de métrica se calcula como 7.0 si la métrica MetricA contiene la cadena NetApp versión 7.

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

    El valor de la métrica MetricA es la diferencia entre las columnas MetricB y MetricC.

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

    El valor del estado de métrica es 1 si el valor del estado de columna coincide con la cadena STARTED y 0 en caso contrario.

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

    El valor de la columna MetricA es sí si el valor de Metric2 es nulo y no de otro modo.

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

    El valor del origen de métrica está vacío si la longitud del valor de cadena del resultado de métrica es 0; de lo contrario, es el valor del resultado de métrica en sí.

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

    El valor del ratio de métrica es el valor de la métrica MetricA dividido entre el intervalo de recopilación, redondeado al entero más grande.

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

    El valor de MetricA es 0 si MetricB es igual a 0; de lo contrario, el valor de MetricA es 100* MetricC dividido por 1/8 de MetricB, los calculados según MetricB y MetricC están utilizando la fórmula anterior cuando MetricB no es igual a 0, de lo contrario es 0.

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

    El valor de la columna es el porcentaje total de disco disponible donde Metric1 y Metric2 son métricas existentes en la extensión de métrica.

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

    El delta y el ratio de una métrica se pueden generar dentro de una expresión de cálculo restando su valor recopilado anteriormente del valor recopilado actual para obtener el delta y dividiendo el delta por __interval para obtener el ratio.

Creación de alarmas en extensiones de métricas

Puede crear reglas de alarma para disparar alarmas cuando los valores de métrica de las extensiones de métrica superen los umbrales. Utilice el mismo flujo de trabajo general que seguiría para crear una regla de alarma para las métricas incorporadas para los recursos. La principal diferencia está en la sección Metric description.

En la sección Metric description de la regla Alarm:

  • Compartimento: seleccione el compartimento del recurso en el que se ha activado la extensión de métrica
  • Espacio de nombres de métrica: seleccione oracle_metric_extensions_appmgmt
  • Grupo de recursos: tipo de recurso en el que se ha activado la extensión de métrica.

La creación de una regla de alarma para una extensión de métrica de un host se muestra en la siguiente imagen:


creación de reglas de alarma para extensiones de métricas