All Products
Search
Document Center

:ARMS events

Last Updated:Sep 03, 2024

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:OutofMemory

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: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.

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.