概要
フロントエンド周りの勉強を目的に、Plotly Dash*1を用いて 権威DNSサーバーのRTT等の可用性を可視化するウェブアプリケーションを作ってみました。
実装
実装はシンプルで、下記のような感じ。
- dnspython*2を使ってDNSのクライアントを書きました
- SOAレコードを定期的に問い合わせて結果をinfluxdbに書き込みます
- influxdbの結果をPlotly Dashで表示します。
- NSIDを引いているので、どのエニーキャストノードが応答してるか分かります。
- プローブ(問い合わせを定期的に実施しているノード)が地理的にどの辺にあるか地図にプロットしてます。(東京のプローブは、さくらインターネットのVPSです。AS番号も表示してます。)
その他
DNSをモニタリングするツールは、そもそもいろいろあったります。
*1:Introduction to Dash https://dash.plot.ly/introduction
*2:A DNS toolkit for Python http://www.dnspython.org/