Este tema describe los tipos de eventos de Application Real-Time Monitoring Service (ARMS) que se pueden publicar en EventBridge.
Tipos de eventos
A continuación se describen los tipos de eventos de ARMS que se pueden publicar en EventBridge.
|
Tipo de evento |
Valor del parámetro type |
|
arms:Agent:AgentStart |
|
|
arms:Agent:DeadLock |
|
|
Espacio en disco lleno |
arms:Agent:DiskFull |
|
Desconexión de aplicaciones |
arms:Agent:OffLine |
|
arms:Agent:OutofMemory |
|
|
Alertas 0-1 |
arms:Alert:0-1Alert |
|
Alertas de ARMS |
arms:Alert:ApplicationAlert |
|
arms:Alert:ApplicationDefaultAlert |
|
|
Alertas personalizadas |
arms:Alert:CustomAlert |
|
arms:Alert:FrontEndAlert |
|
|
Alertas predeterminadas de frontend |
arms:Alert:FrontEndDefaultAlert |
|
Alertas de microservicios |
arms:Alert:MSEAlert |
|
arms:Alert:PromethusAlert |
|
|
Alertas del sistema |
arms:Alert:SystemAlert |
|
Alertas de Tracing Analysis |
arms:Alert:XtraceAlert |
Para obtener más información sobre los parámetros definidos en la especificación CloudEvents, consulte Event overview.
Inicio del agente
El siguiente ejemplo muestra el evento que EventBridge recibe cuando se inicia un agente:
{
"specversion":"1.0",
"subject":"",
"source":"acs.arms",
"data":{
"dims":{
"ip":"10.96.XX.XX"
},
"info":{
"timestamp":"1605854706272"
}
},
"datacontenttype":"application/json",
"type":"arms:Agent:AgentStart",
"id":"d3598ce6-09d7-4264-9ba3-5b13c387****",
"time":"2020-11-19T21:04:41+08:00",
"aliyunaccountid":"123456789098****",
"aliyunpublishtime":"2020-11-19T21:04:42.179PRC",
"aliyuneventbusname":"default",
"aliyunregionid":"cn-hangzhou",
"aliyunpublishaddr":"172.25.XX.XX"
}
A continuación se describen los campos del parámetro data.
|
Campo |
Tipo |
Ejemplo |
Descripción |
|
dims |
Struct |
La dimensión. |
|
|
ip |
String |
10.96.XX.XX |
La dirección IP del servidor donde se inicia el agente. |
|
info |
Struct |
La descripción del evento. |
|
|
timestamp |
Timestamp |
1605854706272 |
La marca de tiempo cuando se inició el agente. |
Interbloqueos
El siguiente ejemplo muestra el evento que EventBridge recibe cuando ocurre un interbloqueo en la aplicación:
{
"specversion":"1.0",
"subject":"",
"source":"acs.arms",
"data":{
"dims":{
"ip":"172.16.XX.XX"
},
"threshold":0,
"info":"[ARMS] Found deadlock:\n\"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2\" Id=73 BLOCKED on com.mysql.jdbc.JDBC4Connection@490cd2c9 owned by \"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1\" Id=72\n\tat com.mysql.jdbc.ConnectionImpl.getCharacterSetMetadata(ConnectionImpl.java:2798)\n\t- blocked on com.mysql.jdbc.JDBC4Connection@490cd2c9\n\tat com.mysql.jdbc.Field.getStringFromBytes(Field.java:710)\n\tat com.mysql.jdbc.Field.getOriginalName(Field.java:652)\n\tat com.mysql.jdbc.ResultSetImpl.buildIndexMapping(ResultSetImpl.java:749)\n\tat com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1108)\n\tat com.mysql.jdbc.DatabaseMetaData$9.forEach(DatabaseMetaData.java:5030)\n\tat com.mysql.jdbc.IterateBlock.doForAll(IterateBlock.java:51)\n\tat com.mysql.jdbc.DatabaseMetaData.getTables(DatabaseMetaData.java:4962)\n\tat com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnectionNoQuery(DefaultConnectionTester.java:185)\n\tat com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnection(DefaultConnectionTester.java:62)\n\tat com.mchange.v2.c3p0.AbstractConnectionTester.activeCheckConnection(AbstractConnectionTester.java:67)\n\tat com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.testPooledConnection(C3P0PooledConnectionPool.java:368)\n\tat com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.refurbishIdleResource(C3P0PooledConnectionPool.java:310)\n\tat com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.run(BasicResourcePool.java:1999)\n\tat com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)\n\n\"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1\" Id=72 BLOCKED on com.mysql.jdbc.JDBC4ResultSet@17a62e0e owned by \"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2\" Id=73\n\tat com.mysql.jdbc.ResultSetImpl.realClose(ResultSetImpl.java:7477)\n\t- blocked on com.mysql.jdbc.JDBC4ResultSet@17a62e0e\n\tat com.mysql.jdbc.ResultSetImpl.close(ResultSetImpl.java:907)\n\tat com.mysql.jdbc.StatementImpl.realClose(StatementImpl.java:2478)\n\tat com.mysql.jdbc.ConnectionImpl.closeAllOpenStatements(ConnectionImpl.java:1584)\n\tat com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4364)\n\tat com.mysql.jdbc.ConnectionImpl.close(ConnectionImpl.java:1556)\n\tat com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:474)\n\tat com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:191)\n\tat com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.destroyResource(C3P0PooledConnectionPool.java:470)\n\tat com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask.run(BasicResourcePool.java:964)\n\tat com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)\n\n"
},
"datacontenttype":"application/json",
"type":"arms:Agent:DeadLock",
"id":"8fef5584-8de0-4e07-b891-4b6d10f2****",
"time":"2020-11-19T21:04:41+08:00",
"aliyunaccountid":"123456789098****",
"aliyunpublishtime":"2020-11-19T21:04:42.179PRC",
"aliyuneventbusname":"default",
"aliyunregionid":"cn-hangzhou",
"aliyunpublishaddr":"172.25.XX.XX"
}
A continuación se describen los campos del parámetro data.
Campo | Tipo | Ejemplo | Descripción |
dims | Struct | La dimensión. | |
ip | String | 172.16.XX.XX | La dirección IP del servidor donde ocurre el interbloqueo. |
info | String | | La descripción del evento. |
Memoria agotada
El siguiente ejemplo muestra el evento que EventBridge recibe cuando se agota la memoria en la aplicación:
{
"specversion":"1.0",
"subject":"",
"source":"acs.arms",
"data":{
"dims":{
"ip":"172.30.XX.XX"
},
"info":"java.lang.OutOfMemoryError at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:68)\\n at java.lang.StringBuilder.<init>(StringBuilder.java:101)"
},
"datacontenttype":"application/json",
"type":"arms:Agent:OutofMemory",
"id":"8fef5584-8de0-4e07-b891-4b6d10f2****",
"time":"2020-11-19T21:04:41+08:00",
"aliyunaccountid":"123456789098****",
"aliyunpublishtime":"2020-11-19T21:04:42.179PRC",
"aliyuneventbusname":"default",
"aliyunregionid":"cn-hangzhou",
"aliyunpublishaddr":"172.25.XX.XX"
}
A continuación se describen los campos del parámetro data.
Campo | Tipo | Ejemplo | Descripción |
dims | Struct | La dimensión. | |
ip | String | 172.30.XX.XX | La dirección IP del servidor donde se agota la memoria. |
info | String | | La descripción del evento. |
Alertas predeterminadas de ARMS
El siguiente ejemplo muestra el evento que EventBridge recibe cuando se activa una alerta predeterminada de ARMS:
{
"specversion":"1.0",
"subject":"",
"source":"acs.arms",
"data":{
"msgs":{
"0":{
"msg":"JVM monitoring node IP:172.27.XX. XX. The average number of threads in the last minute decreases from the previous hour by no more than 50.0%.",
"metric":"{\"alertId\":1712964,\"alertType\":7,\"appGroupId\":\"DEFAULT\",\"appId\":\"564575\",\"metricType\":1,\"pid\":\"9870ca99-8105-4da7-a3a4-d72dd1b1****\",\"regionId\":\"cn-hangzhou\",\"type\":\"JVM\"}",
"isTrigger":false,
"snapshot":{
"curVal0":0,
"curPoint":95,
"vpN0":95,
"vpP0":95,
"timestamp":1596615600000
},
"msgLink":"http://arms.console.alibabacloud.com/apm?startTime=1596611880000&endTime=1596615810704®ionId=cn-hangzhou&pid=9870ca99-8105-4da7-a3a4-d72dd1b1****#/9870ca99-8105-4da7-a3a4-d72dd1b1****/apps/%7B%22ip%22%3A%22172.27.0.25%22%2C%22tabs%22%3A%22jvm%22%7D",
"tags":{
"rootIp":"172.27.XX.XX"
}
},
"1":{
"msg":"JVM monitoring node IP:172.27.XX. XX. The average number of threads in the last minute decreases from the previous hour by no more than 50.0%.",
"metric":"{\"alertId\":1712964,\"alertType\":7,\"appGroupId\":\"DEFAULT\",\"appId\":\"564575\",\"metricType\":1,\"pid\":\"9870ca99-8105-4da7-a3a4-d72dd1b1****\",\"regionId\":\"cn-hangzhou\",\"type\":\"JVM\"}",
"isTrigger":false,
"snapshot":{
"curVal0":0,
"curPoint":95,
"vpN0":95,
"vpP0":95,
"timestamp":1596615600000
},
"msgLink":"http://arms.console.alibabacloud.com/apm?startTime=1596611880000&endTime=1596615810705®ionId=cn-hangzhou&pid=9870ca99-8105-4da7-a3a4-d72dd1b1****#/9870ca99-8105-4da7-a3a4-d72dd1b1****/apps/%7B%22ip%22%3A%22172.27.0.80%22%2C%22tabs%22%3A%22jvm%22%7D",
"tags":{
"rootIp":"172.27.XX.XX"
}
}
},
"triggered":false,
"extra":"9870ca99-8105-4da7-a3a4-d72dd1b1****",
"ruleId":"1712964"
},
"datacontenttype":"application/json",
"type":"arms:Alert:ApplicationDefaultAlert",
"id":"15828433-3115-44ed-8518-67caa9ad****",
"time":"2020-11-19T21:04:41+08:00",
"aliyunaccountid":"123456789098****",
"aliyunpublishtime":"2020-11-19T21:04:42.179PRC",
"aliyuneventbusname":"default",
"aliyunregionid":"cn-hangzhou",
"aliyunpublishaddr":"172.25.XX.XX"
}
A continuación se describen los campos del parámetro data.
Campo | Tipo | Ejemplo | Descripción |
msgs | Struct | La colección de varios mensajes. | |
0 | Struct | Los datos del primer mensaje cuando se activa la regla de alerta. | |
msg | String | JVM monitoring node IP:172.27.XX. XX. The average number of threads in the last minute decreases from the previous hour by no more than 50.0%. | Los detalles de la regla de alerta. |
metric | String | | Los detalles de la alerta. |
isTrigger | Boolean | false | Indica si la regla de alerta está activada. |
snapshot | Struct | La instantánea de los datos que utiliza la regla de alerta. | |
curVal0 | Integer | 0 | El resultado del cálculo de la regla de alerta. |
curPoint | Integer | 95 | El valor en el momento actual. |
vpN0 | Integer | 95 | El valor en el momento actual de la hora anterior. |
vpP0 | Integer | 95 | El valor en el momento actual del minuto anterior. |
timestamp | TimeStamp | 1596615600000 | La marca de tiempo cuando se generó la instantánea. |
msgLink | String | http://arms.console.alibabacloud.com/apm?startTime=1596611880000&endTime=1596615810704®ionId=cn-hangzhou&pid=9870ca99-8105-4da7-a3a4-d72dd1b1**#/9870ca99-8105-4da7-a3a4-d72dd1b1**/apps/%7B%22ip%22%3A%22172.27.0.25%22%2C%22tabs%22%3A%22jvm%22%7D | La URL de la regla de alerta. |
tags | Struct | La dimensión. | |
rootIp | String | 172.27.XX.XX | La dirección IP. |
triggered | Boolean | false | Indica si la regla de alerta está activada. El resultado de la operación lógica OR de los valores del parámetro isTrigger en cada mensaje.
|
extra | String | 9870ca99-8105-4da7-a3a4-d72dd1b1**** | El ID de la aplicación. |
ruleId | String | 1712964 | El ID de la regla de alerta. |
Alertas de frontend
A continuación se muestra el evento que EventBridge recibe cuando se activa una alerta de frontend:
{
"specversion":"1.0",
"subject":"",
"source":"acs.arms",
"data":{
"msgs":{
"0":{
"msg":"The average number of page views in the last 10 minutes is at least 0.0. Current value: 0.0000.",
"metric":"{\"alertId\":1531820,\"alertType\":4,\"metricType\":1,\"pid\":\"b590lhguqs@8cc3f63543d****\",\"regionId\":\"cn-hangzhou\",\"type\":\"RETCODE\"}",
"isTrigger":true,
"snapshot":{
"curVal0":0,
"vpN0":0,
"vpP0":0,
"timestamp":1596615420000
},
"msgLink":"http://arms.console.alibabacloud.com/retcode?pid=b590lhguqs%408cc3f63543d****#/url?&begin=1596611160000&end=1596615525123",
"tags":{
}
}
},
"triggered":true,
"extra":"b590lhguqs@8cc3f63543d****",
"ruleId":"1531820"
},
"datacontenttype":"application/json",
"type":"arms:Alert:FrontEndAlert",
"id":"fdcd44d0-9a64-4e88-a9b7-a3e26bfd****",
"time":"2020-11-19T21:04:41+08:00",
"aliyunaccountid":"123456789098****",
"aliyunpublishtime":"2020-11-19T21:04:42.179PRC",
"aliyuneventbusname":"default",
"aliyunregionid":"cn-hangzhou",
"aliyunpublishaddr":"172.25.XX.XX"
}
La siguiente tabla describe los campos del parámetro data.
Campo | Tipo | Ejemplo | Descripción |
msgs | Struct | Conjunto de varios mensajes. | |
0 | Struct | Datos del primer mensaje cuando se activa la regla de alerta. | |
msg | String | The average number of page views in the last 10 minutes is at least 0.0. Current value: 0.0000. | Detalles de la regla de alerta. |
metric | String | | Detalles de la alerta. |
isTrigger | Boolean | true | Indica si la regla de alerta se activó. |
snapshot | Struct | Instantánea de los datos que utiliza la regla de alerta. | |
curVal0 | Integer | 0 | Resultado del cálculo de la regla de alerta. |
vpN0 | Integer | 0 | Valor en el momento actual de la hora anterior. |
vpP0 | Integer | 0 | Valor en el momento actual de los 10 minutos anteriores. |
timestamp | TimeStamp | 1596615420000 | Marca de tiempo en la que se generó la instantánea. |
msgLink | String | http://arms.console.alibabacloud.com/retcode?pid=b590lhguqs%408cc3f63543d****#/url?&begin=1596611160000&end=1596615525123 | URL de la regla de alerta. |
tags | Struct | Dimensión. | |
triggered | Boolean | true | Indica si la regla de alerta se activó. Resultado de la operación lógica OR aplicada a los valores del parámetro isTrigger en cada mensaje.
|
extra | String | b590lhguqs@8cc3f63543d**** | ID de la aplicación. |
ruleId | String | 1531820 | ID de la regla de alerta. |
Alertas de Prometheus
A continuación se muestra el evento que EventBridge recibe cuando se activa una alerta de Prometheus:
{
"specversion":"1.0",
"subject":"",
"source":"acs.arms",
"data":{
"msgs":{
"0":{
"msg":"The average number of threads in the last minute is less than 5.0. Current value: 3.0000.",
"metric":"{\"alertId\":1224848,\"alertType\":101,\"metricType\":3,\"regionId\":\"cn-hangzhou\"}",
"isTrigger":false,
"snapshot":{
"curVal0":3,
"curPoint":3,
"vpN0":3,
"vpP0":3,
"timestamp":1596615360000
},
"tags":{
"":"{}"
}
}
},
"triggered":false,
"ruleId":"1224848"
},
"datacontenttype":"application/json",
"type":"arms:Alert:PrometheusAlert",
"id":"f6c63e8b-1566-4441-9a43-88d59667****",
"time":"2020-11-19T21:04:41+08:00",
"aliyunaccountid":"123456789098****",
"aliyunpublishtime":"2020-11-19T21:04:42.179PRC",
"aliyuneventbusname":"default",
"aliyunregionid":"cn-hangzhou",
"aliyunpublishaddr":"172.25.XX.XX"
}
La siguiente tabla describe los campos del parámetro data.
Campo | Tipo | Ejemplo | Descripción |
msgs | Struct | Conjunto de varios mensajes. | |
0 | Struct | Datos del primer mensaje cuando se activa la regla de alerta. | |
msg | String | The average number of threads in the last minute is less than 5.0. Current value: 3.0000. | Detalles de la regla de alerta. |
metric | String | | Detalles de la alerta. |
isTrigger | Boolean | false | Indica si la regla de alerta se activó. |
snapshot | Struct | Instantánea de los datos que utiliza la regla de alerta. | |
curVal0 | Integer | 3 | Resultado del cálculo de la regla de alerta. |
curPoint | Integer | 3 | Valor en el momento actual. |
vpN0 | Integer | 3 | Valor en el momento actual de la hora anterior. |
vpP0 | Integer | 3 | Valor en el momento actual del minuto anterior. |
timestamp | TimeStamp | 1596615360000 | Marca de tiempo en la que se generó la instantánea. |
tags | Struct | Dimensión. | |
triggered | Boolean | false | Indica si la regla de alerta se activó. Resultado de la operación lógica OR aplicada a los valores del parámetro isTrigger en cada mensaje.
|
ruleId | String | 1224848 | ID de la regla de alerta. |