Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Interactive Learning Analytics

with ELK

(Elasticsearch Logstash Kibana)
Andrii Vozniuk, María Jesús Rodríguez-Triana, De...
REACT - EPFL - Lausanne
Goals of the Workshop
1. Get understanding of modern, scalable
analytics tools: Elasticsearch & Kibana
2. Get hands-on exp...
Agenda
My presentation (40 minutes)
Groupwork (30 minutes)
Discussion (20 minutes)
Motivation
REACT

=

Coordination & Interaction
Systems Group
SpeakUp
is a co-located
social media to
improve audience
interaction
speakup.info
graasp.eu
Graasp
a social media as a
personal and
collaborative
learning environment
graspeo.org
Graspeo
a social media as a
knowledge sharing
platform for
humanitarian orgs
How the
tools are
being used
?We (researchers) want to know it

Teachers want to know it

Even students want to know it

K...
Approach
Interaction Traces
✓Record
✓Store
✓Visualise
✓Interact
Interactive

User-oriented

Analytics
Learning
Dashboards
Capturing Interactions
with xAPI
What is the purpose of xAPI?
xAPI = Experience API
It is a standard
to capture in a unified way
experiences of the user,
in...
Source: http://www.slideshare.net/aaronesilvers/going-with-xapi
xAPI
How does xAPI Work?
Users interact with tools
These interactions are observed and
recorded by the tools as xAPI statements...
xAPI Format Specification
• When? - timestamp
• Who? - actor
• Did what? - verb
• With what? - object
• With what result? -...
xAPI Statement Example
OK, we track the
interactions with xAPI.



What’s next?
✓Visualisation
✓Interactive Visualisation
✓Visual Analysis
✓Dashboards
✓Recommendations
ELK =

Elasticsearch
+ Logstash

+ Kibana
<-This is
an elk
as well
The ELK Stack
Elasticsearch - search and analytics
database based on Lucene

Logstash - data ingestion and
transformation
...
Have you used
Elasticsearch or Logstash or
Kibana?
Logstash Elasticsearch
Date
Source
Kibana
Reads
Transforms
Sends
Maps
Indexes
Visualises
Interaction
Processing Pipeline
elastic.co/products/logstash
Logs are not the best format for analysis
Especially, when coming from multiple systems
Getting timestamp should
be easy, right?
• Apache [19/Feb/2015:19:00:00 +0000]
• Unix timestamp 1424372400
• log4j [2015-0...
Logstash Solves
the Problem
It collects, transforms and
transmits logs (streams)
So they can be stored and analysed
in a c...
Logstash Processing Pipeline
Filter OutputInput
file
syslog
jdbc
log4j
couchdb
s3
twitter
…
elasticsearch
jira
hipchat
s3
...
31
but there is more than that
elastic.co/products/elasticsearch
32
Elasticsearch Users
Source: http://www.slideshare.net/OleksiyPanchenko/elasticsearch-51730805
Source: http://www.slideshare.net/ruslanzavackiy/introduction-to-elasticsearch-45118828
Source: http://www.slideshare.net/ruslanzavackiy/introduction-to-elasticsearch-45118828
Mapping Analysis QueryData
Relational DBs vs Elasticsearch
Database
Table
Row
Column
Schema
Index
Type
Document
Field
Mapping
Default mapping is created automatically
Mapping
Differently from relational databases,
where schema is static,
in Elastic...
Mapping for xAPI Statements
…
Analysis
Analysis is about extracting terms from a given text
Query
Elasticsearch provides an expressive
Query Domain Specific Language
to query the data
Can be thought as SQL for non-
...
Sample
Query
Contains

- query

- filter

- highlight
We mapped and
indexed the data

in Elasticsearch
What’s next?
elastic.co/products/kibana
Kibana
is for Interactive Dashboards
Another example

with light colors scheme
Kibana
• Enables near-real-time analysis and
visualisation of streaming data
• Allows interactive data exploration and
sup...
Logstash Elasticsearch
Date
Source
Kibana
Again, what is ELK?
I stop talking!

We start doing real things together!
Let’s Form Groups
4-5 per group
Time to try it yourself!
Generating
xAPI Stream
My open-source xAPI
Stream Generator
We can have fun
seeing it all
update in real-time
github.com/v...
Sample Generated
xAPI Statement
• timestamp
• actor
• id
• name
• mbox
• verb
• id
• display
• object
• id
• definition
• n...
Interaction Types
• abandoned
• answered
• asked
• attempted
• attended
• commented
• completed
• exited
• experienced
• f...
Demo Time
go.epfl.ch/lasi2016
login: admin
pass: lasi2016
A running Elasticsearch cluster on
A 14-day free trial cluster

* they don’...
Group Work
What to do?
1. Formulate a research question
2. Build a visualisation to answer it, save it
3. If you have time...
Embedded &

Contextual
Analytics
Analytics as a part of the Interaction Context
Try yourself on graasp.net
Analytics as a part of the Interaction Context
We call it “User-oriented” analytics
Data Ownership
Who owns
learning data?
Institution?
Learner?
Parents?
Who can use it
and for what?
Source: https://www.flickr.com/photos/gforsythe/8508041553/
It’s complicated
Possible Architecture
Platform provides a UI

to interact with the data

without storing the data
Data is stored on premis...
Other
Possible Applications
Elasticsearch
is about search
Has powerful NLP
toolkit in place

For Content Analytics

Learning Resources
Online
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
Go through it. It is really good.
Elasti...
Books
Books
Questions?
Feedback?
about.me/vozniuk
Andrii@Vozniuk.com
Upcoming SlideShare
Loading in …5
×

9

Share

Download to read offline

Interactive learning analytics dashboards with ELK (Elasticsearch Logstash Kibana) - LASI 2016 - Andrii Vozniuk, Maria Rodriguez-Triana, Denis Gillet

Download to read offline

My workshop at the Learning Analytics Summer Institute (LASI) 2016: http://lasi16.snola.es/#!/schedule/113

Educational data continues to grow in volume, velocity and variety. Making sense of the educational data in such conditions requires deployment and usage of appropriate scalable, real-time processing tools supporting a flexible data schema. Elasticsearch is one of the popular open-source tools meeting the enlisted requirements. Initially envisioned as a search engine capable of operating at scale and in real time, Elasticsearch is used by organisations such as Wikimedia and Github, which deal with big data on daily basis. In addition, Elasticsearch is used increasingly often as analytics platform thanks to its scalable architecture and expressive query language. Until recently, the exploitation of Elasticsearch for (learning) analytical purposes by practitioners was hindered by a high entrance barrier due to the complexity of the query language and the query specificities. This is currently changing with the ongoing development of Kibana, an open-source tool that allows to conduct analysis and build visualisations of Elasticsearch data through a graphical user interface. Kibana does not require the user to dive into technical details of the queries (although it is still possible) and hence makes big educational data visualisations accessible to regular users. The additional value of Kibana comes in play whenever several visualisations are combined on a single dashboard, enabling to use multiple coordinated views for an interactive explorative analysis. Both Elasticsearch and Kibana, together with Logstash are part of an analytics stack often referred to as ELK. Logstash supports data acquisition from multiple sources (including twitter, RSS, event logs) thanks to its rich set of available connectors. Custom connectors can be developed for case-specific sources. In addition to the mentioned values, ELK enables building analytics infrastructures decoupled from the learning platform, i.e., it allows to host separately the learning environment (with the analytics functionalities) and the data storage without affecting the end-user experience.

Related Books

Free with a 30 day trial from Scribd

See all

Interactive learning analytics dashboards with ELK (Elasticsearch Logstash Kibana) - LASI 2016 - Andrii Vozniuk, Maria Rodriguez-Triana, Denis Gillet

  1. 1. Interactive Learning Analytics
 with ELK
 (Elasticsearch Logstash Kibana) Andrii Vozniuk, María Jesús Rodríguez-Triana, Denis Gillet The copyright of images belongs to their authors. I will remove them on demand. Contact me at andrii.vozniuk@epfl.ch Bilbao, June 2016 Learning Analytics Summer Institute (LASI) Workshop description: http://lasi16.snola.es/#!/schedule/113
  2. 2. REACT - EPFL - Lausanne
  3. 3. Goals of the Workshop 1. Get understanding of modern, scalable analytics tools: Elasticsearch & Kibana 2. Get hands-on experience of interactive learning analytics with the tools 3. Elaborate on how the tools can be useful in your specific cases
  4. 4. Agenda My presentation (40 minutes) Groupwork (30 minutes) Discussion (20 minutes)
  5. 5. Motivation
  6. 6. REACT
 =
 Coordination & Interaction Systems Group
  7. 7. SpeakUp is a co-located social media to improve audience interaction speakup.info
  8. 8. graasp.eu Graasp a social media as a personal and collaborative learning environment
  9. 9. graspeo.org Graspeo a social media as a knowledge sharing platform for humanitarian orgs
  10. 10. How the tools are being used ?We (researchers) want to know it
 Teachers want to know it
 Even students want to know it
 Knowledge managers as well for awareness & reflection
  11. 11. Approach
  12. 12. Interaction Traces ✓Record ✓Store ✓Visualise ✓Interact
  13. 13. Interactive
 User-oriented
 Analytics Learning Dashboards
  14. 14. Capturing Interactions with xAPI
  15. 15. What is the purpose of xAPI? xAPI = Experience API It is a standard to capture in a unified way experiences of the user, in our case user-tool interactions
  16. 16. Source: http://www.slideshare.net/aaronesilvers/going-with-xapi xAPI
  17. 17. How does xAPI Work? Users interact with tools These interactions are observed and recorded by the tools as xAPI statements The tools [store] and send the statements to a central system (Learning Record Store or LRS) for further usage, for instance, Analysis
  18. 18. xAPI Format Specification • When? - timestamp • Who? - actor • Did what? - verb • With what? - object • With what result? - result • In which context? - context Today at 10:15 (time) Andrii (actor) answered (verb) the question five (object) with the grade four (result), while it was raining outside (context)
  19. 19. xAPI Statement Example
  20. 20. OK, we track the interactions with xAPI.
 
 What’s next?
  21. 21. ✓Visualisation ✓Interactive Visualisation ✓Visual Analysis ✓Dashboards ✓Recommendations
  22. 22. ELK =
 Elasticsearch + Logstash
 + Kibana <-This is an elk as well
  23. 23. The ELK Stack Elasticsearch - search and analytics database based on Lucene Logstash - data ingestion and transformation Kibana - Interactive data visualisation
  24. 24. Have you used Elasticsearch or Logstash or Kibana?
  25. 25. Logstash Elasticsearch Date Source Kibana Reads Transforms Sends Maps Indexes Visualises Interaction Processing Pipeline
  26. 26. elastic.co/products/logstash
  27. 27. Logs are not the best format for analysis Especially, when coming from multiple systems
  28. 28. Getting timestamp should be easy, right? • Apache [19/Feb/2015:19:00:00 +0000] • Unix timestamp 1424372400 • log4j [2015-02-19 19:00:00,000] • postfix.log Feb 19 19:00:00 • ISO 8601 2015-02-19T19:00:00+02:00 • … Over 40 formats Not sexy work to do
  29. 29. Logstash Solves the Problem It collects, transforms and transmits logs (streams) So they can be stored and analysed in a centralised and unified way
  30. 30. Logstash Processing Pipeline Filter OutputInput file syslog jdbc log4j couchdb s3 twitter … elasticsearch jira hipchat s3 http sqs zeromq … anonymise aggregate csv date clone geoip prune ...
  31. 31. 31 but there is more than that elastic.co/products/elasticsearch
  32. 32. 32 Elasticsearch Users Source: http://www.slideshare.net/OleksiyPanchenko/elasticsearch-51730805
  33. 33. Source: http://www.slideshare.net/ruslanzavackiy/introduction-to-elasticsearch-45118828
  34. 34. Source: http://www.slideshare.net/ruslanzavackiy/introduction-to-elasticsearch-45118828
  35. 35. Mapping Analysis QueryData
  36. 36. Relational DBs vs Elasticsearch Database Table Row Column Schema Index Type Document Field Mapping
  37. 37. Default mapping is created automatically Mapping Differently from relational databases, where schema is static, in Elasticsearch mapping is flexible Core types: string, integer/long, float/double, boolean, and null Other types: Array, Object, Nested, IP, GeoPoint, GeoShape, Attachment Tells Elasticsearch how to treat the data
  38. 38. Mapping for xAPI Statements …
  39. 39. Analysis Analysis is about extracting terms from a given text
  40. 40. Query Elasticsearch provides an expressive Query Domain Specific Language to query the data Can be thought as SQL for non- relational data. The query itself is a JSON Object.
  41. 41. Sample Query Contains
 - query
 - filter
 - highlight
  42. 42. We mapped and indexed the data
 in Elasticsearch What’s next?
  43. 43. elastic.co/products/kibana
  44. 44. Kibana is for Interactive Dashboards
  45. 45. Another example
 with light colors scheme
  46. 46. Kibana • Enables near-real-time analysis and visualisation of streaming data • Allows interactive data exploration and supports cross-filtering • Multiple chart types: bar charts, line and scatter plots, histograms, pie charts, maps • No need to know programming or query language in most of the cases • It’s open-source, there are extensions
  47. 47. Logstash Elasticsearch Date Source Kibana Again, what is ELK?
  48. 48. I stop talking!
 We start doing real things together!
  49. 49. Let’s Form Groups 4-5 per group Time to try it yourself!
  50. 50. Generating xAPI Stream My open-source xAPI Stream Generator We can have fun seeing it all update in real-time github.com/voz/xapi-generator
  51. 51. Sample Generated xAPI Statement • timestamp • actor • id • name • mbox • verb • id • display • object • id • definition • name • description • objectType • context • ipAddress • location • city • countryCode • countryName
  52. 52. Interaction Types • abandoned • answered • asked • attempted • attended • commented • completed • exited • experienced • failed • imported • initialized • interacted • launched • mastered • passed • preferred • progressed • registered • responded • resumed • satisfied • scored • shared • suspended • terminated • voided • waived • messaged • invited • mentioned …many of them
  53. 53. Demo Time
  54. 54. go.epfl.ch/lasi2016 login: admin pass: lasi2016 A running Elasticsearch cluster on A 14-day free trial cluster
 * they don’t pay me :) www.elastic.co/cloud
  55. 55. Group Work What to do? 1. Formulate a research question 2. Build a visualisation to answer it, save it 3. If you have time left, repeat 1 and 2 :) Possible research question examples • Who are the most active users? And per country? • What are the most popular types of interaction in general? • What are the content items (objects) used the most per country (per user)? • What types of interaction are the most common? Per country? Per user? • With whom the most active users communicate (message or mention)? • From which countries most of the interactions happen? go.epfl.ch/lasi2016 login: admin pass: lasi2016
  56. 56. Embedded &
 Contextual Analytics
  57. 57. Analytics as a part of the Interaction Context Try yourself on graasp.net
  58. 58. Analytics as a part of the Interaction Context We call it “User-oriented” analytics
  59. 59. Data Ownership
  60. 60. Who owns learning data? Institution? Learner? Parents? Who can use it and for what?
  61. 61. Source: https://www.flickr.com/photos/gforsythe/8508041553/ It’s complicated
  62. 62. Possible Architecture Platform provides a UI to interact with the data
 without storing the data Data is stored on premises:
 in a LRS of a school or of a user Push the traces Get the analysis
  63. 63. Other Possible Applications
  64. 64. Elasticsearch is about search Has powerful NLP toolkit in place
 For Content Analytics

  65. 65. Learning Resources
  66. 66. Online https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html Go through it. It is really good. Elasticsearch Reference Multiple tutorials http://www.elasticsearchtutorial.com/ https://www.elastic.co/guide/index.html ELK Guides YouTube Videos https://www.youtube.com/watch?v=Kqs7UcCJquM
 https://www.youtube.com/watch?v=wHWb1d_VGp8 https://www.youtube.com/watch?v=1gnpzL9jBqY https://www.youtube.com/watch?v=SH5hLM2asB8
  67. 67. Books
  68. 68. Books
  69. 69. Questions? Feedback? about.me/vozniuk Andrii@Vozniuk.com
  • RichardHeier

    Jun. 22, 2019
  • eayoub

    Aug. 28, 2018
  • snow3d

    Oct. 7, 2017
  • shuixin_chen

    Jul. 27, 2017
  • fgaggioli

    Dec. 1, 2016
  • eLafo

    Oct. 22, 2016
  • garlatti

    Oct. 3, 2016
  • finalbsd

    Sep. 26, 2016
  • DanCristianRotaru

    Aug. 30, 2016

My workshop at the Learning Analytics Summer Institute (LASI) 2016: http://lasi16.snola.es/#!/schedule/113 Educational data continues to grow in volume, velocity and variety. Making sense of the educational data in such conditions requires deployment and usage of appropriate scalable, real-time processing tools supporting a flexible data schema. Elasticsearch is one of the popular open-source tools meeting the enlisted requirements. Initially envisioned as a search engine capable of operating at scale and in real time, Elasticsearch is used by organisations such as Wikimedia and Github, which deal with big data on daily basis. In addition, Elasticsearch is used increasingly often as analytics platform thanks to its scalable architecture and expressive query language. Until recently, the exploitation of Elasticsearch for (learning) analytical purposes by practitioners was hindered by a high entrance barrier due to the complexity of the query language and the query specificities. This is currently changing with the ongoing development of Kibana, an open-source tool that allows to conduct analysis and build visualisations of Elasticsearch data through a graphical user interface. Kibana does not require the user to dive into technical details of the queries (although it is still possible) and hence makes big educational data visualisations accessible to regular users. The additional value of Kibana comes in play whenever several visualisations are combined on a single dashboard, enabling to use multiple coordinated views for an interactive explorative analysis. Both Elasticsearch and Kibana, together with Logstash are part of an analytics stack often referred to as ELK. Logstash supports data acquisition from multiple sources (including twitter, RSS, event logs) thanks to its rich set of available connectors. Custom connectors can be developed for case-specific sources. In addition to the mentioned values, ELK enables building analytics infrastructures decoupled from the learning platform, i.e., it allows to host separately the learning environment (with the analytics functionalities) and the data storage without affecting the end-user experience.

Views

Total views

3,471

On Slideshare

0

From embeds

0

Number of embeds

37

Actions

Downloads

144

Shares

0

Comments

0

Likes

9

×