-
Notifications
You must be signed in to change notification settings - Fork 3
MoLog is a Linux/Unix syslog and Windows eventlog monitoring solution made to work together with a Nagios(tm) Core based monitoring solution.
smetj/molog
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
__
/\/\ ___ / / ___ __ _
/ \ / _ \ / / / _ \ / _` |
/ /\/\ \ (_) / /___| (_) | (_| |
\/ \/\___/\____/ \___/ \__, |
|___/
Molog is processing layer for a scalable logging infrastructure which consumes LogStash processed logs from RabbitMQ and
sends updates to Nagios and ElasticSearch.
* A stand alone daemon with configurable parallel workers.
* Workers consume LogStash processed messages from RabbitMQ and perform ignore regex matching on them.
* Regex rules can be applied to all LogStash generated fields.
* Sends Nagios passive check results back to RabbitMQ.
* Nagios check results can be consumed from RabbitMQ into Nagios using Krolyk.
* Forwards and stores all messages to ElasticSearch.
* Only stores references to ElasticSearch records in a MongoDB instance.
* Provides REST API for querying and manipulating references and regexes.
* Includes molog_cli an interactive REST client to manipulate records, matches and regexes.
A typical workflow could be:
OriginatingSource -> SyslogServer -> LogStash -> RabbitMQ -> Molog -> RabbitMQ
| |
| |-> Krolyk -> Nagios
|
|-> ElasticSearch (+LogStash interface)
A description of the REST interface:
Version 1.0
The intention is to make this API comform to the REST standards. If you find any deviations to the standards please submit a bugreport to github.
All valid queries return a JSON object containing the requested information.
Overview:
/v1/record/ : Access and manipulate categorized Elastic Search references.
/v1/regex/ : Access and manipulate regex objects.
/v1/totals/ : Access total number of records of objects.
Manipulate records:
-------------------
GET Queries for records matching the given criteria.
Structure:
- /record/id
id : MoLog record ID
- /record?limit=value&host=value&level=value
Parameters:
limit : an integer value indicating the amount of records to show.
host : a string value indicating the hostname.
level : an string value indicating uery for records of this level.
sort : a value of 1 or 0 which order on date ascending or descending respectively.
DELETE Deletes records from the MoLog DB.
Structure:
- /record/id
id : MoLog record ID
- /record?host=value
Parameters:
host : a string value indicating the hostname.
Manipulate regexes:
-------------------
Regexes have following JSON data structure:
{
"tags":[
"linux"
],
"regexes":{
"message":".*?cheese.*"
},
"order":"1",
"type":".*",
"id":"4ee4b2048a99d21154000003"
}
The ID field is auto generated.
GET Queries for the stored regexes
Structure:
- /regex/id
id : the regex id
- /regex?tags=value
host : hostname
Parameters:
tags : a string containing comma separated values of all tags which should match.
DELETE Deletes stored regexes.
Structure:
- /regex/id
id : the regex id
- /regex?tags=value
host : hostname
Parameters:
tags : a string containing comma separated values of all tags which should match.
PUT Inserts a new regex or updates a stored regex.
Structure:
- /regex/id
id : the regex id
Note: if you define "id" it implies an update of that regex, if not a new regex is inserted.
Query Totals:
-------------
GET Queries for total results of one or multiple hosts
Structure:
/totals/host
host : a valid hostname
Omitting host will give you an overview of all hosts.
About
MoLog is a Linux/Unix syslog and Windows eventlog monitoring solution made to work together with a Nagios(tm) Core based monitoring solution.
Resources
Stars
Watchers
Forks
Packages 0
No packages published