Twilio+CloudFunctions+Stackdriver에서 장애 알림을 전화로 알립니다.
소개 (동기 부여)
상용 환경이지만, 외부 위탁이라든지 큰 감시가 필요 없기 때문에 URL의 소통을 할 수 없으면 경고 날리고 싶을 때가 있다.
이벤트 로그라든지 퍼포먼스라든지 아무래도 좋기 때문에, 서비스가 정말로 사용할 수 없게 되었을 때만 경보를 원한다.
그렇다고 해서, 심야에 slack라든지 메일로 눈치채는 것이 없기 때문에, 전화를 갖고 싶다.
하지만 stackdriver라든지 메일이나 slack에게 밖에 통지할 수 없다.
URL의 소통을 할 수 없으면 전화를 걸어 주었으면 한다.
twilio(트위리오)란 무엇인가?
webAPI에 의해 자동으로 전화를 걸거나 SMS 보내거나 하는 사람.
본사는 미국의 twilio사가 하고 있고, 일본에서는 KDDI가 대리점으로서 서비스를 제공하고 있다.
용도로는, 자동의 음성 안내라든지에도 사용되고 있다.
요금은 얼마 안 된다. 가 트라이얼로 500엔분이 최초로 받을 수 있다.
자세한 내용은 웹에서 h tps : ///와 ぃぃ오.ぢーぇb. 코 m/p 리세/
이번 시도
twilio와 google cloud functions를 사용하여 서버리스 경고 알림을 만드는 방법을 만듭니다.
왜 CloudFunctions를 사용했는가 하면, 내용에 따라 경고의 대상이나 전화의 내용을 바꾸거나 하려면 CloudFunctions의 함수로
자유롭게 설정할 수 있는 편이 좋지 않을까 생각했으니까.
twilio 계정 만들기
h tps : ///와 ぃぃ오.ぢーぇb. 코m/
여기에서 보통 계정 만들기.
로그인 후 화면
프로젝트 만들기
솔로 활동이지만 무엇입니까?
로그인 후 대시보드
전화번호 얻기
전화번호 가챠 수 있다
취득 완료
취득한 전화 번호를 확인할 수 있다
CloudFunction 만들기
index.js
exports.twiliotest = function(event, context) {
// Download the Node helper library from twilio.com/docs/node/install
// These consts are your accountSid and authToken from twilio.com/user/account
const accountSid = 'XXXXXXXXXXXXXXXXXXXXXXXXXXX';
const authToken = 'XXXXXXXXXXXXXXXXXXXXXXXXXXX';
const Twilio = require('twilio');
const client = new Twilio(accountSid, authToken);
client.api.calls
.create({
url: 'http://demo.twilio.com/docs/voice.xml',
to: '+XXXXXXXXXXXXX',
from: '+XXXXXXXXXXXX',
method: 'GET',
})
.then(call => console.log(call.sid));
}
package.json
{
"name": "twiliotest",
"version": "0.0.1",
"dependencies": {
"twilio": "^3.18.0",
"querystring": "^0.2.0"
}
}
$ gcloud functions deploy twiliotest --trigger-http
모니터링 대상 VM 만들기
이번에는 GCE에서 VM(CentOS 7)을 만들고 Nginx를 설치해 둔다.
$ sudo yum install -y nginx
$ sudo systemctl start nginx
Stackdriver 설정
UptimeCheck 설정
Notification 설정
WEBHOOKS
에서 방금 만든 CloudFunction을 호출합니다.동작 확인
Nginx 중지
$ sudo systemctl stop nginx
잠시 기다리면 ...
걸려왔다!
미래에 대해
이번은 트라이얼판이었기 때문에, 「twilio 사용해 주셔서 감사합니다. 시험의 내용이 아니고 임의의 콜한다면 유료판 사용해」라는 메시지가 되어 있었다.
(억양이 굉장한 편언감 있음)
경고 내용에 따라 전화 내용을 변경하고 싶습니다.
Reference
이 문제에 관하여(Twilio+CloudFunctions+Stackdriver에서 장애 알림을 전화로 알립니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/HirokiSakonju/items/6b1ce3f3f5b7d4209808텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)