Tema anterior: Dispositivos de controlTema siguiente: Conmutadores


MON: dispositivo de control de aplicaciones

Última versión: 4.1.3-1

MON: dispositivo de control de aplicaciones

Vista rápida

Catálogo

Sistema

Categoría

Control

Volúmenes de usuario

yes

Memoria mín.

288 MB

SO

Linux

Restricciones

no

Descripción general del funcionamiento

MON es un dispositivo de control de la aplicación que recopila estadísticas (es decir, contadores) sobre el uso de recursos y rendimiento de otros dispositivos dentro de una aplicación. Los dispositivos comunican sus contadores a MON a través del terminal mon.

MON proporciona una interfaz visual mediante un explorador Web para acceder y ver los contadores de los dispositivos. Mediante la interfaz visual, se crean vistas que contienen una o varias gráficas. Cada gráfica muestra uno o varios contadores de los dispositivos. Acceda a la interfaz visual como se muestra a continuación:

Para obtener más información sobre cómo acceder y utilizar la interfaz visual, consulte la Guía de referencia de la interfaz de usuario.

MON también es compatible con el control en segundo plano de los contadores de dispositivos. MON controla en segundo plano todos los contadores en una sola vista, como se especifica por la propiedad alarm_view. Siempre que estos contadores superen un umbral especificado o descienda por debajo de este, MON genera una alarma en el controlador de grid de CA AppLogic®, que publica un mensaje en el cuadro de mandos. No es necesario abrir un explorador a la interfaz visual de MON para que MON controle en segundo plano los controladores de dispositivos.

Recursos

Recurso

Mínimo

Máximo

Predeterminado

CPU

0.05

4

0.10

Memoria

288 MB

2 GB

288 MB

Ancho de banda

1 Mbps

500 Mbps

100 Mbps

Terminales

Nombre

Dir.

Protocolo

Descripción

mon

in

CCE

Terminal en el que se reciben las estadísticas de uso de recursos y rendimiento.

web

in

HTTP

Terminal que se usa para acceder y consultar los contadores del dispositivo.

aux

in

Cualquiera

Entrada que se usa para la recolección programática de contadores.

La interfaz predeterminada está activada. El dispositivo utiliza la interfaz predeterminada para informar a CA AppLogic® que se ha inicializado correctamente. Se puede utilizar también para conectarse mediante un shell seguro al dispositivo desde el controlador de CA AppLogic®, ante todo para finalidades diagnósticas y de solución de problemas. La GUI de CA AppLogic® utiliza la interfaz predeterminada para acceder a la interfaz visual de un dispositivo MON.

Volúmenes de usuario

Volumen

Descripción

data

Lectura/escritura, proporciona almacenamiento para el estado persistente de MON (por ejemplo, vistas y gráficas).

Propiedades

Nombre de la propiedad

Tipo

Descripción

title

Cadena

Título para mostrar la interfaz visual de MON en la ventana del explorador. Si su valor está vacío, se utiliza el nombre de la aplicación. Valor predeterminado: vacío

user

Cadena

Nombre de usuario para la autenticación basada en Web. La autenticación se utiliza solamente cuando se accede a MON a través del terminal Web (es decir, a través de una puerta de enlace). No hay autenticación si se accede a la interfaz visual de MON por la GUI de CA AppLogic®. Si no se especifica ningún valor, no se realizará ninguna autenticación. Valor predeterminado: vacío

password

Cadena

Contraseña para la autenticación basada en Web. Esta propiedad no se utiliza si el valor de usuario está vacío. Valor predeterminado: vacío

alarm_view

Cadena

Nombre de la vista que contiene los contadores del dispositivo que se van a controlar en segundo plano. Solamente se puede especificar un nombre de vista. Si el valor está vacío, se desactiva el control en segundo plano. Valor predeterminado: vacío

Mensajes de error

Los mensajes siguientes pueden aparecer en el archivo de registro del dispositivo o en el registro del sistema del controlador de grid cuando el dispositivo falla al iniciarse:

Contadores y grupos de contadores

Se definen los siguientes grupos de contadores para todos los dispositivos:

Consulte Creación de contadores personalizados para ver cómo crear y controlar los contadores personalizados en un dispositivo.

Control de aplicaciones mediante la GUI de CA AppLogic®

El diagrama siguiente muestra un uso típico de MON para una aplicación sencilla. En esta aplicación, se puede acceder al control solamente a través de la GUI de CA AppLogic®.

Dispositivos en uso:

El terminal mon de todos los dispositivos se conecta al terminal mon de mon.

Nota: Para mostrar gráficos mediante Internet Explorer de Windows, debe establecerse la opción de visualización de todos los sitios web en el modo de compatibilidad. Para establecer este modo, acceda a la barra de menús, haga clic en Herramientas y Configuración de Vista de compatibilidad; a continuación, seleccione la casilla de verificación Mostrar todos los sitios web en Vista de compatibilidad y haga clic en Cerrar.

Control de aplicaciones mediante la GUI de CA AppLogic® y una dirección IP en el puerto 80

El siguiente diagrama muestra cómo se puede utilizar MON para acceder al Application Monitor mediante la GUI de CA AppLogic® o a través de una dirección IP

Dispositivos en uso:

El terminal mon de todos los dispositivos se conecta al terminal mon de mon.

El terminal out de admin está conectado al terminal Web de mon, de forma que los usuarios puede acceder a la herramienta de control a través de la dirección IP especificada por la propiedad ip_addr de admin.

Control de aplicaciones mediante la GUI de CA AppLogic® y una dirección IP en el puerto 8080

El siguiente diagrama muestra cómo se puede utilizar MON para acceder al Application Monitor mediante la GUI de CA AppLogic® o a través de una dirección IP de la aplicación en el puerto 8080.

Ejemplo: cómo se puede utilizar MON para acceder al Application Monitor mediante la GUI de AppLogic o a través de una dirección IP de la aplicación en el puerto 8080

Dispositivos en uso:

El terminal mon de todos los dispositivos se conecta al terminal mon de mon.

Se configura INSSLR para reenviar tráfico https al WEBx8 y todo el tráfico TCP al terminal aux. Se configura PS8 para reenviar todo el tráfico a través del puerto 8080 mediante out8 al terminal Web de mon. Esto permite que los usuarios puedan controlar la aplicación a través de la dirección IP de la aplicación especificada por la propiedad ip_addr de INSSLR en el puerto 8080.

Nota: El dispositivo MAIL no se distribuye con CA AppLogic®.

Control en segundo plano

Este caso de uso describe cómo utilizar MON para controlar en segundo plano contadores de dispositivos y hacer que generen alertas cuando el contador de un dispositivo esté fuera del intervalo.

  1. Establezca la propiedad alarm_view en MON como el nombre de una vista que contiene los contadores que hay que controlar.
  2. Reinicie la aplicación.
  3. Inicie sesión en el Application Monitor.
  4. Haga clic en el botón Nuevo para crear una nueva vista y darle el mismo nombre que la propiedad alarm_view.
  5. Haga clic en el botón Agregar gráfica para crear una nueva gráfica y agregarla a la vista.
  6. Seleccione un contador para controlarlo y agréguelo a la gráfica.
  7. Establezca el umbral de alarmas rellenando las dos casillas situadas junto a Alarma.
    Para definir un umbral mínimo, introduzca un valor en el cuadro de texto de la izquierda. No hay ningún umbral mínimo si este cuadro de texto se deja vacío.
    Para establecer un umbral máximo, introduzca un valor en el cuadro de texto derecho. No hay ningún umbral máximo si este cuadro de texto se deja vacío.
  8. Repita los pasos del 5 al 7 para controlar los demás contadores del dispositivo.

Cuando el contador de un dispositivo desciende por debajo del umbral especificado o lo supera, MON genera una alerta al controlador de CA AppLogic®. A continuación, se registra un mensaje en el cuadro de mandos que especifica qué contador y de qué dispositivo está fuera del intervalo. Para cada dispositivo, el controlador de CA AppLogic® solamente registra la última alerta en el cuadro de mandos, sin embargo especificará en el mensaje del cuadro de mandos si se han recibido varias alertas para el dispositivo. Todas las alertas se registran en /var/log/messages en el controlador de CA AppLogic®.

Nota: No es necesario abrir un explorador al Application Monitor para que MON controle en segundo plano los controladores de dispositivos.

Para detener el control del contador de un dispositivo específico, lleve a cabo las siguientes acciones:

Para desactivar el control en segundo plano, ejecute una de las siguientes acciones:

Interfaz de recolección de datos

A partir de la versión 1.1.3, el dispositivo MON proporciona una API de recolección de datos como servicio REST y exporta configuraciones y valores de contadores en formato XML, JSON y UDL. Para obtener más información sobre la API, consulte MonDataCollectionInterface.

Notas

Limitaciones conocidas

Para poder controlar una aplicación a través de la GUI de CA AppLogic®, el nombre del dispositivo de MON en la aplicación debe ser mon.

Software de código abierto y de terceros utilizado dentro del dispositivo

Software

Versión

Modificado

Licencia

Notas

CGI.pm

3.51-127

No

GPL+ o Artistic

N/D

perl-CGI-Session

4,35-5

No

GPL+ o Artistic

N/D

perl-Error

0,17015-4

No

GPL+ o Artistic

N/D

perl-IPC-Run

0.84-2

No

GPL+ o Artistic

N/D

freetype

2.3.11-6.el6_2.9

No

Licencia FreeType y GPLv2

N/D

httpd

2.0.63

No

Licencia de Apache

N/D

mod_perl

2.0.4-6

No

GPLv2

N/D

Contadores de dispositivos
Descripción general

Este documento define la lista de todos los contadores estándar exportados por CCA. CCA es el agente de recolección de contadores que se ejecuta en todos los dispositivos de CA AppLogic®. Se utiliza CCA para comunicar los contadores a la GUI de control expuesta por el dispositivo MON. La disponibilidad de estos contadores se podría limitar en algunas de las plataformas de dispositivos compatibles (como se indica en la siguiente tabla de contadores). Cuando el SO del dispositivo es compatible con un contador determinado, este debería estar visible en la GUI de MON cuando el terminal de salida mon del dispositivo esté conectado al dispositivo MON.

Resumen de CPU

Contador

Linux

Solaris

Windows

CPU I/O Wait

yes

yes

no

CPU Idle

yes

yes

yes

CPU Irq

yes

no

yes

CPU Nice

yes

no

no

CPU Soft Irq

yes

no

no

CPU System

yes

yes

yes

CPU Total

yes

yes

yes

CPU User

yes

yes

yes

Sistema de archivos

Contador

Linux

Solaris

Windows

Allocated File Handles

yes

yes

no

Block Devices

yes

yes

no

Block Devices Unique

yes

yes

no

Character Devices

yes

yes

no

Character Devices Unique

yes

yes

no

Directorios

yes

yes

no

Directories Unique

yes

yes

no

Fifos

yes

yes

no

Fifos Unique

yes

yes

no

Free File Handles

yes

yes

no

Regular Files

yes

yes

no

Regular Files Unique

yes

yes

no

Sockets

yes

yes

no

Sockets Unique

yes

yes

no

Used File Handles

yes

yes

no

Estadísticas de memoria

Contador

Linux

Solaris

Windows

Active (Activo)

yes

no

no

Buffers

yes

no

no

Cached

yes

no

yes

Libre

yes

yes

yes

High Free

yes

no

no

High Total

yes

no

no

High Used

yes

no

no

Inactivo

yes

no

no

Low Free

yes

no

no

Low Total

yes

no

no

Low Used

yes

no

no

Swap Cached

yes

no

no

Swap Free

yes

yes

no

Swap Pages IN

yes

yes

no

Swap Pages OUT

yes

yes

no

Swap Total

yes

yes

no

Swap Used

yes

yes

no

Total

yes

yes

no

Used

yes

yes

no

Programador

Contador

Linux

Solaris

Windows

Context switches

yes

yes

yes

Interrupts

yes

yes

yes

Jobs for 1 min

yes

yes

no

Jobs for 15 min

yes

yes

no

Jobs for 5 min

yes

yes

no

Pages IN

yes

yes

yes

Pages OUT

yes

yes

yes

Process startups

yes

yes

no

Processes blocked

yes

no

yes

Processes running

yes

no

yes

CPU#X

Contador

Linux

Solaris

Windows

CPU I/O Wait

yes

yes

no

CPU Idle

yes

yes

yes

CPU Irq

yes

no

yes

CPU Nice

yes

no

no

CPU Soft Irq

yes

no

yes

CPU System

yes

yes

yes

CPU Total

yes

yes

yes

CPU User

yes

yes

no

Volumen X

Contador

Linux

Solaris

Windows

Bytes Read

yes

yes

yes

Bytes Written

yes

yes

yes

Disk Reads

yes

yes

yes

Disk Sectors Read

yes

yes

no

Disk Sectors Written

yes

yes

no

Disk Writes

yes

yes

yes

Free Files

yes

yes

no

Free Space

yes

yes

yes

Time Spent in Reads

yes

no

yes

Time Spent in Writes

yes

no

yes

Total Files

yes

yes

no

Total Space

yes

yes

no

Used Files

yes

yes

no

Used Space

yes

yes

no

Terminal X

Contador

Linux

Solaris

Windows

Recvd bytes

yes

yes

yes

Recvd packets

yes

yes

yes

Sent bytes

yes

yes

yes

Sent packets

yes

yes

yes

Descripción general

Cada dispositivo que ejecuta el daemon de ccad (agente de recolección de contador) permite que los contadores personalizados se puedan definir y recopilar por servicios de utilidades de terceros. Esta capacidad se denominad interfaz de extensión y proporciona a los creadores de la aplicación la opción de controlar los datos del contador específico del dispositivo mediante la interfaz de usuario MON estándar.

Creación de contadores personalizados

Para controlar los contadores personalizados es necesario agregar las definiciones de los contadores a la configuración del ccad y suministrar los valores reales del contador a ccad.

Cómo agregar las definiciones de los contadores

Hay que definir los contadores personalizados en el archivo de configuración opcional /etc/ccad.conf (en el formato UDL). Siempre que se modifique la configuración, hay que reiniciar el daemon de ccad para que los cambios sean efectivos.

A continuación se indica un ejemplo sencillo de configuración:

counters Apache
   {
   pace = 1000
   pipe = /tmp/cca
   counter Total_Accesses
      {
      name        = "Total hits"
      desc        = "Total number of hits"
      units       = "#"
      type        = "MAX"
      }
   counter Total_kBytes
      {
      name        = "Total bytes"
      desc        = "Total number of bytes"
      units       = "bytes"
      type        = "MAX"
      }
   counter BusyWorkers
      {
      name        = "Active requests"
      desc        = "Number of active requests"
      units       = "#"
      type        = "MAX"
      }
   counter IdleWorkers
      {
      name        = "Idle servers"
      desc        = "Number of idle servers"
      units       = "#"
      type        = "MAX"
      }
   }

Este ejemplo define 4 contadores. Cada entidad de contador es compatible con los atributos siguientes:

El nombre de entidad de los contadores de nivel de raíz se utiliza como nombre de entidad cuando los contadores se muestran más adelante en MON. Además, los siguientes atributos son significativos para esta entidad:

Además del método de definición de contadores descrito anteriormente, ccad.conf permite agrupar contadores. Esto se consigue si las entidades de grupo "group" se colocan un nivel más profundo, como por ejemplo en el ejemplo siguiente:

counters Plants
   {
   pace = 2000
   pipe = /my-pipe
   counter tree: desc = "Any tree" , units = "#"
   group Fruits
      {
      desc = "Delicious Fruits!!!"
      counter pears : desc = "Number of pears"   , units = "pears"
      counter apples: desc = "Number of apples"  , units = "apples"
      }
   group Vegetables
      {
      counter potato: desc = "Number of potatoes", units = "potatoes"
      counter tomato: desc = "Number of tomatoes", units = "tomatoes"
      }
   }

Esta configuración produciría 3 entidades de contadores personalizados en la GUI de MON: - Plants, Delicious Fruits!!! y Vegetables con los 5 contadores definidos distribuidos entre ellos. Las entidades "group" son compatibles con un atributo "desc" (al igual que las entidades de contadores) que se puede utilizar para definir un nombre de grupo más rico, en contraposición al nombre de la entidad "group" más restringido. Los nombres de contadores deben ser únicos en el archivo de configuración; de lo contrario, no se podrá realizar la recolección de contadores para los nombres de contador duplicados.

Suministro de los datos de contador

Cuando el ccad se esté ejecutando con las definiciones de contador adecuadas, es necesario suministrar los valores de contador reales. Para ello, escriba los valores de contador en la canalización con nombre creada por el ccad (especificada por el atributo de canalización de /etc/ccad.conf, default /tmp/cca).
El formato correcto es uno de los siguientes:

contador = valor (el nombre y el valor están separados por =)

counter : value (el nombre y el valor están separados por :)
Un conjunto de contadores debe vaciarse (a MON) mediante la impresión de . o un carácter de avance de página (\f) en la canalización con nombre de una línea por sí mismo. Un script de recolección de contador (en Bash) podría llevar a cabo los pasos siguientes para suministrar contadores al ccad:

echo "Total_Accesses = 31" > /tmp/cca
echo "Total_kBytes = 22241" > /tmp/cca
echo "BusyWorkers = 6" > /tmp/cca
echo "IdleWorkers = 34" > /tmp/cca
echo "." > /tmp/cca

Esto se debería realizar con todos los milisegundos de velocidad, como se especifica en /etc/ccad.conf

A continuación se presenta un bucle de bash sencillo para recopilar los datos necesarios y suministrarlos al ccad. Se suministran más datos de los necesarios, ya que es más rápido proporcionar todos los datos recopilados al ccad (lo que ignorará las líneas que no son valores de contadores) que analizar los datos antes de ofrecerlos al ccad:

while true; do
   curl -s http://in/server-status?auto | sed "s/^Total\ /Total_/g" > /tmp/cca # this parses the data so it matches out counter definitions
   sleep 1 || exit 4        
   echo "." > /tmp/cca
done
Ejemplos

Ejemplo de Windows

El siguiente ejemplo de contador personalizado de Windows utiliza Perl.  Para instalar el paquete de Perl Win32 en un dispositivo de Windows gestionado si no está presente todavía:

A continuación, se presenta el código de ejemplo:

#!/bin/perl
use Win32::Pipe;

my $defaultPace=1000;
my $defaultPipe="\\\\.\\pipe\\cca";
my $ccadConf="/etc/ccad.conf";

sub get_value_from_config
   {
   open(F, $ccadConf) || die "can't open $ccadConf: $!\n";
   while(<F>)
      {
      #($name, $value) = split('=');
      my $row=$_;
      $row =~ m/^\s*(\w+)\s*=\s*(.*)\s*$/;
      if ($_[0] eq $1)
         {
         close F;
         return $2;
         }
      }
   close F;
   return "";
   }

my $cfgPace = &get_value_from_config("pace");
my $cfgPipe = &get_value_from_config("pipe");
if ($cfgPace eq "") { $cfgPace = $defaultPace; }
if ($cfgPipe eq "") { $cfgPipe = $defaultPipe; }
else { $cfgPipe = "\\\\.\\pipe\\".$cfgPipe; }

my $pipe;
$pipe = new Win32::Pipe($cfgPipe) || die "can't connect to pipe\n";
$pipe->ResizeBuffer(4096);

# este bucle suministra a un contador llamado Test con un valor que se incrementa en cada iteración
my $val = 0;
while (1)
  {
   $val ++;
   my $str = "Test = $val\n.";
   $pipe->Write( $str );
   sleep( $cfgPace / 1000 );
   }

Ejemplos de Linux

Apache

Nota: El servidor debe tener habilitado el "estado extendido".

#!/bin/bash

DEFAULT_PACE=1000
DEFAULT_PIPE=/tmp/cca
CCAD_CONF=/etc/ccad.conf
STATUS_URL='http://in/server-status?auto'
CURL=/usr/bin/curl
SED=/bin/sed
SLEEP=/bin/sleep
function get_value_from_config {
   CONF_VALUE=`grep -oE "$1[[:space:]]*=[[:space:]]*[^[:space:]]+" $CCAD_CONF |cut -d"=" -f 2|tr -d " "`
}
get_value_from_config "pace"
PACE=${CONF_VALUE:-$DEFAULT_PACE}
PACE=$(( $PACE / 1000 ))
get_value_from_config "pipe"
PIPE=${CONF_VALUE:-$DEFAULT_PIPE}
test -p $PIPE || exit 3
while true; do
   $CURL -s "$STATUS_URL" | $SED "s/^Total\ /Total_/g" > $PIPE
   sleep $PACE || exit 4
   echo "." > $PIPE
done

Mysql

#!/bin/bash

DEFAULT_PACE=1000
DEFAULT_PIPE=/tmp/cca
CCAD_CONF=/etc/ccad.conf
MYSQL='/usr/bin/mysql'
TR=/usr/bin/tr
SLEEP=/bin/sleep
function get_value_from_config {
   CONF_VALUE=`grep -oE "$1[[:space:]]*=[[:space:]]*[^[:space:]]+" $CCAD_CONF |cut -d"=" -f 2|tr -d " "`
}
get_value_from_config "pace"
PACE=${CONF_VALUE:-$DEFAULT_PACE}
PACE=$(( $PACE / 1000 ))
get_value_from_config "pipe"
PIPE=${CONF_VALUE:-$DEFAULT_PIPE}
test -p $PIPE || exit 3
while true; do
   $MYSQL -e 'show status'|$TR '[[:blank:]]' '=' > $PIPE
   $SLEEP $PACE || exit 4
   echo "." > $PIPE
done
Descripción general de la API de monitorización

Se pueden recopilar datos de contador y la configuración para los dispositivos conectados al dispositivo MON enviando solicitudes HTTP GET al terminal de entrada auxiliar del dispositivo MON. Esto se lleva a cabo mediante un protocolo personalizado basado en REST que se ejecuta a través de HTTP. Este protocolo define tres tipos de recursos:

Cada uno de estos tipos está integrado en el ámbito del anterior. Es decir, las entidades solo tienen significado en el ámbito de los dispositivos y los contadores solo son significativos en el ámbito de una entidad determinada. La API de recolección de datos permite recuperar todas las configuraciones de los contadores, así como los valores conocidos para MON.

MON exporta la configuración y los valores solicitados en cualquiera de los formatos de texto estructurado siguientes:

Protocolo de API de monitorización

Este protocolo únicamente utiliza el método GET HTTP, ya que sólo proporciona funcionalidad de lectura. Por ello, todos los tipos de solicitudes de protocolo compatibles se pueden definir mediante su URI y la estructura de salida. Los caracteres que se consideran especiales para el URI se deben escapar mediante la codificación % estándar. Definimos la salida mediante el esquema XML (el formato de salida principal es XML). La conversión a otros formatos de salida (UDL, JSON) se logra a través del uso directo del medio expresión de la estructura y los atributos del formato de salida correspondiente (por ejemplo entidades UDL frente a entidades XML, atributos UDL frente a atributos XML, objetos JSON frente a entidades XML, propiedades de objetos JSON frente a atributos XML).

El nodo raíz de todas las salidas contiene el atributo de marca de hora que proporciona la hora del servidor en el momento en que se crea la respuesta.

La siguiente es una descripción de todas los URL compatibles (llamadas).

Llamadas de configuración del contador

/monapi/desc[?fmt=<format>] 

Devuelve una lista de todos los dispositivos disponibles en un formato de salida especificado (<format> es uno de los formatos de salida conocidos como, por ejemplo, xml).

Salida:

<response timestamp="1194967464">
   <appliance name="main.web" />
   <appliance name="main.in" />
</response>

/monapi/desc/<apps>[?fmt=<format>] 

Devuelve una lista de todas las entidades disponibles dentro de los dispositivos solicitados (<apps>). <apps> puede ser un solo nombre de dispositivo, una lista de nombres de dispositivo separada por comas o un carácter comodín (*) que significa todos los dispositivos disponibles.

Salida:

<response timestamp="1194967464">
   <appliance name="main.web">
      <entity name="Terminal in">
      <entity name="Terminal out" />
      <entity name="Volume data" />
      <entity name="CPU" />
      <entity name="Memory" />
      <entity name="Network" />
   </appliance>
</response>
/monapi/desc/<apps>/<ents>[?fmt=<format>] 

Devuelve una lista de todos los contadores disponibles dentro de las entidades de dispositivo solicitadas (<ents>). <ents> puede ser un solo nombre de entidad, una lista de nombres de entidad separada por comas o un carácter comodín (*) que significa que son todas las entidades disponibles. Lo mismo para <apps>.

Salida:

<response timestamp="1194967464">
   <appliance name="main.web">
      <entity name="Terminal in">
         <counter name="Sent bytes" />
         <counter name="Received bytes" />
      </entity>
   </appliance>
</response>
/monapi/desc/<apps>/<ents>/<cnts>[?fmt=<format>] 

Devuelve las descripciones de los contadores solicitados (<cnts>). <ents>, <ents> y <ents> pueden ser un solo dispositivo/entidad/contador, una lista de éstos separada por comas o un carácter comodín.

Salida:

<response timestamp="1194967464">
   <appliance name="main.web">
      <entity name="Terminal in">
         <counter name="Sent bytes" description=""  units=""  alarm_below="" alarm_above="" range_lower="" range_upper="" pace="" />
         <counter name="Received bytes" description=""  units=""  alarm_below="" alarm_above="" range_lower="" range_upper="" pace="" />
      </entity>
   </appliance>
</response>

Llamadas de valores del contador

/monapi/val/<apps>/<ents>/<cnts>[?fmt=<format>] 

Devuelve los valores de los contadores especificados. Si alguno de los parámetros app, ent o cnt se omite, se asume el valor del carácter comodín. De esta forma, por ejemplo /monapi/val/main.web significaría "los valores de todos los contadores en todas las entidades del dispositivo main.web".

Salida:

<response timestamp="1194967464">
   <appliance name="main.web">
      <entity name="Terminal in">
         <counter name="Sent bytes" value="23234" />
         <counter name="Received bytes" value="690432" />
      </entity>
   </appliance>
</response>