Azure App Service の Deployment Slot Setting
完全に理解したつもりだったのに忘れてしまっていたのでメモ

- 前提
- Swap したとき
- C と D は入れ替わるが、A と B は入れ替わらない
Deployment Slot Settingが存在すると、それを反映させるためアプリケーションが reboot される- 逆に
Deployment Slot Settingが存在しない場合、 reboot されない - 意図的に reboot したい場合、1つでも適当な
Deployment Slot Settingを入れておくとよい- WebSocket を使っていると swap 後に prod slot じゃない方に接続が残り続けるので、要件的に問題なければ reboot による強制切断で prod slot に負荷を移せる
- 逆に
- 参考
Datadog で空気の状態を監視する
これは Datadog Advent Calendar 2019 14日目の記事です。
まとめ
- Custom Metrics で Awair metrics を送って、空気の状態の監視ができるようになった
- Awair とは?
- 温度、湿度、CO2などの空気の計測機器です
- Awair で室内空気モニタリング - minato128 blog
- Awair とは?
- 過去ログを楽しく分析できるようになった
- Awair は最新の状態を見るのは簡単ですが、過去のログを見るのが難しい
- Datadog の View は高機能かつ使い慣れているのでストレスがない
- Agent を入れなくてもいいので維持コストがゼロ
- 他の SaaS だと Custom metrics だけでも1ホスト分課金されることがある
- Datadog は今のところ(2019-12-14)課金が発生しない
- 他の SaaS だと Custom metrics だけでも1ホスト分課金されることがある
Custom Metrics とは
多すぎてすべては説明しきれませんが、このような特徴があります。
- 自由に metric name や type を設計し、tag で簡単に dimension を表現できる
- 標準 metrics と同様に15ヶ月参照可能
- Datadog のリッチな View で同一時系列で何が起きているのかすぐにわかる
- Datadog の Core 機能と言っても過言ではないのでは
- 送信方法
metrics 送信の仕組み
これらをひとつの Azure Function で数分間隔で定期実行しているだけです。
- Awair Web API から metrics を取得
- 詳しくはこちらに書きました
- metrics を sample のように加工
- Datadog Web API で Datadog に送る
- https://docs.datadoghq.com/api/?lang=bash#post-timeseries-points
- endpoint :
https://api.datadoghq.com/api/v1/series?api_key=<YOUR_API_KEY>
payload sample
{ "series" : [ {"metric":"awair.co2", "points":[[1576219800, 100], ...], "tags":["deviceid:test"]}, ... ] }
Note: The timestamp should be in seconds, current. The numeric value format should be a 32bit float gauge-type value. Current is defined as not more than 10 minutes in the future or more than 1 hour in the past.
ちなみに「timestamp として有効なのは、1時間前から10分後まで」と定義されているので、過去ログをまとめて取り込むことはできません。
ダッシュボードの様子
1 Hour
1 Day
1 Week
1 Month



