project meniscus

27
Project Meniscus Simplex Internet / Research Institute / Jeong, Ki-Chul 2013. 4. 29

Upload: kichul-jung

Post on 16-Jul-2015

219 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Project meniscus

Project Meniscus

Simplex Internet / Research Institute / Jeong, Ki-Chul

2013. 4. 29

Page 2: Project meniscus

Meniscus?

• LAAS(Logging-as-a-Service) Backend API

• Python based system

• Event - collection, transit, processing

• Large-scale

• Cloud Logging

Page 3: Project meniscus

SEE THE ANIMATED OVERVIEW

Page 4: Project meniscus

APIS

Page 5: Project meniscus

Tenant API

• Tenant = {Host, Event Producer, Profile}

• A Tenant = A Consumer

• Event Producer = APP or Service

• Profile = [Event Producer, …]

• Host = Node , link to a profile(1:1)

Page 6: Project meniscus

Tenant API

• Requests to coordinator worker

• Tenant, Host, Event Producer, Profile

=> CRUD Available

• has a TOKEN

=> validate, reset a token

Page 7: Project meniscus

Correlator API

• Requests

To a Correlator worker server

From a Consumer server

via http(s)

with a Message token(Tenant token)

• Stores a collection named “logs” in Mongo

Page 8: Project meniscus

Coordinator API

• Pairing

- registers a worker

• Configuration

– requests a worker’s configuration

• Status

– updates a workers status

Page 9: Project meniscus

Status API

• Worker Status API (PUT, Manually)

- System Load Average

- Disk Usage

• Coordinator Status API

- grid status

- individual worker status

Page 10: Project meniscus

Broadcaster API

• What’s Brodcaster API?

I don’t know well!

• Communicates with coordinator worker

server.

• New Feature!

Page 11: Project meniscus

GETTING STARTED

Page 12: Project meniscus

Server deployment example

Host1

• Coordinator

• MongoDB

Host2

• Correlator

Host3

• Storage

Page 14: Project meniscus

uWSGI.ini

Page 15: Project meniscus

meniscus/etc/meniscus/meniscus.conf

Page 16: Project meniscus

Run uwsgi daemon!!

# uwsgi uwsgi.ini

Page 17: Project meniscus

HOST2

• Creating a development environment

[LINK]

• Run uwsgi daemon!!

Default Persona : pairing

Page 18: Project meniscus

CURL Request

• Attempts pairing with coordinator

• Becomes correlation worker after automatically restart

Page 19: Project meniscus

HOST3

• Creating a development environment

[LINK]

• Run uwsgi daemon!!

Default Persona : pairing

Page 20: Project meniscus

CURL Request

• Attempts pairing with coordinator

• Becomes store worker after automatically restart

Page 21: Project meniscus

COMPLETED FOR SETTING UP

Page 22: Project meniscus

Logging a data

• Already MUST register a tenant

• Request to correlator server(host2)

Page 23: Project meniscus

Flow

Correlator

(host2)

Storage

(host3)

MongoDB

(host1)

Page 24: Project meniscus

Conclusion

• Well-made backend APIs for logging

(Good architecture)

• Distributed workers processing

• Diverse Persona(worker)

• In early development

• Nobody in its community

(Stack Overflow, Google Groups)

Page 25: Project meniscus

Not yet

• Data Store – Only MongoDB

Hadoop / HDFS / Hbase

Elastic Search

• Perfect documentation

need more examples

need exact examples

Page 26: Project meniscus

The thing we can now do with meniscus is

JUST to create log data into mongodb via

restful api and to fetch log data from

mongodb.

Page 27: Project meniscus

THANKS