Fire TV stick で映画鑑賞中に障害通知を表示しよう

#  はじめに

この記事はシスコの有志による Cisco Systems Japan Advent Calendar 2022 (2枚目) の 20 日目として投稿しています。

https://qiita.com/advent-calendar/2022/cisco

過去の記事を含め、素敵で役に立つ記事が数多くありますので、ぜひ覗いてみてください。

## 今年は面白い映画がたくさんありましたね
2022 年の映画は非常に面白く話題となった作品が多かった印象です。

ONE PIECE FILM RED、トップガンマーヴェリック、すずめの戸締り、シン・ウルトラマン、THE FIRST SLAM DUNK etc...

面白い映画を見に行くほど、映画館で過ごす時間が長くなります。
そこでふと思ったのが、映画を見ている途中に障害が発生してしまったら**すぐ気づけないのでは…**（気づかないほうが幸せかもしれませんが）


## 映画館では無理でも自宅なら・・・！？
本物の映画館でモニターへ通知なんか出したら他の観客から袋叩きにあってしまいます。
そこで自宅の Fire TV Stickで映画を見ている時ならば可能なのではと考えました。

# 	DNA Center で管理している NW 機器に障害が発生したら webex で通知

今回の構成の概要図となります。
![スクリーンショット (375).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2960621/a033be21-04e5-4216-fa47-8882fcfb8c64.png)


DNA Center で管理しているNW機器に障害が発生すると、DNA Center が検知して、webex へ通知を行います。受け取った webex の通知を Android の端末（スマホ）を通して Fire TV Stick にポップアップ通知させることで、映画視聴中でも障害に気づくことができる仕組みです。
本当は Android の端末（スマホ）を経由せずに通知を行いたかったのですが、単体でFire TV Stick にポップアップ表示をさせることが困難だったため、この方法を採用しました。

## そもそもDNA Center とは？
WAKASAWA さんによる DNA Center 5分の紹介動画(再編集版)を参照ください。

<iframe width="560" height="315" src="https://www.youtube.com/embed/f-TtCmWVXJU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

## DNA Center のイベント通知機能とは？
DNA Center で管理している機器で特定のイベントがあった際、外部装置に通知できる機能です。
2022/12/20 時点の DNA Center 最新 Version 2.3.3.5 では 212種のイベント通知テンプレートが存在しており、その中から自由に選択して通知ができます。（どの通知方法を選択するかによって、利用できる種類が変わるため要注意です）
通知方法として下記が選択できます。
今回はイベント通知方法として webex を利用します。

|*イベント通知方法一覧* |
|---|
|webhook  |
|Email  |
|Syslog  |
|SNMP  |
|PAGERDUTY |
|webex  |

イベント通知機能について動画でも説明していますのでご参照ください。

<iframe width="560" height="315" src="https://www.youtube.com/embed/dl_5KDO_eGY?start=1478" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>



# 設定完了までの流れ
※この1-2の設定については[@kikuta2055さんの過去記事](https://qiita.com/kikuta2055/items/31f4742c3feb2c519485)を引用・参考に作成しています。

### 1. 通知用の webex Bot 作成と Webex Room Id 作成 
事前に送信元となる通知用の webex Bot を作成します。
Bot作成後、Bot Access Token を DNA Center の設定で利用するため忘れずに保管してください。Bot Access Token は作成後の 1度しか確認できないので注意です。
作成後にコピーを忘れてしまった場合には再度ログインして、再発行（Regenerate Access Token）ができます。

![qiita4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2960621/731f2ae3-7a90-54a9-ddeb-3f3ea9c6ca0c.png)

次に通知先に設定したい webex スペースの [Room ID を確認](https://developer.webex.com/docs/api/v1/rooms/list-rooms)します。

![qiita5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2960621/8924a2dc-1e23-0d88-d21f-b27441b65c3d.png)


### 2. DNA Center で webex を利用したイベント通知の有効化 
DNA Center でイベントの有効化設定を行います。今回設定した DNA Center は Cisco のクラウドデモ環境である dCloud を 利用しました。dCloudの予約の兼ね合いで今回は少し古い Version である 2.2.3.4 で設定しています。

今回はイメージしやすい障害としてWLCとAPの接続ができなくなった際に通知を設定をします。登録したいイベント名を入力して絞りこみを行い、チェックを入れ [Subscribe]をクリックします。

![qiita2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2960621/e62e7874-a41b-1eb5-e4e1-b4e14ddf2c2f.png)

その後表示される設定画面で以下の内容を設定します。

- Name ---> 任意
- Subscription Type ---> WEBEX
- Create a new endpointを選択
- Webex URL ---> デフォルトのまま
- Webex Room Id ---> （前述のものを利用）
- Webex Bot Access Token ---> （前述のものを利用）

![qiita3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2960621/77db578a-1dad-1c02-4898-73b5916456ce.png)



### 3. Notification for Fire TV を Fire TV Stickにインストール

Fire TV Stick へ Notification for Fire TV をインストールします。
インストール方法としては amazon のサイトで 検索して、インストールしたい端末を選択し配信ボタンをクリックをすることで自動的に自分が所持している Fire TV Stick にアプリをインストールすることができます。
余談ですが、Fire TV Stick に対応していないアプリ（非公式）をインストールしたい場合には、Fire TV Stick 本体側で開発者オプションから ADB デバック設定をオンに変更が必要です。その後、様々な方法を駆使することで野良.apkファイルのダウンロード & インストールが可能となります。

![qiita6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2960621/b0cd5432-2f9e-21ce-bc25-48149a64e152.png)


### 4. Android端末（スマホ）にNotification for Fire TV と webexをインストール
Android端末（スマホ）にもNotification for Fire TV と webex をインストールします。

# 通知をしてみた結果

見事、映画鑑賞中に DNA Center の通知を表示させることに成功しました。
※著作権に配慮し、制作後 50 年経過しているローマの休日を表示しています。

![qiita7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2960621/fac391f4-20cc-5c5e-6edb-47b7491d8b4f.png)

また、Fire TV Stick 自体にも webex をインストールしておけば、Fire TV Stick 上で DNA Center からの通知内容詳細を確認することができます。
（timestampがUTCのままですね、、、記事を書いていて気づきました。）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2960621/209282f7-0bc6-4ded-3f9c-9de58ee1dd11.png)


# まとめ

- DNA Center の webex を利用した通知機能は簡単に設定できました。
- Webex Bot の作成も簡単なので皆さんぜひ試してみてください。
- 通知は設定によってスリープ中のテレビをいきない起動させることができるので家族をびっくりさせられます。
- Notification for Fire TV は意外といろんな使い方ができるようです。海外のYoutuberの例では犬が家の中に入ってきたらセンサー & Home Assistant と連動して、Fire TV へ「犬が家に入ってきたよ通知」を出力していました。
- webex アプリは Fire TV では不明なアプリ扱いとなっていたが、表示くずれもなく利用が可能でした。
- Fire TV Stick のcast機能もしくはミラー機能を利用すれば大画面でwebexミーティングもできるのではと少しワクワクしました。

# さいごに
この度は Advent Calendar の企画に参加させていただきありがとうございました。
また記事を作成するにあたり、ご協力をいただきました皆さまにも深く感謝いたします。

# 免責事項
本サイトおよび対応するコメントにおいて表明される意見は、投稿者本人の個人的意見であり、シスコの意見ではありません。本サイトの内容は、情報の提供のみを目的として掲載されており、シスコや他の関係者による推奨や表明を目的としたものではありません。各利用者は、本Webサイトへの掲載により、投稿、リンクその他の方法でアップロードした全ての情報の内容に対して全責任を負い、本Web サイトの利用に関するあらゆる責任からシスコを免責することに同意したものとします。