はじめてのポートフォリオ作成に挑戦
パソコンやスマホを同一のプロキシサーバーに繋ぎ、そのアクセスログを解析してWebサイトなどのアクセス時間を算出するプログラムを作成したいと考えています。
<1.システム開発を行う環境について>
プロキシサーバーはsquidを用います。想定している環境は下記です。
・利用するOS CentOS 7 or 8
・開発環境 自宅のRaspberry Pi にCentOSをインストールし、自宅のWi-fiを介して各種機器(所持しているWindows, Mac, Android等の端末)と接続する。余力があれば、CentOS上にdockerを配置し、その上にsquidを配置することも考えている。そうすれば、中間報告もしやすくなるだろう。
・本番環境 ConoHa のVPS (レンタルコンピュータ)を購入しその上にCentOS8をインストール、その上にプロキシサーバーsquidを導入する。自宅wi-fiのアドレスからインターネットを介してこのサーバーに接続する。
❌<費用が高すぎた>AWS上でプロキシサーバーを導入し、インターネットを介して各種機器と接続する。(AWSのプロキシは2020年11月時点でCentOS 7で構築されている。)<2.アクセスログのデータの加工の仕方について>
squidのアクセスログはaccess.logとして出力される。今のところ下記を検討した結果、一番下が最も合理的と考えている。
・squidのデフォルトの出力ファイルは" "で区切られている。出力ファイルに合わせた解析プログラムを自作し、これを用いる。例えば、pythonを用いる。
・squidのアクセスログ解析プログラムとしてWebalizerを使ってみたが、ツールが古くて正直使い物にならない感がすごかった。
・Webサーバとして非常に有名なApacheの標準的な出力形式に合わせて、Apacheの出力を自動で解析してくれるようなツールに繋ぐのが一番良質な解析を短時間で行える気がする。
基本的には、「いつ(日毎)」「誰が(ipアドレス)」「どのコンテンツをどのくらい(例えば、youtubeをxx分)」に関する情報を得られればいいかなと考えています。「どのコンテンツをどのくらい」というところが意外と厄介で、この分類をhttp以外のもの(例えば、動画、ブロフ、SNS、ゲームなどというカテゴリー)にしようとすれば、おそらく解析結果からさらに手作業をする必要があると思われます。
最終的にはリアルタイム解析を目指すので、先程の解析プログラムを定期的に動かすように設定します。(どんなツールで?pythonで自作??)
その他、検討事項等があれば、順次加えていきます。
0コメント