Amazon CloudWatch 경보를 Microsoft Teams에 게시했습니다.
이를 약간 개선하여 CloudWatch 경보를 Microsoft Teams에 게시했습니다.
이런 이미지입니다.
SNS 주제 만들기
먼저 SNS 주제를 만듭니다.
CloudWatch 알람 만들기
그런 다음 CloudWatch 알람을 생성합니다.
무엇이든 좋기 때문에 이번에는 EC2 CPU 사용률 알람을 만들었습니다.
Microsoft Teams 커넥터 만들기
커넥터를 추가하려면 채널 이름 옆의 다른 옵션 아이콘 …
클릭한 다음 커넥터를 클릭합니다.
Incomming Webhook을 추가합니다.
커넥터 이름을 입력합니다.
이미지를 설정하면 메시지의 게시자가 알기 쉽습니다.
만들기 버튼을 누르면 다음과 같이 Webhook URL이 표시되므로 복사해 둡니다.
AWS KMS로 Webhook URL 암호화
Microsoft Teams Incomming Webhook을 만들 때 생성된 Webhook URL
AWS KMS(Key Management Service)로 암호화합니다.
AWS KMS에서 마스터 키 생성
암호화할 마스터 키를 만듭니다.
별칭을 입력합니다.
만들 수 있었습니다.
AWS CLI로 Webhook URL 암호화
암호화는 AWS CLI에서 수행됩니다.
설치되어 있지 않은 경우는 여기 로부터 취득할 수 있습니다.
마스터 키의 별칭 이름을 지정하여 Webhook URL을 암호화합니다.
명령 형식은 다음과 같습니다.
aws kms encrypt --key-id alias/<作成したエイリアス名> --plaintext="<WebhookURL>"
<작성한 별칭 이름>과 을 바꿉니다.
다만, 의 선두의 https://는 제거합니다.
그렇지 않으면 오류가 발생합니다.
나는 여기에서 빠졌습니다.
예)
AWSCLI>aws kms encrypt --key-id alias/WebhookURL-MsTeams
--plaintext="outlook.office365.com/webhook/xxxx/IncomingWebhook/xxxxxx"
{
"KeyId": "arn:aws:kms:us-east-1:xxxx:key/xxxxxxx",
"CiphertextBlob": "〇〇〇〇〇〇"
}
출력 된 "CiphertextBlob"의 값이 "암호화 된 Webhook URL"이므로,
반드시 삼가합시다.
※ 잊어버리면 나중에 볼 수 없으므로 다시 암호화가 필요합니다.
Amazon Lambda 생성
Select blueprint 화면에서 cloudwatch-alarm-to-slack-python을 선택합니다.
트리거는 SNS이며 주제는 처음에 만든 것을 선택합니다.
코드를 편집합니다.
slack channel 은 불필요하므로, 다음의 선택된 행은 삭제합니다.
나중에 slack에 대한 메시지와 Microsoft Teams에 대한 메시지는 형식이 다르므로
그 부분도 변경합니다.
변경 전
slack_message = {
'channel': SLACK_CHANNEL,
'text': "%s state is now %s: %s" % (alarm_name, new_state, reason)
}
req = Request(HOOK_URL, json.dumps(slack_message))
변경 후
notification_message = {
'title': "CloudWatchからのお知らせ",
'text': "%s state is now %s: %s" % (alarm_name, new_state, reason)
}
req = Request(HOOK_URL, json.dumps(notification_message))
Lambda Function 완성
트리거를 활성화합니다.
확인해보기
어떻게 하면 확인할 수 있는지 고민했지만 Amazon CloudWatch 문서에 실렸습니다.
AWS CLI에서 알람 상태를 ALARM으로 변경합니다.
AWSCLI>aws cloudwatch set-alarm-state --alarm-name Jenkins_CPU-70% --state-reason "test" --state-value ALARM
제대로 게시되었습니다.
요약
이번에는 blueprint를 조금 만지기만 하면 Microsoft Teams에 게시할 수 있었습니다.
간단하게 실현할 수 있으므로, 여러가지 일에 사용해 갈 수 있을까라고 생각했습니다.
slack이나 Microsoft Teams 등에 정보를 집계하면 매우 편리하네요.
Reference
이 문제에 관하여(Amazon CloudWatch 경보를 Microsoft Teams에 게시했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hira3/items/7afe0244d3b94dda93ea
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
그런 다음 CloudWatch 알람을 생성합니다.
무엇이든 좋기 때문에 이번에는 EC2 CPU 사용률 알람을 만들었습니다.
Microsoft Teams 커넥터 만들기
커넥터를 추가하려면 채널 이름 옆의 다른 옵션 아이콘 …
클릭한 다음 커넥터를 클릭합니다.
Incomming Webhook을 추가합니다.
커넥터 이름을 입력합니다.
이미지를 설정하면 메시지의 게시자가 알기 쉽습니다.
만들기 버튼을 누르면 다음과 같이 Webhook URL이 표시되므로 복사해 둡니다.
AWS KMS로 Webhook URL 암호화
Microsoft Teams Incomming Webhook을 만들 때 생성된 Webhook URL
AWS KMS(Key Management Service)로 암호화합니다.
AWS KMS에서 마스터 키 생성
암호화할 마스터 키를 만듭니다.
별칭을 입력합니다.
만들 수 있었습니다.
AWS CLI로 Webhook URL 암호화
암호화는 AWS CLI에서 수행됩니다.
설치되어 있지 않은 경우는 여기 로부터 취득할 수 있습니다.
마스터 키의 별칭 이름을 지정하여 Webhook URL을 암호화합니다.
명령 형식은 다음과 같습니다.
aws kms encrypt --key-id alias/<作成したエイリアス名> --plaintext="<WebhookURL>"
<작성한 별칭 이름>과 을 바꿉니다.
다만, 의 선두의 https://는 제거합니다.
그렇지 않으면 오류가 발생합니다.
나는 여기에서 빠졌습니다.
예)
AWSCLI>aws kms encrypt --key-id alias/WebhookURL-MsTeams
--plaintext="outlook.office365.com/webhook/xxxx/IncomingWebhook/xxxxxx"
{
"KeyId": "arn:aws:kms:us-east-1:xxxx:key/xxxxxxx",
"CiphertextBlob": "〇〇〇〇〇〇"
}
출력 된 "CiphertextBlob"의 값이 "암호화 된 Webhook URL"이므로,
반드시 삼가합시다.
※ 잊어버리면 나중에 볼 수 없으므로 다시 암호화가 필요합니다.
Amazon Lambda 생성
Select blueprint 화면에서 cloudwatch-alarm-to-slack-python을 선택합니다.
트리거는 SNS이며 주제는 처음에 만든 것을 선택합니다.
코드를 편집합니다.
slack channel 은 불필요하므로, 다음의 선택된 행은 삭제합니다.
나중에 slack에 대한 메시지와 Microsoft Teams에 대한 메시지는 형식이 다르므로
그 부분도 변경합니다.
변경 전
slack_message = {
'channel': SLACK_CHANNEL,
'text': "%s state is now %s: %s" % (alarm_name, new_state, reason)
}
req = Request(HOOK_URL, json.dumps(slack_message))
변경 후
notification_message = {
'title': "CloudWatchからのお知らせ",
'text': "%s state is now %s: %s" % (alarm_name, new_state, reason)
}
req = Request(HOOK_URL, json.dumps(notification_message))
Lambda Function 완성
트리거를 활성화합니다.
확인해보기
어떻게 하면 확인할 수 있는지 고민했지만 Amazon CloudWatch 문서에 실렸습니다.
AWS CLI에서 알람 상태를 ALARM으로 변경합니다.
AWSCLI>aws cloudwatch set-alarm-state --alarm-name Jenkins_CPU-70% --state-reason "test" --state-value ALARM
제대로 게시되었습니다.
요약
이번에는 blueprint를 조금 만지기만 하면 Microsoft Teams에 게시할 수 있었습니다.
간단하게 실현할 수 있으므로, 여러가지 일에 사용해 갈 수 있을까라고 생각했습니다.
slack이나 Microsoft Teams 등에 정보를 집계하면 매우 편리하네요.
Reference
이 문제에 관하여(Amazon CloudWatch 경보를 Microsoft Teams에 게시했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hira3/items/7afe0244d3b94dda93ea
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Microsoft Teams Incomming Webhook을 만들 때 생성된 Webhook URL
AWS KMS(Key Management Service)로 암호화합니다.
AWS KMS에서 마스터 키 생성
암호화할 마스터 키를 만듭니다.
별칭을 입력합니다.
만들 수 있었습니다.
AWS CLI로 Webhook URL 암호화
암호화는 AWS CLI에서 수행됩니다.
설치되어 있지 않은 경우는 여기 로부터 취득할 수 있습니다.
마스터 키의 별칭 이름을 지정하여 Webhook URL을 암호화합니다.
명령 형식은 다음과 같습니다.
aws kms encrypt --key-id alias/<作成したエイリアス名> --plaintext="<WebhookURL>"
<작성한 별칭 이름>과
다만,
그렇지 않으면 오류가 발생합니다.
나는 여기에서 빠졌습니다.
예)
AWSCLI>aws kms encrypt --key-id alias/WebhookURL-MsTeams
--plaintext="outlook.office365.com/webhook/xxxx/IncomingWebhook/xxxxxx"
{
"KeyId": "arn:aws:kms:us-east-1:xxxx:key/xxxxxxx",
"CiphertextBlob": "〇〇〇〇〇〇"
}
출력 된 "CiphertextBlob"의 값이 "암호화 된 Webhook URL"이므로,
반드시 삼가합시다.
※ 잊어버리면 나중에 볼 수 없으므로 다시 암호화가 필요합니다.
Amazon Lambda 생성
Select blueprint 화면에서 cloudwatch-alarm-to-slack-python을 선택합니다.
트리거는 SNS이며 주제는 처음에 만든 것을 선택합니다.
코드를 편집합니다.
slack channel 은 불필요하므로, 다음의 선택된 행은 삭제합니다.
나중에 slack에 대한 메시지와 Microsoft Teams에 대한 메시지는 형식이 다르므로
그 부분도 변경합니다.
변경 전
slack_message = {
'channel': SLACK_CHANNEL,
'text': "%s state is now %s: %s" % (alarm_name, new_state, reason)
}
req = Request(HOOK_URL, json.dumps(slack_message))
변경 후
notification_message = {
'title': "CloudWatchからのお知らせ",
'text': "%s state is now %s: %s" % (alarm_name, new_state, reason)
}
req = Request(HOOK_URL, json.dumps(notification_message))
Lambda Function 완성
트리거를 활성화합니다.
확인해보기
어떻게 하면 확인할 수 있는지 고민했지만 Amazon CloudWatch 문서에 실렸습니다.
AWS CLI에서 알람 상태를 ALARM으로 변경합니다.
AWSCLI>aws cloudwatch set-alarm-state --alarm-name Jenkins_CPU-70% --state-reason "test" --state-value ALARM
제대로 게시되었습니다.
요약
이번에는 blueprint를 조금 만지기만 하면 Microsoft Teams에 게시할 수 있었습니다.
간단하게 실현할 수 있으므로, 여러가지 일에 사용해 갈 수 있을까라고 생각했습니다.
slack이나 Microsoft Teams 등에 정보를 집계하면 매우 편리하네요.
slack_message = {
'channel': SLACK_CHANNEL,
'text': "%s state is now %s: %s" % (alarm_name, new_state, reason)
}
req = Request(HOOK_URL, json.dumps(slack_message))
notification_message = {
'title': "CloudWatchからのお知らせ",
'text': "%s state is now %s: %s" % (alarm_name, new_state, reason)
}
req = Request(HOOK_URL, json.dumps(notification_message))
어떻게 하면 확인할 수 있는지 고민했지만 Amazon CloudWatch 문서에 실렸습니다.
AWS CLI에서 알람 상태를 ALARM으로 변경합니다.
AWSCLI>aws cloudwatch set-alarm-state --alarm-name Jenkins_CPU-70% --state-reason "test" --state-value ALARM
제대로 게시되었습니다.
요약
이번에는 blueprint를 조금 만지기만 하면 Microsoft Teams에 게시할 수 있었습니다.
간단하게 실현할 수 있으므로, 여러가지 일에 사용해 갈 수 있을까라고 생각했습니다.
slack이나 Microsoft Teams 등에 정보를 집계하면 매우 편리하네요.
Reference
이 문제에 관하여(Amazon CloudWatch 경보를 Microsoft Teams에 게시했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hira3/items/7afe0244d3b94dda93ea텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)