Moodleのログ分析による効果的な授業支援
-
Upload
takayuki-fuwa -
Category
Education
-
view
80 -
download
5
Transcript of Moodleのログ分析による効果的な授業支援
![Page 1: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/1.jpg)
Moodle のログ分析による効果的な授業支援
不破 崇行
![Page 2: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/2.jpg)
自己紹介
• 不破 崇行 ( ふわ たかゆき )• 北海道札幌市在住のプログラマ
• 趣味• Moodle プラグイン開発
• https://github.com/yuesan/• その他プログラミング (PHP/C#/Perl...)• 落語鑑賞など
![Page 3: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/3.jpg)
過去の制作物Mamiline(block)• 最初に開発したログ可視化ツール• Moodle のログを集計し、「見える化」できる
ビューワー• 学生に「ふりかえり」をしてもらう事が狙い
• 現在、後継プラグイン (Minerva) を開発中• ソースコード
• https://github.com/yuesan/moodle-block_mamiline
![Page 4: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/4.jpg)
過去の制作物Misaka(block)
• Moodle のログデータを学生ごとに集計し、「やる気が出る」アドバイスを出す
• ポジティブなアドバイスのみ出すことで、モチベーションを上げる
• ソースコード• https://github.com/yuesan/moodle-
block_misaka
![Page 5: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/5.jpg)
本日の発表内容
• elasticsearch を使用した Moodle 上のログデータ集積方法• Kibana による elasticsearch 上の集積データ可視化
![Page 6: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/6.jpg)
Moodle におけるログの収集と記録
• Moodle には、ユーザーの行動を記録するログを保存する機能がある
Moodle へのアクセス
ログデータがサーバに
記録される
Moodle データベースサーバなどMoodle ユーザー
![Page 7: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/7.jpg)
ログの保存先 ( ログストア )• Moodle2.x からログの保存方式が変更になり、 DB 以外のミドルウェ
アにもログデータを保存できるようになった。
ログデータを
複数送信
Moodle 複数のミドルウェア
![Page 8: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/8.jpg)
Moodle におけるログ呼び出し時のシーケンス
https://docs.moodle.org/dev/Logging_2#Benefits_of_the_new_logging_system
レポート表示用プラグイン
![Page 9: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/9.jpg)
logging2 のメリット(Benefits of the new logging system)• 公式サイトから引用• https://docs.moodle.org/dev/Logging_2#Benefits_of_the_new_logging_
system
• A few benefits of the new logging system are:• it allows capture of richer information from Moodle about actions;• it provides control over how much information is logged;• it abstracts log writing and reading so logging can be scaled;• it lets you write/read logs to/from any external system through the use
of logstore plugins;• it allows control over how much logging history is kept; and• it supports research, reporting and analytics.
![Page 10: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/10.jpg)
標準のログストア (standard_log)• 何も設定をしていない場合、従来通り MySQL など DB 上に記録され
る• standard_log というログストア名
![Page 11: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/11.jpg)
standard_log で保存される項目
• 次に挙げる項目はよく使う項目を抜粋カラム名 記録される内容 実際の記録例
eventname イベント名 \core\event\user_loggedincomponent プラグイン名 mod_quizaction 表示 or 書き込み viewedtarget どのプラグインに向けて行動したか course_modulecontextid コンテキスト id 60userid ユーザー id 10timecreated 書き込み時刻 1470138816 (UNIX 時間 )ip IP アドレス 123.456.17.9
![Page 12: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/12.jpg)
ログ送信時のメリット
• ログに送信する項目は任意に増やす事 ( 拡張 ) が出来る。• Moodle の core で使用する項目さえ送信していれば、自由に送信することが
出来る• ログストアの実装次第では、プラグイン内のデータ ( 小テストの詳細情報な
ど )を細かく送信することが出来る。
• ログストアのアーキテクチャによって、この自由度は変わるケースがある。• standard_log では拡張することが出来ない
![Page 13: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/13.jpg)
standard_log のデメリット
• ログの記録項目を拡張できない• リレーショナル DB(RDB) では、カラム拡張自体は行うことが出来るが
コストがかかる• カラムを途中で増やした場合、一部で Moodle の動作に
不具合が発生する危険性がある• 元々 RDB はカラムを途中で拡張するような設計にはなっていないため、動的
拡張が仕様上不可能
• 1 テーブルに全て格納するため、レコード数が増えるにつれてパフォーマンス低下するおそれがある• SELECT * FRON mdl_standard_log などワイルドカードを使う SQL を投げ
てしまうと DB サーバに高負荷がかかってしまい、 Moodle の動作に支障が出る
![Page 14: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/14.jpg)
解決策全文検索エンジンをログストアとして使用する• standard_log ではデータ拡張性に限界があるため、別の方法を検討したい• そこで、 elasticsearch(エラスティックサーチ ) という
全文検索エンジンにログを投入し、分析可能な状態にする• オープンソース全文検索ソフトウェア• 無償で利用可能• 世界中で利用実績がある• JSON形式での入出力が出来る
![Page 15: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/15.jpg)
ログの保存先 ( ログストア )• Moodle2.x からログの保存方式が変更になり、 DB 以外のミドルウェ
アにもログデータを保存できるようになった。
ログデータを
複数送信
Moodle 複数のミドルウェア
![Page 16: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/16.jpg)
解決策全文検索エンジンをログストアとして使用する• standard_log ではデータ拡張性に限界があるため、別の方法を検討したい• そこで、 elasticsearch(エラスティックサーチ ) という
全文検索エンジンにログを投入し、分析可能な状態にする• オープンソース全文検索ソフトウェア• 無償で利用可能• 世界中で利用実績がある• JSON形式での入出力が出来る
![Page 17: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/17.jpg)
全文検索エンジンをログストアにするメリット• ログ検索・抽出・可視化のように、件数が多く
リアルタイムで処理させたい場合には、elasticsearch など全文検索エンジンを使用
•今回は、無償で利用可能な elasticsearch を利用
![Page 18: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/18.jpg)
elasticsearch のメリット
• 項目拡張が自由に出来る• JSON形式でデータを投入できるため、
キーを自由に定義出来る• モジュールごとに、成績情報を細かく
保存させることが出来る
![Page 19: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/19.jpg)
elasticsearch のメリット
• 可視化ツールが提供されている• Kibana( きばな ) というツールを
Web サーバにインストール• Lucene クエリを打ち込むと
そのままログデータを検索出来る
![Page 20: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/20.jpg)
Moodle + elasticsearch の仕組み
•今回はデータ変換を容易に行うために、アダプターとしてfluentd を使用• ログの書き出しが発生した瞬間に elasticsearch へログデータが転送される仕組み
Moodle からログを出力
fluentd を経由させ、elasticsearch でも読み込めるように変換する
elasticsearch にデータを投入させることで検索可能にする
![Page 21: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/21.jpg)
Moodle 上のピークタイム(X: 時間 Y: アクセスカウント )• どの時間帯に学生が Moodle を利用しているかの把握• 例:休日に学生は「どの時間帯」に
Moodle へアクセスしているかを分析• 行動分析効果的な課題の締め切り設定に活用できる
![Page 22: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/22.jpg)
課題提出した時間帯を分析
• data.action=“assigned” で分析• 2秒ぐらいで結果が出ます。
![Page 23: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/23.jpg)
デモ
• Moodle3.2 + elasticsearch5 + Kibana5 の組み合わせで可視化のデモを行います
![Page 24: Moodleのログ分析による効果的な授業支援](https://reader035.fdocuments.net/reader035/viewer/2022081420/58cefd8c1a28abab738b5f97/html5/thumbnails/24.jpg)
まとめ
•膨大なログデータを分析・可視化する場合、全文検索エンジンを応用することで効果的な分析・可視化を行うことが出来る
• elasticsearch + Kibana の組み合わせを使うことで、効果的にログデータの可視化を行うことが出来る