このトピックでは、 EventBridge にパブリッシュできる Application Real-Time Monitoring Service (ARMS) イベントの種類について説明します。
イベントタイプ
次の表は、ARMS イベントを EventBridge にパブリッシュできる種類について説明しています。
イベントタイプ | 値 種類 パラメーター |
arms:Agent:AgentStart | |
arms:Agent:DeadLock | |
ディスク容量不足 | arms:Agent:DiskFull |
アプリケーションの切断 | arms:Agent:OffLine |
arms:Agent:OutofMemory | |
0-1 アラート | arms:Alert:0-1Alert |
ARMS アラート | arms:Alert:ApplicationAlert |
arms:Alert:ApplicationDefaultAlert | |
カスタムアラート | arms:Alert:CustomAlert |
arms:Alert:FrontEndAlert | |
デフォルトのフロントエンドアラート | arms:Alert:FrontEndDefaultAlert |
マイクロサービスアラート | arms:Alert:MSEAlert |
arms:Alert:PromethusAlert | |
システムアラート | arms:Alert:SystemAlert |
トレース分析アラート | arms:Alert:XtraceAlert |
CloudEvents 仕様で定義されているパラメーターの詳細については、「概要」をご参照ください。
エージェントの起動
次の例は、エージェントが起動したときに EventBridge が受信する イベントを示しています。
{
"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"
}data パラメーターのフィールドについて、次の表で説明します。
フィールド | タイプ | 例 | 説明 |
dims | 構造体 | ディメンション。 | |
ip | 文字列 | 10.96.XX.XX | エージェントが起動するサーバーの IP アドレス。 |
info | 構造体 | イベントの説明。 | |
timestamp | タイムスタンプ | 1605854706272 | エージェントが起動した時刻のタイムスタンプ。 |
デッドロック
次の例は、アプリケーションでデッドロックが発生したときに EventBridge が受信する イベントを示しています。
{
"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"
}data パラメーターのフィールドについて、次の表で説明します。
フィールド | タイプ | 例 | 説明 |
dims | 構造体 | ディメンション。 | |
ip | 文字列 | 172.16.XX.XX | デッドロックが発生するサーバーの IP アドレス。 |
info | 文字列 | | イベントの説明。 |
メモリ不足
次の例は、アプリケーションでメモリ不足が発生したときに EventBridge が受信する イベントを示しています。
{
"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"
}data パラメーターのフィールドについて、次の表で説明します。
フィールド | タイプ | 例 | 説明 |
dims | 構造体 | ディメンション。 | |
ip | 文字列 | 172.30.XX.XX | メモリ不足が発生するサーバーの IP アドレス。 |
info | 文字列 | | イベントの説明。 |
デフォルトの ARMS アラート
次の例は、デフォルトの ARMS アラートがトリガーされたときに EventBridge が受信する イベントを示しています。
{
"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%.", // JVM 監視ノード IP:172.27.XX.XX。直近 1 分間の平均スレッド数が、前の 1 時間から 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%.", // JVM 監視ノード IP:172.27.XX.XX。直近 1 分間の平均スレッド数が、前の 1 時間から 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"
}data パラメーターのフィールドについて、次の表で説明します。
フィールド | タイプ | 例 | 説明 |
msgs | 構造体 | 複数のメッセージのコレクション。 | |
0 | 構造体 | アラートルールがトリガーされたときの最初のメッセージのデータ。 | |
msg | 文字列 | JVM 監視ノード IP:172.27.XX. XX。直近 1 分間の平均スレッド数が、前の 1 時間から 50.0% 以下減少しています。 | アラートルールの詳細。 |
metric | 文字列 | | アラートの詳細。 |
isTrigger | ブール値 | false | アラートルールがトリガーされたかどうかを示します。 |
snapshot | 構造体 | アラートルールで使用されるデータのスナップショット。 | |
curVal0 | 整数 | 0 | アラートルールの計算結果。 |
curPoint | 整数 | 95 | 現時点での値。 |
vpN0 | 整数 | 95 | 1 時間前の現時点での値。 |
vpP0 | 整数 | 95 | 1 分前の現時点での値。 |
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 | アラートルールの URL。 |
tags | 構造体 | ディメンション。 | |
rootIp | 文字列 | 172.27.XX.XX | IP アドレス。 |
triggered | ブール値 | false | アラートルールがトリガーされたかどうかを示します。 各メッセージの isTrigger パラメーター値の論理 OR 演算の結果。
|
extra | 文字列 | 9870ca99-8105-4da7-a3a4-d72dd1b1**** | アプリケーションの ID。 |
ruleId | 文字列 | 1712964 | アラートルールの ID。 |
フロントエンドアラート
次の例は、フロントエンドアラートがトリガーされたときに EventBridge が受信する イベントを示しています。
{
"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.", // 過去 10 分間の平均ページビュー数は 0.0 以上です。現在の値: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"
}data パラメーターのフィールドについて、次の表で説明します。
フィールド | タイプ | 例 | 説明 |
msgs | 構造体 | 複数のメッセージのコレクション。 | |
0 | 構造体 | アラートルールがトリガーされたときの最初のメッセージのデータ。 | |
msg | 文字列 | 過去 10 分間の平均ページビュー数は 0.0 以上です。現在の値: 0.0000。 | アラートルールの詳細。 |
metric | 文字列 | | アラートの詳細。 |
isTrigger | ブール値 | true | アラートルールがトリガーされたかどうかを示します。 |
snapshot | 構造体 | アラートルールで使用されるデータのスナップショット。 | |
curVal0 | 整数 | 0 | アラートルールの計算結果。 |
vpN0 | 整数 | 0 | 1 時間前の現時点での値。 |
vpP0 | 整数 | 0 | 10 分前の現時点での値。 |
timestamp | タイムスタンプ | 1596615420000 | スナップショットが生成されたタイムスタンプ。 |
msgLink | 文字列 | http://arms.console.aliyun.com/retcode?pid=b590lhguqs%408cc3f63543d****#/url?&begin=1596611160000&end=1596615525123 | アラートルールの URL。 |
tags | 構造体 | ディメンション。 | |
triggered | ブール値 | true | アラートルールがトリガーされたかどうかを示します。 各メッセージの isTrigger パラメーター値の論理 OR 演算の結果。
|
extra | 文字列 | b590lhguqs@8cc3f63543d**** | アプリケーションの ID。 |
ruleId | 文字列 | 1531820 | アラートルールの ID。 |
Prometheus アラート
次の例は、Prometheus アラートがトリガーされたときに EventBridge が受信する イベントを示しています。
{
"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.", // 過去 1 分間の平均スレッド数は 5.0 未満です。現在の値: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"
}data パラメーターのフィールドについて、次の表で説明します。
フィールド | タイプ | 例 | 説明 |
msgs | 構造体 | 複数のメッセージのコレクション。 | |
0 | 構造体 | アラートルールがトリガーされたときの最初のメッセージのデータ。 | |
msg | 文字列 | 過去 1 分間の平均スレッド数は 5.0 未満です。現在の値: 3.0000。 | アラートルールの詳細。 |
metric | 文字列 | | アラートの詳細。 |
isTrigger | ブール値 | false | アラートルールがトリガーされたかどうかを示します。 |
snapshot | 構造体 | アラートルールで使用されるデータのスナップショット。 | |
curVal0 | 整数 | 3 | アラートルールの計算結果。 |
curPoint | 整数 | 3 | 現時点での値。 |
vpN0 | 整数 | 3 | 1 時間前の現時点での値。 |
vpP0 | 整数 | 3 | 1 分前の現時点での値。 |
timestamp | タイムスタンプ | 1596615360000 | スナップショットが生成されたタイムスタンプ。 |
tags | 構造体 | ディメンション。 | |
triggered | ブール値 | false | アラートルールがトリガーされたかどうかを示します。 各メッセージの isTrigger パラメーター値の論理 OR 演算の結果。
|
ruleId | 文字列 | 1224848 | アラートルールの ID。 |