夏目祐樹(18)58この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。はじめにこんにちは、夏目です。今日は個人的に使っているエラートラッキングツールを紹介します。faultline簡単に言うと、AWS上に構築して使う、エラー情報を収集するためのソフトウェアです。ペパボ)の小山さんが開発したサーバーレスなエラートラッキングツールです。APIでエラー情報を登録/取得することしかできないので、エラーを収集したいアプリケーション側でfaultlineの各種言語用ライブラリを使うなり、自力でAPIにエラー情報を投げるなりしてあげる必要があります。Application向けと題うったものの実際は何にでも使えます。Application向けかなぁって感じです。機能できることは、以下の5つです。(faultline-webui)エラーの詳細を記録していることと、通知の頻度などを設定できることが自分は非常に気に入ってます。Node.jsがインストールされていることやAWSのクレデンシャルの設定がすでにされていることが必要ですが、ざっと6コマンド程度でfaultline本体は構築できます。ServiceEndpointが出力されるので、どこかわかるところに保存しておいてください。API叩くなりでエラーを登録します。APIを叩いて登録してみます。エラーの内容はFaultlineリポジトリに同封されているエラーサンプル(sample-errors.json)を使います。[ここにServiceEndpointが入ります]/projects/sample-project/errorsエラーを登録したのでその内容を見てみます。Mac以外の方はローカルのindex.htmlをブラウザで開けばOKsample-projectという名前のプロジェクトにいくつかエラーが登録されているのがわかります。公式で対応している言語は以下の4つです。faultline-phpfaultline-jsfaultline-rubyfaultline-rack対応していない言語でも、サンプルエラーの登録でやったように、APIにエラー内容を送るように書いてしまえば使えます。言えば、faultlineのライブラリはairbrakeというエラートラッキングサービスのライブラリを参考にして作られているので、とりあえず使える程度のものは比較的作りやすいと思っています。Lambdaでfaultline-jsがうまく動かなかったため、node-airbrakeをベースにnode-faultline-protoというライブラリを作りました。faultlineのコンセプトfaultlineのコンセプトとしては以下の4つがあるそうです。Deploy使い方で示したようにfaultlineの構築は非常に簡単です。運用ゼロにはなりませんよ!!)AWSのマネージド・サービスを使用しているため運用のほとんどをAWSにまかせることができます。ついでに言うと、使ってるサービスも比較的安価です。config設定値をツール側で保持するだけでステートの管理対象が増えてしまうので、できるだけ値を保持しないのが鉄則APIベースのツールなのであれば、リクエストに必要な設定を毎回付与してしまえばいいというアイデア秘匿が必要な設定値でさえもKMSを利用して暗号化してリクエストに付与する設定値を毎回送り込むという発想には本当に脱帽する。LambdaがCallされたタイミングで情報がほとんど揃っていることになるので、どこかから設定値を引っ張ってくる必要もほぼ無くなるだろうし、このテクニックは使っていきたい。Service"あくまで、「エラーメール通知のみの開発の世界」と「有償のエラートラッキングサービスに任せているの開発の世界」の間を狙っています。本当の「管理レス」は金の弾丸を使った有償サービスなので。エラー通知をメールでやっていたときのツラみとエラートラッキングサービスを導入するのが難しいという事情から生まれたのがfaultline。ここまでしっかり考えてからプロダクトを作る必要があるんだなぁと自分は感銘を受けました。自分はどう使ったかこのfaultlineをどう使ったかというと、大きく分けると2つのことに使ってました。使った感触でいくと後者が思った以上に大きかったです。具体的に何をしていたかというと、Lambda関数の開発において最初にfaultlineにエラーを飛ばすように設定しておいてから開発していただけです。開発中って予期しないエラーがよく起きるのですが、その詳細をすぐ見れるのと見れないのとでは大きな違いでした。おわりに以上が、エラートラッキングツールfaultlineの紹介です。安く簡単にエラー収集できるようにしたいとかには非常に向いているので、気が向いたら使ってみてください。184,820興味の幅が広くて色々見て回るので変なことを知ってます。立派なサーバーレスおじさんになれるように頑張ります。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。今日はオフィスに用があるので、通勤ラッシュを避けて出社しました。この子は新メンバーのさめくんです。在宅勤務が推奨されているのでオフィスが閑散としており、すこしさみしそうです。使いたいときの注意点を書きました。本が出ていたので読んでみたところよかったので紹介させていただきます。