This topic describes the types of Application Real-Time Monitoring Service (ARMS) events that can be published to EventBridge.

Event types

The following table describes the types of ARMS events that can be published to EventBridge.

Event type Value of the type parameter
Agent startup arms:Agent:AgentStart
Deadlocks arms:Agent:DeadLock
Full disk space arms:Agent:DiskFull
Disconnection of applications arms:Agent:OffLine
Out of memory arms:Agent:OutofMermory
0-1 alerts arms:Alert:0-1Alert
ARMS alerts arms:Alert:ApplicationAlert
Default ARMS alerts arms:Alert:ApplicationDefaultAlert
Custom alerts arms:Alert:CustomAlert
Frontend alerts arms:Alert:FrontEndAlert
Default frontend alerts arms:Alert:FrontEndDefaultAlert
Microservice alerts arms:Alert:MSEAlert
Prometheus alerts arms:Alert:PromethusAlert
System alerts arms:Alert:SystemAlert
Tracing Analysis alerts arms:Alert:XtraceAlert

For more information about the parameters defined in the CloudEvents specification, see Overview.

Agent startup

The following example shows the event that EventBridge receives when an agent starts:

{
    "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"
}

The following table describes the fields in the data parameter.

Field Type Example Description
dims Struct The dimension.
ip String 10.96.XX.XX The IP address of the server on which the agent starts.
info Struct The description of the event.
timestamp Timestamp 1605854706272 The timestamp when the agent started.

Deadlocks

The following example shows the event that EventBridge receives when a deadlock occurs on the 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"
}

The following table describes the fields in the data parameter.

Field Type Example Description
dims Struct The dimension.
ip String 172.16.XX.XX The IP address of the server on which the deadlock occurs.
info String
[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
The description of the event.

Out of memory

The following example shows the event that EventBridge receives when out of memory occurs on the 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:OutofMermory",
    "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"
}

The following table describes the fields in the data parameter.

Field Type Example Description
dims Struct The dimension.
ip String 172.30.XX.XX The IP address of the server on which out of memory occurs.
info String
java.lang.OutOfMemoryError at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:68) at java.lang.StringBuilder.<init>(StringBuilder.java:101)
The description of the event.

Default ARMS alerts

The following example shows the event that EventBridge receives when a default ARMS alert is triggered:

{
    "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"
}

The following table describes the fields in the data parameter.

Field Type Example Description
msgs Struct The collection of multiple messages.
0 Struct The data of the first message when the alert rule is triggered.
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%. The details of the alert rule.
metric String
{\"alertId\":1712964,\"alertType\":7,\"appGroupId\":\"DEFAULT\",\"appId\":\"564575\",\"metricType\":1,\"pid\":\"9870ca99-8105-4da7-a3a4-d72dd1b1****\",\"regionId\":\"cn-hangzhou\",\"type\":\"JVM\"}
The details of the alert.
isTrigger Boolean false Indicates whether the alert rule is triggered.
snapshot Struct The snapshot of the data that is used by the alert rule.
curVal0 Integer 0 The calculation result of the alert rule.
curPoint Integer 95 The value at the current moment.
vpN0 Integer 95 The value at the current moment in the previous hour.
vpP0 Integer 95 The value at the current moment in the previous minute.
timestamp TimeStamp 1596615600000 The timestamp when the snapshot was generated.
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 The URL of the alert rule.
tags Struct The dimension.
rootIp String 172.27.XX.XX The IP address.
triggered Boolean false Indicates whether the alert rule is triggered.
The result of the OR logical operation of the isTrigger parameter values in each message.
  • If the isTrigger parameter is set to false in Message 0, and the isTrigger parameter is set to false in Message 1, the value of the triggered parameter is false.
  • If the isTrigger parameter is set to true in Message 0, the value of the triggered parameter is true regardless of whether the isTrigger parameter is set to true or false in Message 1.
extra String 9870ca99-8105-4da7-a3a4-d72dd1b1**** The ID of the application.
ruleId String 1712964 The ID of the alert rule.

Frontend alerts

The following example shows the event that EventBridge receives when a frontend alert is triggered:

{
    "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"
}

The following table describes the fields in the data parameter.

Field Type Example Description
msgs Struct The collection of multiple messages.
0 Struct The data of the first message when the alert rule is triggered.
msg String The average number of page views in the last 10 minutes is at least 0.0. Current value: 0.0000. The details of the alert rule.
metric String
{\"alertId\":1531820,\"alertType\":4,\"metricType\":1,\"pid\":\"b590lhguqs@8cc3f63543d****\",\"regionId\":\"cn-hangzhou\",\"type\":\"RETCODE\"}
The details of the alert.
isTrigger Boolean true Indicates whether the alert rule is triggered.
snapshot Struct The snapshot of the data that is used by the alert rule.
curVal0 Integer 0 The calculation result of the alert rule.
vpN0 Integer 0 The value at the current moment in the previous hour.
vpP0 Integer 0 The value at the current moment in the previous 10 minutes.
timestamp TimeStamp 1596615420000 The timestamp when the snapshot was generated.
msgLink String http://arms.console.aliyun.com/retcode?pid=b590lhguqs%408cc3f63543d****#/url?&begin=1596611160000&end=1596615525123 The URL of the alert rule.
tags Struct The dimension.
triggered Boolean true Indicates whether the alert rule is triggered.
The result of the OR logical operation of the isTrigger parameter values in each message.
  • If the isTrigger parameter is set to false in Message 0, and the isTrigger parameter is set to false in Message 1, the value of the triggered parameter is false.
  • If the isTrigger parameter is set to true in Message 0, the value of the triggered parameter is true regardless of whether the isTrigger parameter is set to true or false in Message 1.
extra String b590lhguqs@8cc3f63543d**** The ID of the application.
ruleId String 1531820 The ID of the alert rule.

Prometheus alerts

The following example shows the event that EventBridge receives when a Prometheus alert is triggered:

{
    "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"
}

The following table describes the fields in the data parameter.

Field Type Example Description
msgs Struct The collection of multiple messages.
0 Struct The data of the first message when the alert rule is triggered.
msg String The average number of threads in the last minute is less than 5.0. Current value: 3.0000. The details of the alert rule.
metric String
{\"alertId\":1224848,\"alertType\":101,\"metricType\":3,\"regionId\":\"cn-hangzhou\"}
The details of the alert.
isTrigger Boolean false Indicates whether the alert rule is triggered.
snapshot Struct The snapshot of the data that is used by the alert rule.
curVal0 Integer 3 The calculation result of the alert rule.
curPoint Integer 3 The value at the current moment.
vpN0 Integer 3 The value at the current moment in the previous hour.
vpP0 Integer 3 The value at the current moment in the previous minute.
timestamp TimeStamp 1596615360000 The timestamp when the snapshot was generated.
tags Struct The dimension.
triggered Boolean false Indicates whether the alert rule is triggered.
The result of the OR logical operation of the isTrigger parameter values in each message.
  • If the isTrigger parameter is set to false in Message 0, and the isTrigger parameter is set to false in Message 1, the value of the triggered parameter is false.
  • If the isTrigger parameter is set to true in Message 0, the value of the triggered parameter is true regardless of whether the isTrigger parameter is set to true or false in Message 1.
ruleId String 1224848 The ID of the alert rule.