stack-monitor: publish section changed its name
[slapos.git] / stack / monitor / README.txt
1 * This stack has for purpose to know if all promises, services, custom monitoring scripts went/are ok.
2 * The second purpose of this stack is to implement a zero-knowledge feature : it means you can use its control interface to provide the user with sensible data. It can also let the user change some parameters
3 * It also provides a web interface, to see which promises, services and custom scripts failed. It also provide a rss feed to easily know the actual state of your instance, and to know when it started to went bad.
4
5 Implementation :
6 ----------------
7 1/ In the software.cfg of your Software Release, extends the stack
8 2/ In the template that will be copied for the buildout in the instance folder (instance.cfg ?), you have to add these parts:
9 ###Parts to add for monitoring
10   slap-parameters
11   certificate-authority
12   cron
13   cron-entry-monitor
14   cron-entry-rss
15   deploy-monitor-cgi
16   deploy-control-cgi
17   deploy-monitor-script
18   deploy-rss-script
19   make-rss
20   certificate-authority
21   public
22   zero-parameters
23   cgi-httpd-wrapper
24   publish-connection-informations
25
26 * If you want to add a custom monitoring script, you can write it (in whatever language you wish) and save it in YOUR_INSTANCE_FOLDER/etc/monitor.
27 The only thing to know, is that if your script successfully passed, do not return or print nothing. If there is a problem, you can print the explanation on stdout or stderr
28
29 * Here are 2 promises that you can add to your instance buildout, to see if it is working (one is ok, not the other) :
30 [google-promise]
31 recipe = slapos.cookbook:check_url_available
32 path = $${directory:promise}/google
33 url = http://www.google.com
34 dash_path = ${dash:location}/bin/dash
35 curl_path = ${curl:location}/bin/curl
36
37 [failing-promise]
38 recipe = slapos.cookbook:check_url_available
39 path = $${directory:promise}/fail
40 url = http://127.0.0.2
41 dash_path = ${dash:location}/bin/dash
42 curl_path = ${curl:location}/bin/curl
43
44
45 Notice :
46 --------
47 * /!\A default password is set up at the installation : "passwordtochange". It has to be rewritten in the control interface by the user itself
48 * /!\ If you use the recipe zeroknown, never name a parameter "recipe" or "password". 
49 * The control interface will let you change the values of the options declared in the [public] section of the config file (see zeroknown recipe). Other section's values will just be printed. These values won't be overwritten by buildout.
50 * If you want to allow a user to change, use the recipe zeroknown, with the buildout section name : "[public]"
51 * If you manually change a parameter, it could take some time for the modifications to be applied (at least 1 or 2 slapgrid-cp)