<commit_before># sirvlog-monitors

Monitors your whole Application health by periodically checking:

  * Status of services controlled by [supervisord](http://supervisord.org/) (via XML-RPC)
  * logs saved by [sirvlog](https://github.com/sirv/sirvlog) server 
  
Will immediately send an ALERT email (or push to Amazon SNS topic) if there are any problems or errors

### See also

  * [sirvlog](https://github.com/sirv/sirvlog)
  * [sirvlog web frontend](https://github.com/sirv/sirvlog-web)
  * [log parser for sirvlog](https://github.com/sirv/sirvlog-parser)

## Authors

**<NAME>**

  * [https://github.com/oleksiyk](https://github.com/oleksiyk)

# License (MIT)

Copyright (c) 2013 Sirv.

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,<commit_msg>README update<commit_after># sirvlog-monitors

Monitors your whole Application health by periodically checking:

  * Status of services controlled by [supervisord](http://supervisord.org/) (via XML-RPC)
  * logs saved by [sirvlog](https://github.com/sirv/sirvlog) server 
  
Will immediately send an ALERT email (or push to Amazon SNS topic) if there are any problems or errors

### How does it work?

The application currently consists of two monitors: supervisor and loganalyzer. 

The first one, supervisor, periodically (oncer per minute) connects to configured hosts running [supervisord](http://supervisord.org/)
(make sure your supervisord is configured to accepts XML-RPC connections) and verifies the status of all services running on this supervisor node.
If any of the services is in FATAL, FAILING, e.g in any "broken" status it will immediately send an alert email using configured SMTP server (Amazon SMTP in example) or fallback to Amazon SNS if the smtp delivery fails.

The second one, loganalyzer, periodically connects to the same ElasticSearch server that your [sirvlog](https://github.com/sirv/sirvlog) server stores its messages and if it founds that there were any errors (fatal, critical, error) it will immediately send an alert email the same way supervisor monitor does. Of course you can filter out errors thats you are not interested in (see loganalyzer.exclude config option).

### See also

  * [sirvlog](https://github.com/sirv/sirvlog)
  * [sirvlog web frontend](https://github.com/sirv/sirvlog-web)
  * [log parser for sirvlog](https://github.com/sirv/sirvlog-parser)

## Authors

**<NAME>**

  * [https://github.com/oleksiyk](https://github.com/oleksiyk)

# License (MIT)

Copyright (c) 2013 Sirv.

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
{'fraction_non_alphanumeric': 0.08078069937652481, 'fraction_numerical': 0.002168609379235565, 'mean_word_length': 4.765625, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 13, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2030740', 'n_tokens_mistral': 1067, 'n_tokens_neox': 1016, 'n_words': 465}