logentries の Alert を Azure Functions で加工してから Slack に送ってみる
そもそも logentries は標準で Slack 通知をサポートしているのですが、raw log (JSONとか) がそのまま通知されるだけなので、アラートがきていることはわかっても何が起きたのかよくわからないということがあります。 そこで Azure Functions で logetries Alert Webhook を受け取って、少し加工してから Slack に通知してみました。 こういったちょっとしたものは AWS API Gateway + Lambda で作るより Azure Functions のほうが楽でいいですね。
まず、ここで飛んでくる JSON の仕様を確認して、普通に Azure Functions を作成して動作確認してみたのですが動きませんでした。
The content type of the message is encoded in application/x-www-form-urlencoded.
よくみたら、Content Type が application/json ではないですね。 手動で POST してみたら確かに 415 が帰ってきて Azure Functions が起動するところまで到達しませんでした。
function.json の webHookType で選べる値に適切なものが見つからなかったのでぐぐったら項目ごと消せばよいとのこと。その通りにしたら確かに動きました。ちなみに値を空にしても動きました。 設定がなかったら、Content Type をチェックしない仕様なんですね。
{ "bindings": [ { "type": "httpTrigger", "direction": "in", "name": "req", "webHookType": "" }, { "type": "http", "direction": "out", "name": "res" } ], "disabled": false }
#r "System.Web" #r "Newtonsoft.Json" using System; using System.Web; using System.Net; using System.Configuration; using System.Threading.Tasks; using Newtonsoft.Json; public static async Task<object> Run(HttpRequestMessage req, TraceWriter log) { log.Info($"Webhook was triggered!"); var formData = await req.Content.ReadAsStringAsync(); var list = HttpUtility.ParseQueryString (formData); var payload = list["payload"]; log.Info(payload); dynamic data = JsonConvert.DeserializeObject(payload); // edit data // post slack return req.CreateResponse(HttpStatusCode.OK, new { }); }
アブラサスの小さい財布が便利
長財布をカバンに入れて生活していたけど、カバンに入っているものは財布しか必要ないケースが多いので、財布と定期入れとキーケースを兼ね備えたものを買って、それと携帯だけあればカバンなしでどこにでもいける状態を目指していろいろ検討した結果、小さい財布(商品名)を買った。
- お札が曲がらない
- コインがそれなりに入る
- 鍵がつけられる
- 小さいので前ポケットにずっと入れていられる
- カードも5枚入れられて、そのまま改札も通れる
などのメリットがあり、創業者のプロダクトデザインの話がおもしろかったのも決め手となった。
「薄い財布」と「小さい財布」を比較。こんなライフスタイルには「◯◯い財布」 | SUPERCLASSIC
財布のデザインの話おもしろかった https://t.co/QCgQi9Bk0D
— essentialism (@minato128) 2017年3月30日
アブラサスの小さい財布の小銭入れ、返し入れればいいのに。逆に使いづらくなるだろうか
— essentialism (@minato128) 2017年4月2日
アブサラスかと思ったらアブラサスなんだよな
— essentialism (@minato128) 2017年3月30日
小さい財布 abrAsus ブッテーロレザーエディション キャメル
- メディア: ウェア&シューズ
- この商品を含むブログを見る