サーバ管理演習によるサーバ状況確認履歴を用いた自動正誤推定システムの検討
西村一輝1

井垣 宏1

尾花将輝1

概要：
我々はサーバ管理技術の育成を目的とした演習授業における学生の進捗状況の把握や課題の誤り原因の特定を目的として，サーバ管理演習おける学生の操作履歴を 3 種類のログとして記録するログ収集・可視化環境を構築した．本稿では，3 種類のログのうちのサーバ状況確認履歴を利用し，学生がどの課題までを正しく実施できているかを自動的に判定する仕組みの検討を行う．

1. はじめにクラウドコンピューティング技術の普及に伴い，クラウド技術を利用したサーバ管理演習が数多くの教育機関で実どの学生が正解で，どの学生が不正解なのかを判定するための仕組みについて検討する．

2. サーバ管理演習とその課題施されている [4][3]．例えば，文部科学省の教育プロジェク

サーバ管理演習では，学生は AWS などを利用してサートである enpit では，Amazon Web Services*1 のようなパバを立ち上げ，ソフトウェアのインストールや各種コマンブリッククラウドと言われるクラウドサービスを利用する

ドの実行やサーバの起動・終了を繰り返して，与えられたことで，学生一人ひとりがそれぞれ自身のサーバを持ち，課題を達成していく．我々は先行研究 [1] において，ソフソフトウェアのインストールや設定を伴う，非常に実践的トウェアのインストール状況やサーバの起動状況といったな取り組みが行われている [2]．

サーバ状況を外部からのコマンド実行によって確認し，ロこれらのクラウド環境を利用したサーバ管理演習では，グとして記録するサーバ状況確認履歴を提案した．また，教員が全学生の進捗状況を正確に把握することは困難であWeb アプリケーションにこれらの履歴を表示することで，る．また，学生がコマンドや設定ファイルの誤記等で誤っスタッフが演習実施中にいつでも各学生の進捗状況や過去た際に，どのような経緯でそうなったかを後から正確に把のサーバ管理内容を確認することができるようになった．

握することも難しい．我々は先行研究においてサーバ管理

本稿では，サーバ状況確認履歴のログを分析することによ

演習における学生のコマンド実行履歴，ファイル編集履歴，り，任意の時点における各学生の演習課題毎の正誤を判定

サーバ状況確認履歴といった 3 種類のログを収集するログする仕組みを提案する．通常，サーバ状況確認履歴におけ収集環境の提案を行った [1]．これらのログを教員が見るる正誤判定を行うためには，課題毎に教員が求めている答ことで，学生一人ひとりの仮想マシンにログインすることえを事前に用意しておき，学生らのサーバ状況確認履歴となく，誰のサーバがどのような状況で，どのようなコマン比較する必要がある．しかしこの方法では教員がすべてのドが実行されたかを確認することが可能となった．しかし課題の正確な答えと，比較のためのスクリプトを事前に用ながら，ログを見るだけではどの学生が正解で，どの学生意する必要がある．そこで我々は教員に負荷を与えずに，が不正解あるいは進捗が遅れているのか，といった判断をサーバ状況確認履歴から正誤を自動的に判定する仕組みにすることは容易ではない．

ついて検討を行う．

そこで本稿ではサーバ状況確認履歴を利用し，解答を事前に用意しておくといった追加の負荷を教員に与えずに，

3. サーバ状況確認履歴の自動正誤推定
サーバ状況確認履歴は，学生 ID, ログ収集時刻，サーバ1*1

大阪工業大学
Osaka Institute of Technology 1-79-1 Kitayama, Hirakata
City, Osaka, 573-0196 Japan
https://aws.amazon.com/jp/

状況確認コマンド，標準出力から構成されている*2 ．本稿*2

標準エラー出力も保存されているが，本稿では対象としない

ではこれらの一行ずつの履歴について，正誤推定を目指す．
推定のための処理としてサーバ状況確認履歴に対して以下

表 1

分析後のサーバ状況確認履歴

学生 ID

標準出力

Updatetime

Cat.

Stat.

1

N/A1555302540

1No change

トールし，起動する課題におけるサーバ状況確認履歴の正2

httpd は停止して.

1555305737

2

Incorrect

誤判定を行っている事例を示す．この表を例に各 Step の3

httpd を実行中...

1555306084

3Correct

内容について詳述する．

4

httpd は停止して.

1555305739

2

Incorrect

Step1. Updatetime カラムの更新

5

N/A15553025401No change

6

httpd を実行中...

1555306086

3

Correct

7

N/A1555302540

1No change

8

httpd を実行中...

1555305726

3

Correctの 4 つの Step を適用する．表 1 に Web サーバをインス

各履歴にはサーバ状況確認コマンドが実行した結果が標準出力として保存されている．標準出力が変更されるということは，サーバに何らかの変更が加えられたことを表す．

Updatetime はサーバに変更が加えられた結果，標準出力おける問題点について詳述する．

が変更された時刻（正確には変更された時刻直後のログ収

現状では標準出力によってクラスタリングを行った中か集時刻）を記録するカラムである．例えば，表 1 の ID2 のら，変更がありかつカテゴリ毎の要素数が最も多いときに学生は 1555305737（Unixtime）に httpd は停止していま課題に対する正しい状態と推定している．その為，標準出すという標準出力になるようなサーバの変更を行ったと解力によるクラスタリング結果によっては正誤推定を正しく釈できる．

行えない．表 1 で示したような Web サーバを対象としたStep2. 標準出力のクラスタリング

サーバ状況確認履歴の場合，標準出力には pid というマシ

サーバ状況確認履歴は一定時間ごと（通常数分程度）にンや実行インスタンスごとに異なるプロセス ID が表示さ全学生を対象として収集される．そこで一度に収集されたれており，そのままでは正しく文字列比較ができない．pid

学生の人数分のサーバ状況確認履歴に含まれる標準出力をのような値を含む文字列の比較を行うためには，pid のよ対象として，文字列比較によりクラスタリングを行う．表

うな値の適切な正規化が必要となるが，事前にすべての文

1 では，学生 ID 1,5,7 と学生 ID 2,4，学生 ID 3,6,8 それぞ字列を対象として適切な正規化ルールを実装することは困れが同一のカテゴリであると判定されている．文字列が完難である．今後はあらゆる出力を想定した類似度判定の仕全一致していると同一のカテゴリに分類され，一部でも異組みについての検討が必要である．

なると別のカテゴリに分類される．さらに，カテゴリ毎に標準出力が同一の番号になるように Category というカラムを用意して番号を付与する．

5. おわりに学内のサーバ管理演習に対してログ収集環境を適用し，Step3. カテゴリ毎の Updatetime 中央値の算出と変更ログ収集を行った．また，自動正誤推定を行う仕組みを導されていない履歴の特定入し，収集したサーバ状況確認履歴を用いてログの分析を

カテゴリ番号毎に Updatetime の中央値を算出する．表 1

行い，自動正誤推定の問題点についての言及を行った．今の場合，カテゴリ 1 の中央値は 1555302540, カテゴリ 2 の中後は本稿で挙げられた問題点を解決しつつ，学生の課題に央値は 1555305738，カテゴリ 3 の中央値は 1555306084 と対する正誤だけでなく，誤っている原因を自動的に分析すなる．算出された中央値が小さいカテゴリほどサーバの状る仕組みを構築していきたい．

態が変化していない学生の数が多い．そういったカテゴリ

謝辞が課題における正解とは考えにくい．そこで，Updatetime受けた．

本研究の一部は JSPS 科研費 17K00500 の助成をの中央値が最も小さいカテゴリを省き，Status を No chageとする．表 1 の場合は，Category1 が No Change となる．

参考文献

Step4. 多数決による正誤推定[1]

最後に残ったカテゴリ毎の要素数で多数決を行い，多いものを Correct，少ないものを Incorrect とし，Statusカラムを更新する．表 1 の場合，Category2 が Incorrect，[2]

Category3 が Correct と推定される．これはサーバに対して正しい処理を行うことができる学生の方が，間違った処理を行う学生よりも多いという想定にもとづくものである．

4. 自動正誤推定における問題点
学内で行われたサーバ管理演習に対してサーバ状況確認履歴を収集し，自動正誤推定を行った．その中から現状に

[3]

[4]

西村一輝，井垣 宏： サーバ管理演習におけるサーバ状況
確認履歴可視化手法の検討，信学技報，Vol. 118, No. 293(2018).
佐伯幸郎，まつ本真佑，井垣 宏，福安直樹，水谷泰治，中村匡秀： ソフトウェア開発 PBL における AWS in Education
助成プログラムの活用，日本ソフトウェア科学会大会論文集， No. 32, p. 5 (2015).
中崎満晶，越智 徹，中西通雄： OpenStack を用いた Web
サーバ設定演習環境の構築，信学技報，Vol. 115, No. 482,pp. 49–54 (2016).
星野裕樹，納富一宏，西村広光，示野浩士： サーバ管理者養成を目的とした学習支援システムの開発と評価，電気学会論文誌. C， Vol. 136, No. 7, pp. 986–994（オンライン），
DOI: 10.1541/ieejeiss.136.986 (2016).