Development of a Generic Linux Logging Client for Scribe

Pågående Publicerat 5 år sedan Betalades vid leverans
Pågående Betalades vid leverans

This project is for the creation of a generic client application for Linux that will stream log data to a Scribe server based on a configurable polling cycle.

Scribe is a log aggregation server documented here:

[login to view URL]

The application must be developed in C or C++, and support the following Linux operating systems:

1. Debian Linux (versions 7-9)

2. CentOS (versions 6-7)

The final deliverable of the project must include (a) the application source; (b) compilation instructions on Linux for the application source; (c) a deb package for Debian installations; and (c) a yum package for CentOS installations.

The application should be designed to run as a Linux daemon, and should contain a configurable conf file ([login to view URL]). Within the conf file should be the following properties:

1. scribe.host. This property defines the domain name for the scribe server (e.g. scribe.host.com. The property would be set as scribe.host=[login to view URL]

2. scribe.daemon.poll.cycle. This property should, by default set to 10. The property indicates the time in minutes that the application should read the source log file, and queue any new contents of the source file to be distributed to the scribe server. The property would be set as scribe.daemon.poll.cycle=10

3. scribe.source.logfile.[name]. The user shall be able to configure one or more source log files to be synchronized with the scribe host in a designated category. Each source log file should be given a unique name (within the [name] portion of the property). As an example, if the user wanted to configure the file at /var/log/syslog to be synchronized with the scribe server, they can create a property named [login to view URL], and set the value of the property as follows:

scribe.source.logfile.syslog=/var/log/syslog

4. scribe.target.category.[name]. For each source log file, a category must be specified in scribe, which indicates to the scribe server the path where the log data sent by the client should be stored. Using the above example for syslog, this property could look like this:

scribe.target.category.syslog=[login to view URL]

With this configuration, the application will read the data each 10 minutes from /var/log/syslog, and distribute it to scribe at the location [login to view URL]

It is critical to note that the application should be designed to read, and synchronize from one or more log files. Using the [name] parameter, a unique name for each log file required for synchronization can be identified, and configured.

It is also critical that the application does not lock the source log file while reading it, as another process may require the ability to write to it at the same time.

C-programmering C++-programmering Linux

Projekt-id: #17726477

About the project

4 offerter Distansprojekt Aktivt 5 år sedan

4 frilansare har lagt bud på i genomsnitt $148 för det här jobbet

sodiqa32

your project is what i wanna do again and again as it will be an interesting project for me and i will be gad if this is awarded to me as im gonna deliver nothing but the best sir

$30 USD inom 1 dag
(26 omdömen)
5.4
Wadjet

Hello, I am very interested in your project and ready to work on it. I am experienced in C/C++ (20+ years) and I've worked on/programmed for linux for 10+ years. The code will be fully standard C++ so it will work on Mer

$250 USD inom 10 dagar
(37 omdömen)
5.4
jonyahmed105

Hello I want to discuss with you here. Thanks

$155 USD inom 3 dagar
(15 omdömen)
4.9
Lucaroman

Greetings I read your job description carefully and I am very interested in your project. As a senior c++ developer for 6 years, I have a lot of experiences in c++ development in Linux so I am sure I can finish you Mer

$155 USD inom 3 dagar
(2 omdömen)
2.0