.../articles/

IFTTT + TwitterでXaaSの情報をSlackに通知する

Xaas(SaaS, PaaS, IaaSなど)の障害やメンテナンスの情報をキャッチアップするためにIFTTTとTwitterを使ってSlackに通知を送る話。

前書き

みなさんはPaaS, Saas, IaaSなどを使っていますか?(以下まとめて XaaS と表記します)

エンジニアであれはコードを書いたら GitHub にプッシュ、 CircleCI でテストして、AWS にデプロイする。
このようにXaaSを組み合わせて使うことは日々の業務で当たり前のことだと思います。
(サービスの組み合わせは様々ですし、エンジニアに限った話でもないですが)

よくGitHubに障害が起きると「今日はもう仕事できないな」なんて冗談めかして言ってる人もいるんじゃないでしょうか?
あるいはシステムに不具合が起きてコードを調査したけど結局XaaSに障害が起きていたとかメンテンナンス中だった、なんて経験もあるかもしれません。

XaaSに障害が起きている場合に業務に支障をきたすのはもちろん、把握できていないと見当外れな障害対応をしてしまう可能性もでてきます。

例えばこのブログはContentfulで記事の管理を行っていますが、「ブログが見れなくなった!」→「なんかコードおかしいのかな」→「おかしなところはないな」→「Contentfulの障害でした」みたいなことになるかも。

つまり利用しているXaaSに障害が起きている、あるいはいつメンテナンスに入るかなどの情報をいかに早く正確に把握できるかはシステムの管理者や開発者にとって重要な課題だと考えています。


やったこと

前提としてXaaSが公式(信用できるなら非公式でも)に障害やメンテナンスの情報を発信するTwitterアカウントを運営していること、IFTTT, Slackが使える状態である必要があります。

また、ここで紹介する方法は簡易版という感じなので本気でやりたい人は他の方法を検討してください。

IFTTTにAppletを追加

事前にIFTTTでTwitter, Slackのアカウントを連携してください。

Appletの作成画面から、 This としてTwitterの「New tweet by a specific user」を選び目的のXaaSのアカウントを入力します。

例としてGitHubなら @githubstatus があるので githubstatus と入力します

次に That としてSlackの「Post to channel」を選び、通知を送る先のチャンネルを指定してください。
通知の内容はカスタマイズできますが、とりあえずはそのままでもいいと思います。

以上の設定が完了したら保存します。

通知が届く

あとは目的のアカウントがTweetすればSlackに通知が届きます。

先日の障害発生時は以下のように通知が届いていました。


まとめ

これで簡易的ではありますが、XaaSの障害をSlackで把握できるようになりました。

IFTTT, Twitter, Slackに障害が起きているとこの方法は機能しないので、厳密に監視したい場合は他の方法をおすすめします。

また This として他のイベントを利用してもいいと思いますし、 That がSlackである必要もないのでお好みで組み替えてみてください。

.../articles/

Articles

記事

AWS AmplifyにmonorepoのNext.js(App Router)をデプロイする

AWS AmplifyにmonorepoのNext.js(App Router)をデプロイする

monorepo管理しているNext.jsをAmplifyにデプロイしようとした際にいくつか躓く内容があったのでまとめておきます。

リモートワーク・オンライン会議でも、スムーズに制作を進めるために大切なこと[資料編]

リモートワーク・オンライン会議でも、スムーズに制作を進めるために大切なこと[資料編]

コロナ禍の影響により、リモートワークの導入をおこなっている制作会社も多く、実際に弊社でも導入しています。

売れるECサイトデザインを作るために。参考にしたいおしゃれな事例の探し方。

売れるECサイトデザインを作るために。参考にしたいおしゃれな事例の探し方。

売れるECサイトのデザインは、「この形式」という決まりはありません。ECサイトで売り上げを上げるなら、しっかりとしたコンセプトと、コンセプトを決定するまでのリサーチが必要です。

制作会社の考える、業務効率化ツールのおすすめ。個人でも使いやすいサービスなど。

制作会社の考える、業務効率化ツールのおすすめ。個人でも使いやすいサービスなど。

新型コロナウイルス感染拡大の影響で、リモートワークが主流になり、弊社でも週のほとんどは各自宅で作業をしています。

Figmaでデザインのコミット履歴を残せるプラグイン【Thought Recorder】をリリースしました

Figmaでデザインのコミット履歴を残せるプラグイン【Thought Recorder】をリリースしました

Figmaを利用するWebデザイナーの助けになれると嬉しいです。使い方は本記事をご覧ください。

ECの構築方法、おすすめのECサービス。

ECの構築方法、おすすめのECサービス。

ファッションや家電、スーパーの買い物でさえもECサイトを利用することが当たり前になりました。加えて新型コロナウイルスの影響もあり、弊社にも「どんなプラットフォームを利用したら良いか」「どれくらいコストがかかるのか」などECに関するさまざまなご相談を頂きます。

FastAPIのスキーマクラスをOpenAPIから生成する方法

FastAPIのスキーマクラスをOpenAPIから生成する方法

PythonでAPIを構築する要件があり、フレームワークに比較的モダンなFastAPIを採用しました。FastAPIはバックエンドの開発を行えば自動でOepnApi定義を生成する機能が備わっていますが、今回はこれを使わず、事前に用意したOepnApi定義からFastAPIで利用するスキーマクラスを生成する方法を紹介します。

Laravel 日本一解りやすい全文検索のマイグレーション記載方法解説

Laravel 日本一解りやすい全文検索のマイグレーション記載方法解説

Laravel + MySQLで全文検索を実装する

とあるPythonのソースで sys.path.append としたく無かった話

とあるPythonのソースで sys.path.append としたく無かった話

とあるプロジェクトのとあるソースコードのレビューをしてた時、「ソースコードの参照がうまくいってなかったので修正しました」とレビュー依頼がきました。 ディレクトリ構造 ``` module L __init__.py L main.py L tests L __init__.py L test_main.py ``` ソースコード ``` python tests/test_main.py sys.path.append(os.path.abspath("..")) from main import fuga ``` 今まで案件でPythonに触れる機会も結構ありましたが、なんとなく使ってきた部分も多く、この書き方が良いのか悪いのか判別できなかったので、改めてPythonのモジュールのインポートに関して調べてみたのでブログにしました。普段PHPを書いている事が多くPythonに関して何も分からないので初心者向けの内容になっていると思います。

GiFT1号目新卒デザイナーの2021年振り返り

GiFT1号目新卒デザイナーの2021年振り返り

いつの間に、年末ですね。入社してもう、9ヶ月も立っていたようです。2021年の振り返りを記事にしました。

すべての記事

お問い合わせ