Professional Documents
Culture Documents
様 々なコミュニケーションツ
ールに通知する
株式会社ビヨンド
平田健士郎
目次
目次
・自己紹介 ・ Chatwork
・きっかけ ・ Slack
・概要図と各機能紹介 ・ Twilio
・流れ ・動画
・まとめ
自己紹介
自己紹介
平田 健士郎
【担当業務】
サーバ保守運用 (24 時間 365 日のサーバ有人保守サービス )
インフラ構築 ( お客のご要望に合わせてクラウドインフラの構築
様の ご 要 望 に 合 わ せ て ク ラ ウ ド イ ン フ ラ の 構 築 )
社内 NW 管理
ISMS 運用
【保有資格】
AWS SAA
CCNA
自己紹介
平田 健士郎
【担当業務】
サーバ保守運用 (24 時間 365 日のサーバ有人保守サービス )
インフラ構築 ( お客様のご要望に合わせてクラウドインフラの構築 )
社内 NW 管理
ISMS 運用
【保有資格】
AWS SAA 最近彼女ができました!
CCNA
自己紹介
平田 健士郎
【担当業務】
サーバ保守運用 (24 時間 365 日のサーバ有人保守サービス )
インフラ構築 ( お客様のご要望に合わせてクラウドインフラの構築 )
社内 NW 管理
ISMS 運用
【保有資格】
AWS SAA 最近彼女ができました!
CCNA
きっかけ
きっかけ
・運用品質をあげるためにメールだけでなくチャットツールと電話に通知がで
きるようにしたい
概要図と各機能紹介
概要図と各機能紹介
Azure
概要図と各機能紹介
Azure Monitor
Azure のリソース監視ツール
概要図と各機能紹介
Virtual Machens
Azure の仮想マシン
概要図と各機能紹介
Azure Automation
プロセスの自動化、構成管理
概要図と各機能紹介
Runbook
Automation 内の作業単位
概要図と各機能紹介
Webhook
Runbook の起動トリガー
概要図と各機能紹介
Runbook で動作する
スクリプト
概要図と各機能紹介
Chatwork
チャットサービス
Slack
チャットサービス
概要図と各機能紹介
Twilio
電話サービス
流れ
流れ
VM を Azure Monitor で監
視
流れ
アラートが発生すると、アクションとして
Azure Automation の Webhook をコール
流れ
コミュニケーションツールから端末へ通知
Chatwork
Chatwork
Chatwork 側で事前にやっておくこと
・アカウント作成
・ API 利用申請
https://help.chatwork.com/hc/ja/articles/115000169501-API%E3%81%AE
%E5%88%A9%E7%94%A8%E7%94%B3%E8%AB%8B%E3%82%92%E6%89%BF%E8%AA%8D-%E5%8D
%B4%E4%B8%8B%E3%81%99%E3%82%8B
・ API トークンの発行
https://help.chatwork.com/hc/ja/articles/115000172402-API%E3%83%88%E3%83%BC%E3%82%AF
%E3%83%B3%E3%82%92%E7%99%BA%E8%A1%8C%E3%81%99%E3%82%8B
https://developer.chatwork.com/ja/
Chatwork
Automation アカウントの追加
Chatwork
Runbook の作成
スクリプト
##roomid is chatwork room id
$roomid = 'Chatwork のルーム ID'
##notificate to chatwork
Invoke-RestMethod -Uri `
"https://api.chatwork.com/v2/rooms/$roomid/messages" `
-Method POST -Headers $headers -Body $notification
参考
https://qiita.com/miwato/items/38a0fb086b63c0ab8f45
Chatwork
Webhook の作成
Webhook の URL を指
定
Chatwork
先ほど作成したアクショングループを指定
Chatwork
通知テスト
stress コマンドで負荷をかける
Chatwork
stress コマンドとは?
-> サーバで意図的に負荷をかけるコマンド
(stress コマンドインストール )
# yum install stress
通知テスト
Chatwork にメッセージが送られる
Slack
Slack
Slack 側で事前にやっておくこと
・アカウント作成
・ Slack アプリ作成
https://slack.com/intl/ja-jp/help/articles/115005265703-%E3%83%AF%E3%83%BC%E3%82%AF
%E3%82%B9%E3%83%9A%E3%83%BC
%E3%82%B9%E3%81%A7%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B%E3%83%9C
%E3%83%83%E3%83%88%E3%81%AE%E4%BD%9C%E6%88%90
https://slack.com/intl/ja-jp/help/articles/115005265063-Slack-%E3%81%A7%E3%81%AE-Incoming-
Webhook-%E3%81%AE%E5%88%A9%E7%94%A8
Slack
スクリプト
function Send-Slack{
param(
[Parameter(Mandatory,Position=1)]
[string]$message,
[Parameter(Mandatory,Position=2)]
[string]$webhookUrl
)
# 日本語エンコード用
$encode = [System.Text.Encoding]::GetEncoding('ISO-8859-1')
$utf8Bytes = [System.Text.Encoding]::UTF8.GetBytes($message)
# Json に変換する
$payload = @{
text = $encode.GetString($utf8Bytes);
}
# Slack の REST API をたたく
Invoke-RestMethod -Uri $webhookUrl -Method Post -Body (ConvertTo-Json $payload)
}
# テスト
$url = "https://hooks.slack.com/services/Txxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx"
Send-Slack -message " テスト " -webhookUrl $url
参考 : https://nasunoblog.blogspot.com/2016/07/post-message-from-powershell-to-
Slack
通知テスト
stress コマンドで負荷をかける
Slack
通知テスト
Slack にメッセージが送られる
Twilio
Twilio
Twilio 側で事前にやっておくこと
・アカウント作成
・ API トークン取得
・電話番号購入
https://jp.twilio.com/docs/usage/tutorials/how-to-use-your-free-trial-account
※ 利用にはクレジットカードの登録
チャージが必要 (2000 円から )
オートチャージで自動課金されるので必要が無い場合は無効にする
Twilio
余談 1
余談 1
特定の国以下のページに記載されている国(日本を含む)の電話番号を
購入する場合、本人確認の登録が必要です。
https://jp.twilio.com/guidelines/regulatory
録 を し ま
本人確認には、運転免許証等の本人確認書類画像データの登をしま
す。また、確認作業に 3 営業日ほどかかります。
余談 2
余談 2
これで電話による通知が出来るが、
現在は国コード 1( アメリカ等 ) の電話番号しかサポートされておらず、
日本の電話番号 ( 国コード 81) はサポート外でした。
https://docs.microsoft.com/ja-jp/azure/azure-monitor/platform/action-groups
Twilio
スクリプト
$key = "Twilio の ACCOUNT SID"
$secret = "Twilio の AUTH TOKEN"
$uri = "https://api.twilio.com/2010-04-01/Accounts/$key/Calls"
$xml = "http://twimlets.com/echo?Twiml=%3C%3Fxml%20version%3D%221.0%22%20encoding%3D
%22UTF-8%22%3F%3E%0A%3CResponse%3E%0A%20%20%20%20%3CSay%20language%3D%22ja-jp
%22%20voice%3D%22woman%22%3E%0A
%20%20%20%20%20%20%E3%82%A2%E3%83%A9%E3%83%BC%E3%83%88%E3%81%8C
%E7%99%BA%E7%94%9F%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE
%E3%81%99%E3%80%82%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%8F
%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%0A%20%20%20%20%3C%2FSay%3E%0A%3C
%2FResponse%3E&" # 音声
$parameters = @{Url=$xml; To=" 着信電話番号 "; From="Twilio で取得した発信電話番号 "; }
参考 : https://tech.sanwasystem.com/entry/2016/01/28/211457
Twilio
通知テスト
stress コマンドで負荷をかける
Twilio から着信する
動画
動画
流れ
⑤ 各コミュニケーションツールに通知される
ハンズオン動画
https://youtu.be/YdXkLFRwJvc
まとめ
まとめ
・ Webhook をアラートのアクションに設定できるため、
今回紹介したコミュニケーションツール通知以外にも様々ツールと連携が可能
まとめ
Azure について
・リソース作成時に料金が表示されるのが助かる
聴 あ り が と う ご ざ い ま し た
ご清ありがとうございました