ここまで見てきたように、Pythonのモジュール(ライブラリー)群はネットワーク管理にも役立つ。さらにPythonにはデータを簡単に収集・分析し、グラフとして可視化できるモジュールが豊富に備わっている。AI(人工知能)システムの構築にPythonが多用されるのは、こうした豊富なモジュール群があるからだ。
そこで調査対象のWebサイトからの応答時間(レスポンス時間)をグラフ化してみよう。requestsモジュールにはHTTPリクエストを発行したWebサイトからレスポンスが到着するまでの時間を出力するメソッドが用意されている。これを利用してレスポンス時間を測定する。
必要なモジュール群をインストール
まずプログラムの実装に必要なモジュール群を組み込む。「pip」コマンドで「requests」モジュールをインストールしておこう。ここではhttps://example.comというWebサイトからレスポンスが到着するまでの時間を測定する。
プログラムではあらかじめ用意した変数urlに調査対象のURLを格納し、その対象に向けてHTTPリクエストを発行する。変数respに返る結果には、ステータスコードなどに加えてレスポンスに要した時間も格納されている。elapsed.total_secondsというメソッドを使うと、変数respからレスポンス時間を秒単位で取得できる。これをprint関数で表示した。
レスポンス時間を可視化
Webサービスの健康状態を把握するには、定期的にアクセスして応答時間の推移を見ておきたい。そこでPythonプログラムで5分おきにレスポンス時間をチェックし、結果をグラフとして出力してみよう。レスポンス時間を一目で確認できる。