Recopilación de las métricas de procesos con el complemento procstat
El complemento procstat permite recopilar las métricas de procesos individuales. Es compatible con los servidores Linux y con servidores con versiones compatibles de Windows Server.
Temas
Configuración del agente de CloudWatch para procstat
Para utilizar el complemento procstat, agregue una sección procstat
en la sección metrics_collected
del archivo de configuración del agente de CloudWatch. Existen tres formas de especificar los procesos para supervisar. Puede utilizar solo uno de estos métodos, pero puede utilizar ese método para especificar uno o varios procesos para supervisar.
-
pid_file
: selecciona los procesos por los nombres de los archivos de número de identificación de proceso (PID) que estos procesos crean. -
exe
: selecciona los procesos que tienen nombres de proceso que coinciden con la cadena que especifique, utilizando reglas coincidentes con expresiones regulares. La coincidencia es una coincidencia «contains» (contiene), lo que significa que si especificaagent
como el término con el que coincidir, procesa con nombres comocloudwatchagent
coincidir con el término. Para obtener más información, consulte Sintaxis. -
pattern
: selecciona los procesos por las líneas de comandos utilizadas para iniciar los procesos. Se seleccionan todos los procesos que tienen líneas de comandos que coinciden con la cadena especificada con reglas de coincidencia de expresiones regulares. Se comprueba toda la línea de comandos, incluidos parámetros y opciones utilizados con el comando.La coincidencia es una coincidencia «contains» (contiene), lo que significa que si especifica
-c
como el término para coincidir, procesa con parámetros como-config
coincidir con el término. -
drop_original_metrics
: opcional. Si utiliza el campoaggregation_dimensions
de la secciónmetrics
para agrupar las métricas en resultados agregados, de forma predeterminada, el agente envía tanto las métricas agregadas como las métricas originales, separadas para cada valor de la dimensión. Si no desea que las métricas originales se envíen a CloudWatch, puede especificar este parámetro con una lista de métricas. No se notifican a CloudWatch las métricas especificadas junto con este parámetro por dimensión. En su lugar, solo se registran las métricas agregadas. Esto reduce la cantidad de métricas que recopila el agente, lo que reduce los costes.
El agente CloudWatch utiliza solo uno de estos métodos, incluso si incluye más de una de las secciones anteriores. Si especifica más de una sección, el agente de CloudWatch utiliza la sección pid_file
en caso de que esté presente. En caso contrario, utiliza la sección exe
.
En servidores Linux las cadenas que especifique en una sección pattern
o exe
se evalúan como expresiones regulares. En servidores que ejecutan Windows Server, estas cadenas se evalúan como consultas de WMI. Un ejemplo sería pattern: "%apache%"
. Para obtener más información, consulte Operador LIKE
Independientemente del método que utilice, puede incluir un parámetro metrics_collection_interval
opcional, que especifique la frecuencia en segundos para recopilar dichas métricas. Si omite este parámetro, se utiliza el valor predeterminado de 60 segundos.
En los ejemplos de las siguientes secciones, la sección procstat
es la única sección incluida en la sección metrics_collected
del archivo de configuración del agente. Los archivos de configuración reales también incluyen otras secciones en metrics_collected
. Para obtener más información, consulte Cree o edite de forma manual el archivo de configuración del agente de CloudWatch.
Configuración con pid_file
En el siguiente ejemplo, la sección procstat
supervisa los procesos que crean los archivos PID example1.pid
y example2.pid
. De cada proceso se recopilan diferentes métricas. Las métricas recopiladas desde el proceso que crea example2.pid
se recopilan cada 10 segundos y las métricas recopiladas desde el proceso example1.pid
se recopilan cada 60 segundos, que es el valor predeterminado.
{ "metrics": { "metrics_collected": { "procstat": [ { "pid_file": "/var/run/example1.pid", "measurement": [ "cpu_usage", "memory_rss" ] }, { "pid_file": "/var/run/example2.pid", "measurement": [ "read_bytes", "read_count", "write_bytes" ], "metrics_collection_interval": 10 } ] } } }
Configuración con exe
En el siguiente ejemplo, la sección procstat
supervisa todos los procesos con nombres que coinciden con las cadenas agent
o plugin
. De cada proceso se recopilan las mismas métricas.
{ "metrics": { "metrics_collected": { "procstat": [ { "exe": "agent", "measurement": [ "cpu_time", "cpu_time_system", "cpu_time_user" ] }, { "exe": "plugin", "measurement": [ "cpu_time", "cpu_time_system", "cpu_time_user" ] } ] } } }
Configuración con patrón
En el siguiente ejemplo, la sección procstat
supervisa todos los procesos con líneas de comandos que coinciden con las cadenas config
o -c
. De cada proceso se recopilan las mismas métricas.
{ "metrics": { "metrics_collected": { "procstat": [ { "pattern": "config", "measurement": [ "rlimit_memory_data_hard", "rlimit_memory_data_soft", "rlimit_memory_stack_hard", "rlimit_memory_stack_soft" ] }, { "pattern": "-c", "measurement": [ "rlimit_memory_data_hard", "rlimit_memory_data_soft", "rlimit_memory_stack_hard", "rlimit_memory_stack_soft" ] } ] } } }
Métricas que procstat ha recopilado
En la siguiente tabla se muestran las métricas que puede recopilar con el complemento procstat
.
El agente de CloudWatch agrega procstat
al principio de los siguientes nombres de métricas. Existe una sintaxis diferente en función de si se ha recopilado de un servidor Linux o un servidor con Windows Server. Por ejemplo, la métrica cpu_time
aparece como procstat_cpu_time
cuando la recopila de Linux y como procstat cpu_time
cuando la recopila de Windows Server.
Nombre de métrica | Disponible en | Descripción |
---|---|---|
|
Linux |
El periodo de tiempo que el proceso utiliza la CPU. Esta métrica se mide en centésimas de segundo. Unidad: recuento |
|
Linux |
El periodo de tiempo que el proceso está en modo invitado. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna |
|
Linux |
La cantidad de tiempo que el proceso se ejecuta en un invitado niced. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna |
|
Linux |
El periodo de tiempo que el proceso está en modo inactivo. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna |
|
Linux |
El periodo de tiempo que el proceso está a la espera de que se completen las operaciones de entrada/salida. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna |
|
Linux |
El periodo de tiempo que el proceso está atendiendo interrupciones. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna |
|
Linux |
El periodo de tiempo que el proceso está en modo correcto. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna |
|
Linux |
La cantidad de tiempo que el proceso está atendiendo interrupciones de software. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna |
|
Linux |
La cantidad de tiempo que se dedica a ejecutarse en otros sistemas operativos cuando se ejecuta en un entorno virtualizado. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna |
|
Linux, Windows Server |
El periodo de tiempo en que el proceso se encuentra en tiempo descartado, que es el tiempo empleado en otros sistemas operativos en un entorno virtualizado. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna |
|
Linux, Windows Server y macOS |
El periodo de tiempo que el proceso está en modo de sistema. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: recuento |
|
Linux, Windows Server y macOS |
El periodo de tiempo que el proceso está en modo de usuario. Esta métrica se mide en centésimas de segundo. Unidad: recuento |
|
Linux, Windows Server y macOS |
El porcentaje de tiempo que el proceso está activo en cualquier capacidad. Unidad: porcentaje |
|
Linux y macOS |
La cantidad de memoria que el proceso utiliza para datos. Unidades: bytes |
|
Linux y macOS |
La cantidad de memoria que el proceso tiene bloqueada. Unidades: bytes |
|
Linux, Windows Server y macOS |
La cantidad de memoria real (conjunto residente) que está utilizando el proceso. Unidades: bytes |
|
Linux y macOS |
La cantidad de memoria de pila que el proceso está utilizando. Unidades: bytes |
|
Linux y macOS |
La cantidad de memoria de intercambio que el proceso está utilizando. Unidades: bytes |
|
Linux, Windows Server y macOS |
La cantidad de memoria virtual que el proceso está utilizando. Unidades: bytes |
|
Linux |
El número de descriptores de archivos que tiene abiertos este proceso. Unidad: ninguna |
|
Linux, Windows, macOS |
El número de hilos en este proceso. Unidad: ninguna |
|
Linux, Windows Server y macOS |
Identificador de proceso (ID). Unidad: ninguna |
|
Linux, Windows Server y macOS |
El número de ID de proceso asociado con el proceso. En los servidores Linux y en los equipos macOS, el nombre completo de esta métrica es Unidad: ninguna |
|
Linux, Windows Server |
El número de bytes que el proceso ha leído de los discos. Unidades: bytes |
|
Linux, Windows Server |
El número de bytes que el proceso ha escrito en los discos. Unidades: bytes |
|
Linux, Windows Server |
El número de operaciones de escritura en disco que el proceso ha ejecutado. Unidad: ninguna |
|
Linux |
El límite estricto de la prioridad en tiempo real que se puede establecer para este proceso. Unidad: ninguna |
|
Linux |
El límite flexible de la prioridad en tiempo real que se puede establecer para este proceso. Unidad: ninguna |
|
Linux |
El límite estricto del número máximo de señales que puede poner en cola este proceso. Unidad: ninguna |
|
Linux |
El límite flexible del número máximo de señales que puede poner en cola este proceso. Unidad: ninguna |
|
Linux |
El límite estricto de la prioridad máxima aceptable que se puede establecer para este proceso. Unidad: ninguna |
|
Linux |
El límite flexible de la prioridad máxima aceptable que se puede establecer para este proceso. Unidad: ninguna |
|
Linux |
El límite estricto del número máximo de descriptores de archivos que pueden tener abiertos. Unidad: ninguna |
|
Linux |
El límite flexible del número máximo de descriptores de archivos que pueden tener abiertos. Unidad: ninguna |
|
Linux, Windows Server |
El número de operaciones de escritura en disco que el proceso ha ejecutado. Unidad: ninguna |
|
Linux |
El número de veces que el proceso se ha cambiado de contexto involuntariamente. Unidad: ninguna |
|
Linux |
El número de veces que el proceso se ha cambiado de contexto voluntariamente. Unidad: ninguna |
|
Linux |
El uso actual de prioridad en tiempo real para el proceso. Unidad: ninguna |
|
Linux |
El uso actual de prioridad aceptable para el proceso. Unidad: ninguna |
|
Linux |
El número de señales pendiente de ser gestionadas por el proceso. Unidad: ninguna |
|
Linux |
El límite duro de recursos de tiempo de CPU para el proceso. Unidad: ninguna |
|
Linux |
El límite flexible de recursos de tiempo de CPU para el proceso. Unidad: ninguna |
|
Linux |
El límite duro de bloqueos de archivos para el proceso. Unidad: ninguna |
|
Linux |
El límite flexible de bloqueos de archivos para el proceso. Unidad: ninguna |
|
Linux |
El límite duro de recursos en el proceso de memoria utilizada para los datos. Unidades: bytes |
|
Linux |
El límite flexible de recursos en el proceso de memoria utilizada para los datos. Unidades: bytes |
|
Linux |
El límite duro de recursos en el proceso de memoria bloqueada. Unidades: bytes |
|
Linux |
El límite flexible de recursos en el proceso de memoria bloqueada. Unidades: bytes |
|
Linux |
El límite duro de recursos en el proceso de memoria física. Unidades: bytes |
|
Linux |
El límite flexible de recursos en el proceso de memoria física. Unidades: bytes |
|
Linux |
El límite duro de recursos en la pila de procesos. Unidades: bytes |
|
Linux |
El límite flexible de recursos en la pila de procesos. Unidades: bytes |
|
Linux |
El límite duro de recursos en el proceso de memoria virtual. Unidades: bytes |
|
Linux |
El límite flexible de recursos en el proceso de memoria virtual. Unidades: bytes |
Visualización de las métricas de proceso que el agente de CloudWatch ha importado.
Después de importar métricas de proceso en CloudWatch, puede ver estas métricas como gráficos de series temporales y crear alarmas que puedan ver estas métricas y notificarle si infringen un umbral especificado. El siguiente procedimiento muestra cómo se pueden ven las métricas de proceso como un gráfico de series temporales. Para obtener más información sobre cómo se configura una alarma, consulte Uso de las alarmas de Amazon CloudWatch.
Para ver las métricas en la consola de CloudWatch
-
Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/
. -
En el panel de navegación, seleccione Métricas.
-
Elija el espacio de nombres que se usará para las métricas que el agente ha recopilado. De forma predeterminada, este es CWAgent, pero es posible que haya especificado un espacio de nombres diferente en el archivo de configuración del agente de CloudWatch.
-
Elija una dimensión de métrica (por ejemplo, Per-Instance Metrics [Métricas por instancia]).
-
La pestaña All metrics muestra todas las métricas para dicha dimensión en el espacio de nombres. Puede hacer lo siguiente:
-
Para representar gráficamente una métrica, active la casilla de verificación situada junto a ella. Para seleccionar todas las métricas, seleccione la casilla de verificación en la fila de encabezado de la tabla.
-
Para ordenar la tabla, utilice el encabezado de columna.
-
Para filtrar por recurso, seleccione el ID de recurso y, a continuación, elija Add to search (Añadir a la búsqueda).
-
Para filtrar por métrica, elija el nombre de la métrica y, a continuación, seleccione Add to search (Añadir a búsqueda).
-
(Opcional) Para agregar el gráfico a un panel de CloudWatch, elija Actions (Acciones) y después Add to dashboard (Añadir al panel).