こんにちは、RPAの関口です。前回はモデルとして登場(【番外編】バレンタイン緊急企画: エンジニアはPARCOさんへゆけ)させて頂きましたが、今回は執筆者です。プライベートの目標進捗については芳しくありませんので触れないでやって下さい (泣
さて皆様、エンジニア間での情報共有には何をお使いでしょうか?簡単な依頼はSkype、障害アラートが飛んでくるのはメール、開発の進捗はGitHubのissueで管理し、MTGの議事録はGoogle Docsなど複数の手段を併用しているのでは無いでしょうか?個人宛てSkypeに来てしまった依頼なんかはチーム全体として何が起きているのか把握しづらくなりますし、複数のコミュニケーション手段を使っているせいで「あれどこにいったっけ?」ということも頻繁に起きます。
そんな時に役立つのがSlack: Be less busy とかIdobata といった、情報を1箇所にまとめられるツールです。RPAではSlackを利用しております。GitHubと連携してissueの更新をSlack にポストしたり、Google Docs のファイルをSlackから検索することもできます。またIncoming WebHookを使えば独自のHookも作れますので、例えばデプロイスクリプトの完了時にSlackに投稿することも可能です。
今回はそのIncoming WebHookを使って、500系のエラーが発生したらSlackに投稿する、という簡単スクリプトを作りたいと思います。
仮想マシン上に立ち上げたサーバーに下記のようなphpファイルを用意しました。
500エラーが発生するように変更します。 アクセスログにステータスコード500が出ていますね。ではこの500エラーを検知して、Slackに投稿するスクリプトを作成しましょう。
の実行でエラー通知が来ます。エラー通知を発見したら、後はエラーログを探って原因を特定すればよいでしょう。
cron に登録すれば、簡単に500系エラーの監視ができるようになります。
いかがでしょうか?Slackは非常に良いコミュニケーションツールだと思います。たくさんの既存サービスと連携可能なので、ツールの切り替えにかかる時間は殆どありませんでした。まだ使っていない人は是非試してみてください。
さて皆様、エンジニア間での情報共有には何をお使いでしょうか?簡単な依頼はSkype、障害アラートが飛んでくるのはメール、開発の進捗はGitHubのissueで管理し、MTGの議事録はGoogle Docsなど複数の手段を併用しているのでは無いでしょうか?個人宛てSkypeに来てしまった依頼なんかはチーム全体として何が起きているのか把握しづらくなりますし、複数のコミュニケーション手段を使っているせいで「あれどこにいったっけ?」ということも頻繁に起きます。
そんな時に役立つのがSlack: Be less busy とかIdobata といった、情報を1箇所にまとめられるツールです。RPAではSlackを利用しております。GitHubと連携してissueの更新をSlack にポストしたり、Google Docs のファイルをSlackから検索することもできます。またIncoming WebHookを使えば独自のHookも作れますので、例えばデプロイスクリプトの完了時にSlackに投稿することも可能です。
今回はそのIncoming WebHookを使って、500系のエラーが発生したらSlackに投稿する、という簡単スクリプトを作りたいと思います。
仮想マシン上に立ち上げたサーバーに下記のようなphpファイルを用意しました。
500エラーが発生するように変更します。 アクセスログにステータスコード500が出ていますね。ではこの500エラーを検知して、Slackに投稿するスクリプトを作成しましょう。
$ perl alert.pl /var/log/httpd
の実行でエラー通知が来ます。エラー通知を発見したら、後はエラーログを探って原因を特定すればよいでしょう。
cron に登録すれば、簡単に500系エラーの監視ができるようになります。
いかがでしょうか?Slackは非常に良いコミュニケーションツールだと思います。たくさんの既存サービスと連携可能なので、ツールの切り替えにかかる時間は殆どありませんでした。まだ使っていない人は是非試してみてください。