在运行Amazon AWS的众多服务时,一旦某个服务出现了故障,我们肯定想要第一时间得到通知。 或者当某项服务的资源使用超过某个阀值时,我们可能想要赋予其更多资源。 要实现类似的功能,我们可以使用SNS(Simple Notification Servivce)。下面通过一个简单的例子来说明如何使用AWS CloudWatch监测Lambda运行,并通过SNS发送通知。 ## 创建SNS Topic及其订阅 在任何消息系统中,最常见的方式就是设定一个主题(Topic),然后添加一些订阅者(Subscription)。这样一旦有任何新的消息发送到Topic,所有的订阅者都会收到消息推送。下面说说如何在SNS中设置Topic和Subscription。 首先再AWS SNS中创建一个Topic ![image.png](https://images.hive.blog/DQmarJCeasEZphpKP8UxcG8DHyz9mWiPBLjdYfoxccWiZhZ/image.png) 接下来我们分别创建两个订阅:Email和短信。先来看看Email方式的订阅: ![image.png](https://images.hive.blog/DQmRVCBCLisWwSxuoMKmGdmWE1MLc5Kmowd1gdLa91rUdnt/image.png) 创建结束后,需要打开自己的邮箱进行确认。 ![image.png](https://images.hive.blog/DQmU9PHXytiWJ3gvNFmd1THuhXmBtanoPh5uAVcR3yJwAbL/image.png) 接下来创建一个通过短信方式的订阅。 我们可以看到,除Email和短信外,订阅消息的方式还有很多种。这样当消息抵达队列中时,可以调用一个HTTP/HTTPS的地址,可以触发一个Lambda,可以转发到Amazon的消息队列中。 ![image.png](https://images.hive.blog/DQmTGzQ8PvoQ19cM3QBw5rXVZ9B9dVAtFKNEzhRabukeqQF/image.png) ## 创建一个当Lambda发生错误时触发的消息 在CloudWatch中创建一个Alarm: ![image.png](https://images.hive.blog/DQmXKvvSU44nHKLMj5g6au8npuB2gLtdHZ931Kptaz7d2Ud/image.png) 这时候需要选择一个Metric,这里选择“Lamba - errors”这个Metric。依次类推,我还添加了另一个Alarm,当Lambda的调用次数超过0次时,触发Alarm。当然,这只是为了测试。在实际使用中,应根据自己的需要调整这个阀值。 同时还要设定一些触发条件,比如当错误数超过某个数字时会触发,或者当Lambda被调用的次数超过某个阀值时会触发。 ![image.png](https://images.hive.blog/DQmabAZyc58ZvuKF7JGcpadahNg1gThJFtxM1XAXenVpmS8/image.png) 接下里需要配置,当Alarm被触发时需要做的动作。这里我选择的是发送通知到前面创建好的Topic,也就是“Lambda-errors”: ![image.png](https://images.hive.blog/DQmWn8FcAMVPcRp5zo6eHCawmNbtB43ZHqMpnCpkTxo4HoR/image.png) 对于某些资源,还可以触发”Autoscaling“,这样在资源不足的情况下就可以非常快速的升级配置,实现更快的响应率。可以说这里的这些Action非常灵活,可以符合众多应用需求。 由于我设定的第二个Alarm是当Lambda被调用次数超过0次时会触发Alaram,因此在调用一次Lambda后很快就收到了消息提示。 ![image.png](https://images.hive.blog/DQmXjbFqNYMpSpKdCE75E13hw6VwvSVC3u8nqv7BeohHEh2/image.png) 由此可以看到,通过这种方式,可以有效的监测各项AWS服务,一旦出现问题,可以及时以各种方式通知相关的订阅者。
post_id | 85,888,656 |
---|---|
author | aafeng |
permlink | aws-cloudwatch-lambda-sns |
category | cn |
json_metadata | {"tags":["cn","cn-reader","cn-curation","cn-programming","aws"],"image":["https:\/\/images.hive.blog\/DQmarJCeasEZphpKP8UxcG8DHyz9mWiPBLjdYfoxccWiZhZ\/image.png","https:\/\/images.hive.blog\/DQmRVCBCLisWwSxuoMKmGdmWE1MLc5Kmowd1gdLa91rUdnt\/image.png","https:\/\/images.hive.blog\/DQmU9PHXytiWJ3gvNFmd1THuhXmBtanoPh5uAVcR3yJwAbL\/image.png","https:\/\/images.hive.blog\/DQmTGzQ8PvoQ19cM3QBw5rXVZ9B9dVAtFKNEzhRabukeqQF\/image.png","https:\/\/images.hive.blog\/DQmXKvvSU44nHKLMj5g6au8npuB2gLtdHZ931Kptaz7d2Ud\/image.png","https:\/\/images.hive.blog\/DQmabAZyc58ZvuKF7JGcpadahNg1gThJFtxM1XAXenVpmS8\/image.png","https:\/\/images.hive.blog\/DQmWn8FcAMVPcRp5zo6eHCawmNbtB43ZHqMpnCpkTxo4HoR\/image.png","https:\/\/images.hive.blog\/DQmXjbFqNYMpSpKdCE75E13hw6VwvSVC3u8nqv7BeohHEh2\/image.png"],"app":"steemit\/0.2","format":"markdown"} |
created | 2020-05-04 07:25:24 |
last_update | 2020-05-04 07:25:24 |
depth | 0 |
children | 3 |
net_rshares | 5,871,618,906,679 |
last_payout | 2020-05-11 07:25:24 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.938 SBD |
curator_payout_value | 0.860 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 1,832 |
author_reputation | 154,091,178,885,616 |
root_title | "使用AWS CloudWatch监测Lambda运行,并通过SNS发送通知" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
mangou007 | 0 | 7,763,805,228 | 5.08% | ||
nascimentoab | 0 | 1,496,014,167 | 8.25% | ||
laoyao | 0 | 39,381,452,746 | 100% | ||
somebody | 0 | 11,238,896,274 | 100% | ||
midnightoil | 0 | 138,197,143,714 | 100% | ||
xiaohui | 0 | 782,537,478,411 | 100% | ||
oflyhigh | 0 | 1,415,130,782,448 | 100% | ||
yulan | 0 | 14,114,408,398 | 100% | ||
bert0 | 0 | 21,683,874,329 | 5.08% | ||
rivalhw | 0 | 231,835,037,912 | 50% | ||
helene | 0 | 560,652,100,730 | 100% | ||
justyy | 0 | 1,119,448,804,008 | 5.2% | ||
happyukgo | 0 | 261,867,907 | 5.2% | ||
nokeh | 0 | 0 | 5.2% | ||
elizacheng | 0 | 15,801,198,565 | 9% | ||
aleister | 0 | 17,943,514,714 | 10% | ||
eval | 0 | 716,439,138 | 100% | ||
virus707 | 0 | 177,467,250,119 | 1% | ||
segyepark | 0 | 980,561,901 | 1% | ||
jesus.christ | 0 | 7,571,591,296 | 72% | ||
robinlee | 0 | 0 | 5.2% | ||
helgapn | 0 | 6,208,966,194 | 100% | ||
rainyapril | 0 | 0 | 5.2% | ||
mangoanddaddy | 0 | 2,300,826,024 | 80% | ||
kangnajiang | 0 | 0 | 5.2% | ||
kikima | 0 | 0 | 5.2% | ||
aafeng | 0 | 105,885,448,271 | 100% | ||
geass | 0 | 0 | 5.2% | ||
saltiberra | 0 | 1,420,387,477 | 12.5% | ||
robertoueti | 0 | 1,832,573,818 | 3% | ||
superbing | 0 | 983,392,218 | 5.2% | ||
dailyfortune | 0 | 397,527,510 | 5.2% | ||
dancingapple | 0 | 4,822,924,690 | 20% | ||
xiaoshancun | 0 | 21,446,611,836 | 100% | ||
minloulou | 0 | 1,152,407,843 | 5% | ||
dailystats | 0 | 1,845,040,589 | 5.2% | ||
victory622 | 0 | 128,085,012,580 | 100% | ||
flamingirl | 0 | 5,919,922,169 | 5.08% | ||
pataty69 | 0 | 27,066,157,254 | 25% | ||
jianan | 0 | 2,712,677,480 | 5.2% | ||
daxiang | 0 | 0 | 5.2% | ||
anxin | 0 | 105,102,648 | 5.2% | ||
lebin | 0 | 740,275,543,375 | 100% | ||
a1000carv | 0 | 839,512,930 | 100% | ||
portugalcoin | 0 | 24,719,419,712 | 20% | ||
casberp | 0 | 15,512,646,437 | 8.25% | ||
nean | 0 | 0 | 5.2% | ||
foodielifestyle | 0 | 0 | 5.2% | ||
woolfe19861008 | 0 | 84,127,617 | 5.2% | ||
corndog54 | 0 | 16,392,029,858 | 100% | ||
youandme | 0 | 715,600,681 | 100% | ||
dailychina | 0 | 1,290,316,957 | 5.2% | ||
vincenthan | 0 | 0 | 5.2% | ||
dongfengman | 0 | 607,528,208 | 5.2% | ||
serenazz | 0 | 19,975,598 | 5.2% | ||
yedda | 0 | 0 | 5.2% | ||
zasilla | 0 | 0 | 5.2% | ||
fishaa | 0 | 236,471,356 | 5.2% | ||
ethanlee | 0 | 145,328,890 | 5.2% | ||
twinsnicole | 0 | 0 | 5.2% | ||
deepthinking | 0 | 0 | 5.2% | ||
gogoabc | 0 | 232,633,588 | 5.2% | ||
fanso | 0 | 27,431,627 | 5.2% | ||
lilypang22 | 0 | 29,275,593 | 5.2% | ||
nodex | 0 | 16,426,293,952 | 100% | ||
fishcc | 0 | 133,338,553 | 5.2% | ||
fishdd | 0 | 105,589,837 | 5.2% | ||
yuting | 0 | 242,253,762 | 5.2% | ||
lilyan | 0 | 247,810,658 | 5.2% | ||
tresor | 0 | 14,011,628,359 | 5.08% | ||
aiyumi | 0 | 1,435,660,176 | 8.25% | ||
zens | 0 | 0 | 5.2% | ||
andrewma | 0 | 1,202,760,350 | 5% | ||
steemitvip | 0 | 0 | 5.2% | ||
regals | 0 | 0 | 5.2% | ||
mynotsofitlife | 0 | 994,626,654 | 10% | ||
joelone | 0 | 0 | 5.2% | ||
sweet-jenny8 | 0 | 1,212,371,448 | 5.2% | ||
atinna | 0 | 187,372,086 | 5.2% | ||
fishlucy | 0 | 13,382,065,990 | 50% | ||
tydebbie | 0 | 702,458,616 | 5% | ||
inteligente | 0 | 437,756,152 | 8.25% | ||
moneybaby | 0 | 903,620,828 | 2.5% | ||
team-cn | 0 | 58,476,364,453 | 10% | ||
sabari18 | 0 | 4,413,868,079 | 30% | ||
wanggang | 0 | 15,288,050,612 | 2% | ||
ffbank | 0 | 242,478,491 | 5.2% | ||
yuwen | 0 | 540,416,336 | 100% | ||
zhuanzhibufu | 0 | 536,452,885 | 100% | ||
weicomenew | 0 | 217,892,705 | 5.2% | ||
laiyuehta | 0 | 195,686,793 | 5.2% | ||
turtlegraphics | 0 | 99,911,569 | 5.2% | ||
zhuxi | 0 | 537,078,584 | 100% | ||
melaniewang | 0 | 774,765,877 | 5% | ||
munhenhos | 0 | 2,142,905,607 | 25% | ||
bhaski | 0 | 451,571,484 | 25% | ||
witnesstools | 0 | 362,565,987 | 5.2% | ||
memeteca | 0 | 897,996,807 | 5.08% | ||
ilovecoding | 0 | 346,244,558 | 5.2% | ||
cloudblade | 0 | 1,968,101,851 | 10% | ||
steemfuckeos | 0 | 146,564,437 | 5.2% | ||
swiftcash | 0 | 12,150,989,853 | 55% | ||
morningshine | 0 | 14,273,830,110 | 4% | ||
ptgram | 0 | 447,531,743 | 8.25% | ||
aafeng.test | 0 | 543,219,883 | 100% | ||
entendimento | 0 | 441,413,158 | 8.25% | ||
blockchainpeople | 0 | 190,658,429 | 8.25% | ||
unitedpeople | 0 | 2,301,101,403 | 8.25% | ||
blockcleaner | 0 | 1,164,728,669 | 5.2% | ||
nympheas | 0 | 1,203,306,914 | 8% | ||
veshu30 | 0 | 0 | 100% | ||
cplusplus | 0 | 340,704,997 | 5.2% | ||
justsoso | 0 | 51,116,382 | 5.2% | ||
longhash | 0 | 329,258,735 | 5.2% | ||
cnlifes | 0 | 242,021,715 | 5.2% | ||
cnfish | 0 | 235,923,455 | 5.2% | ||
llfestyle | 0 | 260,625,010 | 5.2% | ||
freedomteam2019 | 0 | 1,176,379,416 | 10% | ||
triple.aaa | 0 | 5,641,538,312 | 0.5% | ||
detetive | 0 | 436,440,453 | 8.25% | ||
erlcet | 0 | 190,922,477 | 5.2% | ||
steeemmonsters | 0 | 187,613,648 | 5.2% | ||
maiydue | 0 | 315,657,222 | 5.2% | ||
wongshiylng | 0 | 334,871,338 | 5.2% | ||
deepcrypti8 | 0 | 334,659,043 | 5.2% | ||
myiord1992 | 0 | 333,712,310 | 5.2% | ||
wilhb82 | 0 | 187,605,464 | 5.2% | ||
morningshlne | 0 | 188,171,468 | 5.2% | ||
leodec | 0 | 191,905,151 | 5.2% | ||
splinterislands | 0 | 334,082,047 | 5.2% | ||
keivinzhang | 0 | 333,841,146 | 5.2% | ||
sexybeach | 0 | 338,705,002 | 5.2% | ||
suckmydick | 0 | 141,654,307 | 5.2% | ||
chromebook | 0 | 143,590,530 | 5.2% | ||
ericandryan | 0 | 557,456,364 | 5.2% | ||
the707 | 0 | 1,366,660,154 | 0.5% | ||
segye.witness | 0 | 2,027,964,072 | 1% | ||
bnk | 0 | 5,879,478,730 | 5.08% |
post_id | 85,890,427 |
---|---|
author | xiaoshancun |
permlink | q9t0f3 |
category | cn |
json_metadata | {"app":"steemcn\/0.1"} |
created | 2020-05-04 11:11:27 |
last_update | 2020-05-04 11:11:27 |
depth | 1 |
children | 0 |
net_rshares | 117,327,670,256 |
last_payout | 2020-05-11 11:11:27 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.012 SBD |
curator_payout_value | 0.013 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 4 |
author_reputation | 155,278,422,778,942 |
root_title | "使用AWS CloudWatch监测Lambda运行,并通过SNS发送通知" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
aafeng | 0 | 26,379,282,806 | 25% | ||
dustbunny | 0 | 90,948,387,450 | 72.17% |
拍手👏 !shop
post_id | 85,892,123 |
---|---|
author | annepink |
permlink | q9t9kh |
category | cn |
json_metadata | {"app":"steemcn\/0.1"} |
created | 2020-05-04 14:29:09 |
last_update | 2020-05-04 14:29:09 |
depth | 1 |
children | 0 |
net_rshares | 26,247,732,295 |
last_payout | 2020-05-11 14:29:09 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 9 |
author_reputation | 160,119,580,804,298 |
root_title | "使用AWS CloudWatch监测Lambda运行,并通过SNS发送通知" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
aafeng | 0 | 26,247,732,295 | 25% |
拍拍拍拍拍拍
post_id | 85,945,141 |
---|---|
author | cloudblade |
permlink | qa24jh |
category | cn |
json_metadata | {"app":"steemcn\/0.1"} |
created | 2020-05-09 09:18:39 |
last_update | 2020-05-09 09:18:39 |
depth | 1 |
children | 0 |
net_rshares | 0 |
last_payout | 2020-05-16 09:18:39 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 6 |
author_reputation | 82,540,418,526,802 |
root_title | "使用AWS CloudWatch监测Lambda运行,并通过SNS发送通知" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |