23
Amazon SNS zabbixのアラートをプッシュ通知してみた Hikaru Ashino

Amazon SNSでZabbixのアラートをプッシュ通知してみた

Embed Size (px)

Citation preview

Page 1: Amazon SNSでZabbixのアラートをプッシュ通知してみた

Amazon SNS

zabbixのアラートをプッシュ通知してみた

Hikaru Ashino

Page 2: Amazon SNSでZabbixのアラートをプッシュ通知してみた

自己紹介

芦野 光 東北電子専門学校高度ITエンジニア科 3年

アルバイト

IT関連会社にてアルバイト

サーバーエンジニアとして勤務 2014.03~

サーバー構築、ミドルウェア検証等

最近のマイブームは、Ansible(構成管理ツール)です。

Page 3: Amazon SNSでZabbixのアラートをプッシュ通知してみた

ミドルウェアの検証

仮想化技術の検証

物理サーバーOSインストール自動化の検証(cobbler)

zabbixからのアラートを受信するAndroidアプリの開発

↑ ザビッくすアラート(仮)

アルバイト先での仕事内容

Page 4: Amazon SNSでZabbixのアラートをプッシュ通知してみた

ザビッくすアラート(仮)

zabbixからのアラートをプッシュ通知にて受信。

ポップアップ表示、通知音、バイブレーションなどを用いてプッシュ通知をお知らせ。

プッシュ通知で受信したアラートを一覧表示。

一覧画面から個々のアラートを選択して詳細表示。

プッシュ通知にはAmazon SNSを利用。

※ 今回利用しているzabbixは開発用に用意。

※ 画像は開発中のサンプルです。

Page 5: Amazon SNSでZabbixのアラートをプッシュ通知してみた

プッシュ通知/配信とは

スマートフォンや等に対して外部からメッセージ等を配信できる(プッシュできる)仕組みのこと

アプリが起動していなくても通知できる。

Hello

Hello

Hello

Hello

Page 6: Amazon SNSでZabbixのアラートをプッシュ通知してみた

プッシュ通知例:ニュース

Page 7: Amazon SNSでZabbixのアラートをプッシュ通知してみた

プッシュ通知例:防災情報

Page 8: Amazon SNSでZabbixのアラートをプッシュ通知してみた

なぜプッシュを使おうとしたのか

メールでのアラート通知

大量にアラートが発生した場合、メールが受信できなくなる。

上の現象にくわえて、重要なアラートを見つけることができない。

Page 9: Amazon SNSでZabbixのアラートをプッシュ通知してみた

Amazon SNSとは1

Amazon Simple Notification Service(Amazon SNS)

クラウドからモバイル等へのメッセージ通知の設定、送信を簡単にするサービス

PUSH,HTTP,mail,SMSでのメッセージの送信をサポート

異なるプラットフォーム(Android,ios,WindowsPhone)でも同じAPIで操作をサポート

Page 10: Amazon SNSでZabbixのアラートをプッシュ通知してみた

Amazon SNSとは2

異なるプラットフォームのサポート ー 従来

APNS

GCM

WPNS

Hello

Hello

Hello

Hello

Hello

Hello

Page 11: Amazon SNSでZabbixのアラートをプッシュ通知してみた

Amazon SNSとは3

異なるプラットフォームのサポート ー Amazon SNS

APNS

GCM

WPNS

Hello

Hello

Hello

Hello

Amazon

SNS

Page 12: Amazon SNSでZabbixのアラートをプッシュ通知してみた

Amazon SNSを使ってみる1

アプリケーションの登録

※事前にGoogle Cloud Messagingを許可する

プロジェクト(アプリ)のAPIキーの取得が必要

Page 13: Amazon SNSでZabbixのアラートをプッシュ通知してみた

Amazon SNSを使ってみる2

アプリケーションにエンドポイント(送信先デバイス)登録

GCMとの初期通信時に発行されるデバイストークン

(送信先のアドレスのようなもの)を登録

Page 14: Amazon SNSでZabbixのアラートをプッシュ通知してみた

Amazon SNSを使ってみる3

トピックの作成

(メッセージを複数デバイスに一括送信できるグループ)

Page 15: Amazon SNSでZabbixのアラートをプッシュ通知してみた

Amazon SNSを使ってみる4

トピックにエンドポイントの追加( create subscription )

(一括送信するグループにデバイスを追加する)

Page 16: Amazon SNSでZabbixのアラートをプッシュ通知してみた

Amazon SNSを使ってみる5

トピックにエンドポイントの追加( create subscription )

(一括送信するグループにデバイスを追加する)

Page 17: Amazon SNSでZabbixのアラートをプッシュ通知してみた

Amazon SNSを使ってみる6

メッセージの送信

Page 18: Amazon SNSでZabbixのアラートをプッシュ通知してみた

Amazon SNSを使ってみる7

App Topic

EndPoint

EndPoint

EndPoint

EndPoint

Subscription(PUSH)

Subscription(PUSH)

Subscription(mail)

Topic

Subscription(SMS)

Page 19: Amazon SNSでZabbixのアラートをプッシュ通知してみた

Amazon SNSを使ってみる8

Amazon EC2

(zabbix)

Amazon SNS

Page 20: Amazon SNSでZabbixのアラートをプッシュ通知してみた

開発環境

IDE(統合開発環境)

EclipseADT Bundle

言語

Java,PHP

AWS SDK for Android (Android)

AWS SDK for PHP (zabbix → Amazon SNS)

Json (zabbixから端末(エンドポイント))

端末

Nexus7 2012 (Android 4.4.4)

Page 21: Amazon SNSでZabbixのアラートをプッシュ通知してみた

デモ

Page 22: Amazon SNSでZabbixのアラートをプッシュ通知してみた

今後の開発予定

プッシュ通知表示の改善

アラートの一覧表示機能の作成。

アラートの既読、未読機能

アラート停止機能(アラート停止URLにジャンプ)

障害作業の可視化

プッシュの負荷テスト

セキュリティ面の検証

※ 画像は開発中のサンプルです。

Page 23: Amazon SNSでZabbixのアラートをプッシュ通知してみた

発表は以上になります。

ご清聴ありがとうございました