Cette rubrique décrit les types d'événements Application Real-Time Monitoring Service (ARMS) qui peuvent être publiés vers EventBridge.
Types d'événements
Le tableau suivant présente les types d'événements ARMS pouvant être publiés vers EventBridge.
|
Type d'événement |
Valeur du paramètre type |
|
arms:Agent:AgentStart |
|
|
arms:Agent:DeadLock |
|
|
Espace disque saturé |
arms:Agent:DiskFull |
|
Déconnexion des applications |
arms:Agent:OffLine |
|
arms:Agent:OutofMemory |
|
|
Alertes 0-1 |
arms:Alert:0-1Alert |
|
Alertes ARMS |
arms:Alert:ApplicationAlert |
|
arms:Alert:ApplicationDefaultAlert |
|
|
Alertes personnalisées |
arms:Alert:CustomAlert |
|
arms:Alert:FrontEndAlert |
|
|
Alertes frontend par défaut |
arms:Alert:FrontEndDefaultAlert |
|
Alertes microservices |
arms:Alert:MSEAlert |
|
arms:Alert:PromethusAlert |
|
|
Alertes système |
arms:Alert:SystemAlert |
|
Alertes Tracing Analysis |
arms:Alert:XtraceAlert |
Pour plus d'informations sur les paramètres définis dans la spécification CloudEvents, consultez la section Présentation des événements.
Démarrage de l'agent
L'exemple ci-dessous illustre l'événement reçu par EventBridge lors du démarrage d'un agent :
{
"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"
}
Le tableau suivant détaille les champs du paramètre data.
|
Champ |
Type |
Exemple |
Description |
|
dims |
Struct |
La dimension. |
|
|
ip |
String |
10.96.XX.XX |
L'adresse IP du serveur sur lequel l'agent démarre. |
|
info |
Struct |
La description de l'événement. |
|
|
timestamp |
Timestamp |
1605854706272 |
L'horodatage du démarrage de l'agent. |
Interblocages
L'exemple suivant montre l'événement reçu par EventBridge en cas d'interblocage au sein de l'application :
{
"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"
}
Le tableau ci-dessous décrit les champs du paramètre data.
Champ | Type | Exemple | Description |
dims | Struct | La dimension. | |
ip | String | 172.16.XX.XX | L'adresse IP du serveur sur lequel se produit l'interblocage. |
info | String | | La description de l'événement. |
Mémoire insuffisante
L'exemple ci-après présente l'événement que reçoit EventBridge lorsqu'une erreur de mémoire insuffisante survient dans l'application :
{
"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"
}
Le tableau suivant répertorie les champs du paramètre data.
Champ | Type | Exemple | Description |
dims | Struct | La dimension. | |
ip | String | 172.30.XX.XX | L'adresse IP du serveur concerné par l'erreur de mémoire insuffisante. |
info | String | | La description de l'événement. |
Alertes ARMS par défaut
L'exemple suivant présente l'événement que EventBridge reçoit lorsqu'une alerte ARMS par défaut est déclenchée :
{
"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.aliyun.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.aliyun.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"
}
Le tableau suivant décrit les champs du paramètre data.
Champ | Type | Exemple | Description |
msgs | Struct | La collection de plusieurs messages. | |
0 | Struct | Les données du premier message lorsque la règle d'alerte est déclenchée. | |
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%. | Les détails de la règle d'alerte. |
metric | String | | Les détails de l'alerte. |
isTrigger | Boolean | false | Indique si la règle d'alerte est déclenchée. |
snapshot | Struct | L'instantané des données utilisées par la règle d'alerte. | |
curVal0 | Integer | 0 | Le résultat du calcul de la règle d'alerte. |
curPoint | Integer | 95 | La valeur au moment actuel. |
vpN0 | Integer | 95 | La valeur au moment actuel de l'heure précédente. |
vpP0 | Integer | 95 | La valeur au moment actuel de la minute précédente. |
timestamp | TimeStamp | 1596615600000 | L'horodatage de génération de l'instantané. |
msgLink | String | http://arms.console.aliyun.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 | L'URL de la règle d'alerte. |
tags | Struct | La dimension. | |
rootIp | String | 172.27.XX.XX | L'adresse IP. |
triggered | Boolean | false | Indique si la règle d'alerte est déclenchée. Le résultat de l'opération logique OU des valeurs du paramètre isTrigger dans chaque message.
|
extra | String | 9870ca99-8105-4da7-a3a4-d72dd1b1**** | L'ID de l'application. |
ruleId | String | 1712964 | L'ID de la règle d'alerte. |
Alertes frontend
L'exemple suivant illustre l'événement que EventBridge reçoit lorsqu'une alerte frontend est déclenchée :
{
"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.aliyun.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"
}
Le tableau suivant décrit les champs du paramètre data.
Champ | Type | Exemple | Description |
msgs | Struct | Collection de plusieurs messages. | |
0 | Struct | Données du premier message lorsque la règle d'alerte est déclenchée. | |
msg | String | The average number of page views in the last 10 minutes is at least 0.0. Current value: 0.0000. | Détails de la règle d'alerte. |
metric | String | | Détails de l'alerte. |
isTrigger | Boolean | true | Indique si la règle d'alerte est déclenchée. |
snapshot | Struct | Instantané des données utilisées par la règle d'alerte. | |
curVal0 | Integer | 0 | Résultat du calcul de la règle d'alerte. |
vpN0 | Integer | 0 | Valeur à l'instant T de l'heure précédente. |
vpP0 | Integer | 0 | Valeur à l'instant T des 10 minutes précédentes. |
timestamp | TimeStamp | 1596615420000 | Horodatage de génération de l'instantané. |
msgLink | String | http://arms.console.aliyun.com/retcode?pid=b590lhguqs%408cc3f63543d****#/url?&begin=1596611160000&end=1596615525123 | URL de la règle d'alerte. |
tags | Struct | Dimension. | |
triggered | Boolean | true | Indique si la règle d'alerte est déclenchée. Résultat de l'opération logique OU appliquée aux valeurs du paramètre isTrigger de chaque message.
|
extra | String | b590lhguqs@8cc3f63543d**** | ID de l'application. |
ruleId | String | 1531820 | ID de la règle d'alerte. |
Alertes Prometheus
L'exemple suivant illustre l'événement que EventBridge reçoit lorsqu'une alerte Prometheus est déclenchée :
{
"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"
}
Le tableau suivant décrit les champs du paramètre data.
Champ | Type | Exemple | Description |
msgs | Struct | Collection de plusieurs messages. | |
0 | Struct | Données du premier message lorsque la règle d'alerte est déclenchée. | |
msg | String | The average number of threads in the last minute is less than 5.0. Current value: 3.0000. | Détails de la règle d'alerte. |
metric | String | | Détails de l'alerte. |
isTrigger | Boolean | false | Indique si la règle d'alerte est déclenchée. |
snapshot | Struct | Instantané des données utilisées par la règle d'alerte. | |
curVal0 | Integer | 3 | Résultat du calcul de la règle d'alerte. |
curPoint | Integer | 3 | Valeur à l'instant actuel. |
vpN0 | Integer | 3 | Valeur à l'instant T de l'heure précédente. |
vpP0 | Integer | 3 | Valeur à l'instant T de la minute précédente. |
timestamp | TimeStamp | 1596615360000 | Horodatage de génération de l'instantané. |
tags | Struct | Dimension. | |
triggered | Boolean | false | Indique si la règle d'alerte est déclenchée. Résultat de l'opération logique OU appliquée aux valeurs du paramètre isTrigger de chaque message.
|
ruleId | String | 1224848 | ID de la règle d'alerte. |