cookbook 'elastalert', '= 0.1.0'
elastalert (2) Versions 0.1.0 Follow0
Installs/Configures elastalert
cookbook 'elastalert', '= 0.1.0', :supermarket
knife supermarket install elastalert
knife supermarket download elastalert
Elastalert cookbook
Overview
This chef cookbook installs and configures Yelp's elastalert.
In more details:
- checks out elastalert github repo using given commit hash or tag
- create elastalert user and group
- installs elastalert in python virtual environment
- creates elastalert index in Elasticsearch
- starts elastalert service with supervisor
- manages elastalert rules
Requirements
Platforms
- Debian 8
Cookbooks
- poise-python
- git
- managed_directory
- supervisor
Other
- access to Elasticsearch cluster in version needed by particular version of elastalert (default 2.*)
How to use
Create wrapper around this cookbook and adjust attributes to your needs.
Attributes
-
node['elastalert']['repository']
- git repository of elastalert, defaulthttps://github.com/Yelp/elastalert.git
-
node['elastalert']['version']
- commit hash or tag to checkout from elastalert git repo, defaultv0.1.3
-
node['elastalert']['elasticsearch']['hostname']
- hostname of elasticsearch to use, defaultlocalhost
-
node['elastalert']['elasticsearch']['port']
- port of elasticsearch to use, default9200
-
node['elastalert']['elasticsearch']['index']
- name of index to be created by elastalert, defaultelastalert_status
-
node['elastalert']['elasticsearch']['index_old']
- old / previous elastalert index, default empty -
node['elastalert']['elasticsearch']['url_prefix']
- prefix for Elasticsearch URl (see Elastalert docs), default empty -
node['elastalert']['elasticsearch']['create_index_opts']
- additional options for creating elastalert index (see Elastalert docs), default--no-auth --no-ssl
-
node['elastalert']['group']
- name of group for user running elastalert, defaultelastalert
-
node['elastalert']['user']
- name of user running elastalert, defaultelastalert
-
node['elastalert']['user_home']
- home directory for user running elastalert, default/home/elastalert
-
node['elastalert']['directory']
- installation directory of elastalert, default/opt/elastalert
-
node['elastalert']['rules_directory']
- directory containing elastalert rules, default/opt/elastalert/rules
-
node['elastalert']['virtualenv']['directory']
- directory for python virtual environment running elastalert, default/opt/elastalert/.env
-
node['elastalert']['log_dir']
- logging directory for elastalert, default/var/log/elastalert
-
node['elastalert']['supervisor']['logfile']
- stdout log file path for supervisor, default/var/log/elastalert/elastalert_supervisord.log
-
node['elastalert']['supervisor']['logfile_maxbytes']
- max size of supervisor stdout log file, default1MB
-
node['elastalert']['supervisor']['logfile_backups']
- no. of stdout log file backups, default2
-
node['elastalert']['supervisor']['err_logfile']
- stderr log file path for supervisor, default/var/log/elastalert/elastalert_stderr.log
-
node['elastalert']['supervisor']['err_logfile_maxbytes']
- max size of supervisor stderr log file, default5MB
-
node['elastalert']['supervisor']['run_command']
- supervisor run command starting elastalert (see Elastalert docs), default/opt/elastalert/.env/bin/elastalert --config /opt/elastalert/config.yml --verbose
Recipes
recipes/default.rb
- does everything.
Testing
Tested with cookstyle, foodcritic, chefspec and kitchen tests using docker driver, build automatically
on snap ci -> https://snap-ci.com/zbigniewz/elastalert-cookbook/branch/master
Contributing
Fork repo and create pull request, all comments and feedback are welcome!
Dependent cookbooks
poise-python >= 0.0.0 |
git >= 0.0.0 |
managed_directory >= 0.0.0 |
supervisor >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Collaborator Number Metric
0.1.0 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Foodcritic Metric
0.1.0 passed this metric
0.1.0 failed this metric
0.1.0 passed this metric