学内 PC の利用状況表示システムの開発と運用
矢野 孝三(*1), 大塚 秀治(*1), 寺尾 雄二(*1), 熊谷 将也(*2)*1 麗澤大学 情報システムセンター*2 富士通株式会社

yano@reitaku-u.ac.jp, ohtsuka@reitaku-u.ac.jp,
yuuji.terao@ga.reitaku-u.ac.jp, kumagai.masaya@jp.fujitsu.com
概要： 学内に設置している PC のログイン状況を、ヘルプデスクやシステム管理者が把握するためには、PC 運用管理機能を持つ専用ソフトウェア製品を導入する必要があった。本システムは PC にエージェントソフトを必要とせず、ログインスクリプトを用いた簡易的な仕組みによってログイン状況を収集し、ウェブによる見える化を行うものである。また収集したデータをデータベースに蓄積することで、中長期的な PC 利用率の集計に応用する。
キーワード：

ログイン情報，システム開発

1 研究の背景と目的ととした。本報は、システム設計・開発のポイントを整本学では 2013 年度より、PC の利用状況を管理す理し、試験運用で得られた結果を報告するものである。

るためのパッケージソフトウェア製品を導入している。

さらに、収集したデータを蓄積して、中長期的な PC

このソフトウェアは、サーバ側の管理システムと、クライ利用率の集計に応用することを検討する。

アント側のエージェントソフトで構成されており、現在

2 システム概要

どの PC に誰がログインしているか、何のソフトウェアを使用しているか、といった情報を収集して表示することができる。記録は継続的に蓄積されており、過去に遡って追跡もできる。これらの情報を閲覧するために本システムは「監視対象 PC」、「管理サーバ」、「情報表示端末」で構成される(表 1 参照)。それぞれの機器の関連を表した概要図を図 1 に示す。

はサーバにログインする必要があるため、システムを表 1 システム構成

利用できるのは権限を持つシステム管理者に限られ機器

OS/ソフトウェア

監視対象 PC(PC 教室などの設置 PC)

・Windows 7 Professional
・ログイン/ログオフスクリプト

管理サーバ

・CentOS 6.5
・MySQL 5.1てはシステム管理者以外にも有用な情報である。例え情報表示端末・ウェブブラウザ

ば、自習のため PC の空きを探している学生、ユーザPC教室・共同研究室ている。また、ユーザのプライバシーを含む情報であるため、データは秘匿する必要がある。
しかし、PC の利用状況、特にログイン状況についへの技術サポートを行うヘルプデスクのスタッフ、また、ログイン/ログオフスクリプト
実行時に、サーバに対して以下の情報をPOSTするUSER

PC メンテナンスを行う業者など様々な利用が考えら•
ユーザID• PCホスト名• IPアドレスれる。これらのユーザにもログイン状況を公開できる仕組みがあれば、サービスの向上やサポートを効率化できる可能性がある。
以上の背景から、本学では学内 PC において、市・Apache 2.2
・PHP 5.3

USER IDHOST
IP ADDRUSER IDHOST
IP ADDR

HTTP

HTTP

販のソフトウェア製品を使用せず、ログインスクリプトを監視対象PC
USER IDHOST
IP ADDRHTTPWeb

使用した簡易的な方法でログイン状況を収集する仕組みを考案し、収集したデータを一般ユーザでも手管理サーバ軽に閲覧できるように、ウェブブラウザでグラフィカル利用状況表示システムに表示する「PC 利用状況表示システム」を開発するこ

図 1 システム概要図

DBPC利用状況
HTTP

HTML5
CSS3
JavaScript

情報表示端末2.1 監視対象 PC のログイン情報取得

2.3 情報表示端末での表示

本学は Active Directory(以下 AD)ドメイン環境のデータベースに記録されたログイン情報は、DB クラ

Windows PC を運用している。PC がログインされていイアントソフトや CSV エクスポートなどで参照することるかどうかは、AD のイベントログから判断できる。しかが可能である。しかし、システム管理者以外のユーザし、Linux や Mac OS などの他の PC 環境ではこの方にも公開するためには、容易に閲覧できる GUI の形法は使用できない。一方、主要な OS にはログイン・ロ式で提供することが適切である。様々な PC 環境、まグオフスクリプトを設定する機能が備わっているため、たはタブレット端末などから閲覧されることを考慮し、この機能を使って自身のログイン状態をサーバに送一般的なウェブブラウザ上で表示できるウェブアプリ信する方法を考案した。サーバへの送信には HTTPケーションとして公開する。の POST メソッドを使用する。本システムの将来的な拡処理フローとしては、情報表示端末のブラウザから張性を確保するため、サーバ・クライアント環境に依管理サーバにアクセスすると、監視対象 PC(計 623 台)存しない、汎用的な技術を用いるように設計した。の配置図を模した画面が HTML で返却される。以降処理フローとしては、ユーザが監視対象 PC にログインするとスクリプトが起動し、「ユーザ ID」、「ホストは定期的にサーバからログイン情報をダウンロードして、各 PC の表示をリアルタイムに変更する。

名」、「IP アドレス」をログイン情報として管理サーバに表示画面の例を図 3 に示す。各建屋の教室や共同送信する。また、ログオフ時にも同様にログオフ情報と研究室を上から見た平面図が表示されている。各部して送信する。試験運用では PC 教室と共同研究室

屋には PC を表すオブジェクトが並んでいる。ログインに設置された Windows PC を監視するため、これらの状態の PC は点灯し、ログオフ状態の PC は消灯して処理を VBScript で実装し、AD ドメイン環境の「ログオいる。ログイン PC にはユーザの氏名が表示され、学ン・ログオフスクリプト」として設定した。

生は緑色、教員は黄色といったように、所属によって2.2 管理サーバのデータ処理色分けされている。また、PC をマウスでポイントすると、管理サーバは、ログイン情報を受信するとデータベースへの記録を行う。記録内容は PC から受信した情ユーザの氏名や所属、ログイン時間といった詳細情報がポップアップ表示される(図 4 参照)。

報に加えて、ユーザの「氏名」、「学籍番号」、「所属学部」を含んでいる(表 2 参照)。これらは既存の LDAPサーバから別途取得する。その後、管理サーバは同
じ PC からログオフ情報を受信すると、データベースの記録を削除する。以上の動作により、データベースには現在ユーザがログインしている PC 情報がリアルタイムに保持される。これらの流れをまとめたものを図 2 に示す。管理サーバの処理は PHP を用いて記述しており、サーバ OS に CentOS、ウェブサーバに Apache、データベースサーバに MySQL を使用している。
表 2 管理サーバに記録される情報
PC から受信するデータ・ユーザ ID
・ホスト名
・IP アドレス・日時

LDAP から取得するデータ
・氏名・フリガナ
・学籍番号または職員番号・所属学部または所属部署

LDAP
USER
ログイン情報ユーザ管理システム

ユーザ情報

データ記録

監視対象PC
図 2 ログイン情報のデータフロー

DBDBWeb
ログオフ情報図 3 情報表示端末での表示画面

データ削除

PC1のログイン情報
PC3のログイン情報
PC7のログイン情報
・・・

管理サーバ
図 4 ログイン情報のポップアップ表示(拡大図)様々なウェブブラウザに対応させるために、画面の3.2 技術的な制限事項

各要素は HTML および CSS のみで記述するように工本システムの特徴であるログイン・ログオフスクリプト夫している。例えば教室や PC は HTML の<div>タグによるサーバ登録方式では、スクリプトが作動しないで定義しており、位置とサイズは CSS の top、left、状況が発生した場合に、データと実情の不整合が発

width、height プロパティ、色は background プロパティ

生することが分かった。例えば最も多く見受けられたによって指定している。のは、PC のフリーズや強制終了でログオフスクリプト

また、静的な画面を表示するだけでなく、ユーザがが作動せず、サーバのログイン情報が削除されないと直感的に情報を把握できるように、前述のポップアッいう状況であった。この問題は本システムの技術的な1プ機能や、拡大縮小機能、バックグラウンド通信 による自動更新機能などを備えている。これらの動的な処制限事項となる。
暫定的な対応策として、サーバからログイン PC に理は JavaScript および jQuery2で実装している。

15 分間隔で ping を送信するようにした。応答しない

3 システムの運用と改良

PC は、データベースの記録に応答無しフラグが追記され、情報表示画面に表示される(図 5 参照)。その後、

本システムは 2013 年 10 月に最初のバージョンが完

ping 応答が復活した場合はフラグが削除される。復活成し、バージョンアップを繰り返しながら継続して試験しない場合は、PC の不正終了と判断して、夜間に自運用を行っている(2014 年 10 月現在)。利用者はシス動削除される。管理者による手動削除も可能である。

テム管理者(情報システムセンタースタッフ)、サポート担当者(ヘルプデスクスタッフ)、メンテナンス担当者(導入ベンダーSE)に限定している。

3.1 利点と課題本システムを利用する際の利点と問題点、および追加要望について、試験運用中に指摘があったものを表 3 に示す。
表 3 本システムの利点と問題点(抜粋)項目

内容・ 専用ソフトが必要なく、ブラウザで瞬時に情報が表示される

図 5 ping 応答しない PC の表示(拡大図)
PC には赤色の警告アイコンが表示される。ポップアップ表示の削除リンクをクリックするとデータベースから記録が削除される。

・ 全体の利用状況が一画面で直感的に把握できる利点

・ メールで問合せがあったユーザが、現在どの PCを使っているか分かる。また IP アドレスが表示されるので、VNC 接続での遠隔サポートがすぐに行える・ 遠隔から教室 PC の一斉メンテナンスを行う前に、ユーザが PC を使っていないか確認できる

問題点

・ PC がフリーズしたり、強制終了した場合はログオフスクリプトが実行されないため、ログイン情報が残ったままになる。
・ 画面中のユーザを検索したい
・ 学部や学科別にユーザを表示したい

要望

・ 教室が現在授業中なのか知りたい

3.3 過去データの蓄積
表 3 の要望事項を分類すると、①情報表示端末側の JavaScript の処理で対応できるもの(ユーザ検索、学部別表示)、②追加の固定データが必要なもの(授業情報表示、TA 情報表示)、③ログインデータの蓄積が必要なもの(過去の状況表示)に分かれる。①と②はプログラムの改修で比較的容易に実現できるが、③については、システム設計まで戻ってデータ管理を根本的に見直す必要があった。
任意の時間に PC がログイン状態であったかどうか・ 学生アルバイト(TA)が時間通りにログインして勤務しているか知りたいを判定するには、ログインとログオフの両方の記録が・ ログイン状況を過去に遡って表示したいデータベースに残っていればよい。指定した時間の直前の記録を調べて、ログインの記録があれば PC は

1 HTTP で非同期通信を行う技術である Ajax を使用している。サーバから 10 秒間隔でログイン情報データ(CSV)をダウンロードして、現状をリアルタイムに画面に反映させている。
2 オープンソースの JavaSctipt ライブラリ（http://jquery.com/）。

HTML の要素を抽出して動的に変更するための機能が豊富に揃っている。

ログイン状態であり、逆の場合はログオフ状態である。
この方法でシステムへの実装を検討したが、3.2 の制限事項で述べたように、ログオフの記録を確実に残せない状況が発生することが分かったため、この判定方法の採用は見送られた。

次に検討した方法は、データベースの記録を定期間が算出できる。この方法で全ての PC の使用時間を的に複製して保存するものである。現状のログイン情算出し、画面に表示した例が図 8 の統計表示画面で報が記録されたテーブルを一定間隔でコピーし、過ある。図 8 では本学の 2014 年 6 月から 10 月までの去データのテーブルに追記する(図 6 参照)。

623 台の PC 利用統計を表示している。
統計表示画面では、各 PC の使用時間を表示する

リアルタイムデータ
テーブル
PC1のログイン情報
PC3のログイン情報
PC7のログイン情報

ログインデータを定期的に複製して追記する（10分間隔）

データベース

過去データ
テーブル

とともに、それぞれの順位を計算し、色分け表示をし0分前 PC1のログイン情報
PC3のログイン情報
PC7のログイン情報ている。順位が高いほど赤色に近づくヒートマップとし10分前 PC1のログイン情報
PC4のログイン情報
PC7のログイン情報

時間に一定の誤差は生じるが、PC 利用率の全体像て表現している。蓄積データの性質により、算出したを把握する手段としては有効な方法であると考える。

20分前 PC2のログイン情報
PC8のログイン情報

過去データが一定間隔で保存される

図 6 過去データの蓄積
新たに過去データテーブルを作成して、リアルタイムのログインデータのスナップショットを蓄積する。過去データの保存間隔は PC の最低限の利用時間を考慮して 10 分間隔に設定した。

この方法で蓄積されるデータの長所は、ログオフスクリプトが動作しない状況でも、ping 応答無しフラグが記録として残るため、記録を追跡すればユーザが PCを使っていたかどうか把握できることである。逆に短所は、正確なログオフ時刻が不明となる点である。例えば、図 6 の過去データから PC2 のログイン情報を参照
すると、20 分前までは記録があるが、10 分前には記録が無いため、その間にログオフしたという判断になる。保存間隔を短くするほどより正確なログオフ時間少が分かるが、データ量は比例して増加する。

PC利用率

多情報表示画面には日時指定の入力インターフェースを追加し、現在と過去データを切替え表示できるようにしている(図 7 参照)。

図 8 統計表示画面
上図が統計表示画面である。右下図の色相環に従って色分けされている。左下図は一部を拡大したものである。各 PC にマウスをポイントすると全体の順位が表示される。

5 今後の展開
本システムはまだ試験運用中であるが、視覚化さ
図 7 過去データの閲覧画面

れた PC 利用状況データは日常業務で有効に活用さ図上部の「現在」「記録」ボタンでデータを切替える。隣の日時入力ボックスで日時を指定すると、非同期通信で過去データがダウンロードされ、画面表示が更新される。

れている。利用者からの要望があれば、さらにシステ

4 PC 利用統計表示への応用のサービス公開が可能か検討していきたい。

ムの改修を続けていく予定である。また、画面の表示内容から個人情報を削除することで、一般ユーザへ蓄積した過去データを利用して、PC の利用統計を

PC 利用統計については、視覚化された統計情報算出する方法を検討する。過去データから一台の PCを用いて、PC の導入台数や設置場所の最適化にもの記録を検索し、データの個数をカウントする。デー応用が可能であると考えている。データの集計方法

タの保存間隔は 10 分なので、1 カウントにつき約 10

および表示方法にまだ改良の余地があるため、引き分間使用されたことになる。つまり、過去データの記続き研究して、業務に活用できるレベルまで品質を向録数と保存間隔の時間を掛けることで、PC の使用時上させたい。