Skip to content

GSoC2015 Proposal: syslog ng server monitoring with mobile app (Krishna41)

Krishna41 edited this page Mar 25, 2015 · 2 revisions

Brief

Syslog-ng is an open source implementation of Syslog which is a flexible, fast and reliable log management system. As the world is moving towards handhelds, it would be very convenient to monitor the status of servers using the same. The goal of this project is to have a mobile application through which administrators can track their servers and perform various actions like reloading, getting statistics, classifying log messages, filtering the log messages based on criteria and so on.


Benefits to the community

System administrators cannot be monitoring the servers all the time. By implementing this project and creating application, we can enable the admins to monitor the servers not only all the time but from anywhere in the world. Thus tracking the server logs would become very convenient for the admins. With increasing usage of mobile devices it would be very thoughtful to have an application for monitoring and the community and users around the world will be highly benefitted with this application.

Platforms


Android, iOS and Windows phone account for more than ~98% of the total mobile devices being used. I would like to develop the mobile application for these 3 platforms.


Goals


Developing secure communication which opens an SSL control socket. 
Providing ability to visualise the structured log data received.


Implementation

To complete the project successfully I would like to approach it in a systematic way. First I would like to implement the project for Android. Then I would use the same logic to extend it to the other operating systems - Windows and iOS.

Development Environment to be used

For Android Apps/ iOS Apps

  • Eclipse - kepler with Android SDK

  • xCode version 6.2


Both will be developed on Mac OS X 10.10.2


For Windows App


  • Visual Studio on Windows 7 ultimate

Timeline & Milestones

April 10 - May 25 - Preparation Phase

  • Read documentation related to the project.
  • Gain in-depth knowledge about secure transport. 
  • Read about various UI development techniques.
  • Development of Basic Interface for all the 3 platforms.


May 25 - June 15

  • Cleaning the user interface for Android Application.
  • Developing the Connection establishment, secure transport between the android app and the server.
  • Adding functionalities - Adding several instances of Syslog-ng, validation of certificates.
  • Exploring and implementing various ways to visualise the data that will be received, Status of the server.
  • Exporting the first working version of the project.


June 16 - July 16

  • Developing unit tests
  • Extending the developed logic to Windows and iOS platforms.
  • Implementing the application for Windows and iOS platforms.

July -17 - July 31

  • Dead code elimination, hoisting, making the code cleaner.
  • Decrease code duplication.
  • Making code self explanatory.
  • Writing user interface test cases for all platforms developed.

Aug 1 - Aug 15

  • Testing the Applications.
  • Fixing bugs and applying patches.
  • Performance tweaking. 
  • Code coverage
.

Aug 16 - Aug 24

  • Final Documentation which consists of how to use the application and other technical details

Scope of Extension

I would like to take the project beyond GSoC by being an active member of the community by enhancing the code developed during these phases and maintain the code. I also intend to extend the project to other linux based mobile operating systems like Firefox OS and Tizen OS. Also bringing an unified user experience across platforms.


About Me

   I am a Graduate student at National University of Singapore, specializing in computer science. I did my undergraduate coursework in the field of Computer Science and Engineering at Anna University, India. After graduating, I worked for Verizon Inc. as a software engineer where I developed a product which was basically a Tablet application, developed using C# .net. I then joined a startup which worked on solving problems in recommendation engines in marketplace. There I developed a social network application using java and Neo4j.


I have experience in C, Java, C# and Python. I have developed various android applications as a hobby and published it in Google Play store. You can find them here :


https://play.google.com/store/apps/developer?id=Spaghetti%20Stack&hl=en


During my undergraduate studies, I participated in The Great Mind Challenge, a nation wide software project contest conducted by IBM Academic Initiative. Our project was selected as one of the Top 20 Projects in the country where approximately more than 150,000 students participated.

As a part of my undergraduate course I worked in the field of Network Security. Developed a Flexible deterministic packet marking scheme. Which will be used to find the real source of the attacking packets in which the IP Address in the headers are spoofed
.

I am a RedHat Certified Engineer and have been a Linux user for long. I am passionate about programming and I aim to contribute to an open source project which can have a deeper impact in real world. 

Language Proficiency

Advanced : C, Java

Average   : C#

Beginner : Python, Objective C, R Programming

Additional Information

Here is the solution to the simple task given by Zoltan

https://github.com/Krishna41/opensslconnector

Contact Information

Name : Krishna Kannan

Email : k.krish@yahoo.com, krish@comp.nus.edu.sg, krishna.kay@gmail.com.

Course : Master of Computing.

University : National University of Singapore - School of Computing.

Phone : +6583039960, +919843631242

Clone this wiki locally