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 typeValue of the type parameter
Agent startuparms:Agent:AgentStart
Deadlocksarms:Agent:DeadLock
Full disk spacearms:Agent:DiskFull
Disconnection of applicationsarms:Agent:OffLine
Out of memoryarms:Agent:OutofMemory
0-1 alertsarms:Alert:0-1Alert
ARMS alertsarms:Alert:ApplicationAlert
Default ARMS alertsarms:Alert:ApplicationDefaultAlert
Custom alertsarms:Alert:CustomAlert
Frontend alertsarms:Alert:FrontEndAlert
Default frontend alertsarms:Alert:FrontEndDefaultAlert
Microservice alertsarms:Alert:MSEAlert
Prometheus alertsarms:Alert:PromethusAlert
System alertsarms:Alert:SystemAlert
Tracing Analysis alertsarms: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.

FieldTypeExampleDescription
dimsStructThe dimension.
ipString10.96.XX.XXThe IP address of the server on which the agent starts.
infoStructThe description of the event.
timestampTimestamp1605854706272The 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.

FieldTypeExampleDescription
dimsStructThe dimension.
ipString172.16.XX.XXThe IP address of the server on which the deadlock occurs.
infoString
[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: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"
}

The following table describes the fields in the data parameter.

FieldTypeExampleDescription
dimsStructThe dimension.
ipString172.30.XX.XXThe IP address of the server on which out of memory occurs.
infoString
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.

FieldTypeExampleDescription
msgsStructThe collection of multiple messages.
0StructThe data of the first message when the alert rule is triggered.
msgStringJVM 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.
metricString
{\"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.
isTriggerBooleanfalseIndicates whether the alert rule is triggered.
snapshotStructThe snapshot of the data that is used by the alert rule.
curVal0Integer0The calculation result of the alert rule.
curPointInteger95The value at the current moment.
vpN0Integer95The value at the current moment in the previous hour.
vpP0Integer95The value at the current moment in the previous minute.
timestampTimeStamp1596615600000The timestamp when the snapshot was generated.
msgLinkStringhttp://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%7DThe URL of the alert rule.
tagsStructThe dimension.
rootIpString172.27.XX.XXThe IP address.
triggeredBooleanfalseIndicates 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.
extraString9870ca99-8105-4da7-a3a4-d72dd1b1****The ID of the application.
ruleIdString1712964The 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.

FieldTypeExampleDescription
msgsStructThe collection of multiple messages.
0StructThe data of the first message when the alert rule is triggered.
msgStringThe 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.
metricString
{\"alertId\":1531820,\"alertType\":4,\"metricType\":1,\"pid\":\"b590lhguqs@8cc3f63543d****\",\"regionId\":\"cn-hangzhou\",\"type\":\"RETCODE\"}
The details of the alert.
isTriggerBooleantrueIndicates whether the alert rule is triggered.
snapshotStructThe snapshot of the data that is used by the alert rule.
curVal0Integer0The calculation result of the alert rule.
vpN0Integer0The value at the current moment in the previous hour.
vpP0Integer0The value at the current moment in the previous 10 minutes.
timestampTimeStamp1596615420000The timestamp when the snapshot was generated.
msgLinkStringhttp://arms.console.aliyun.com/retcode?pid=b590lhguqs%408cc3f63543d****#/url?&begin=1596611160000&end=1596615525123The URL of the alert rule.
tagsStructThe dimension.
triggeredBooleantrueIndicates 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.
extraStringb590lhguqs@8cc3f63543d****The ID of the application.
ruleIdString1531820The 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.

FieldTypeExampleDescription
msgsStructThe collection of multiple messages.
0StructThe data of the first message when the alert rule is triggered.
msgStringThe average number of threads in the last minute is less than 5.0. Current value: 3.0000.The details of the alert rule.
metricString
{\"alertId\":1224848,\"alertType\":101,\"metricType\":3,\"regionId\":\"cn-hangzhou\"}
The details of the alert.
isTriggerBooleanfalseIndicates whether the alert rule is triggered.
snapshotStructThe snapshot of the data that is used by the alert rule.
curVal0Integer3The calculation result of the alert rule.
curPointInteger3The value at the current moment.
vpN0Integer3The value at the current moment in the previous hour.
vpP0Integer3The value at the current moment in the previous minute.
timestampTimeStamp1596615360000The timestamp when the snapshot was generated.
tagsStructThe dimension.
triggeredBooleanfalseIndicates 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.
ruleIdString1224848The ID of the alert rule.