source: trunk/INSTALL

Last change on this file was 493, checked in by bastiaans, 13 years ago

INSTALL:

  • updated install instructions as addons is not a default dir
File size: 5.6 KB
RevLine 
[221]1DESCRIPTION
2===========
3
4        Job Monarch is a set of tools to monitor and optionally archive (batch)job information.
5
6        It is a addon for the Ganglia monitoring system and plugs in to a existing Ganglia setup.
7
[222]8        To view a operational setup with Job Monarch, have a look here: http://ganglia.sara.nl/
[221]9
10
11        Job Monarch stands for 'Job Monitoring and Archiving' tool and consists of three (3) components:
12
13        * jobmond
14
15                The Job Monitoring Daemon.
16                 
17                Gathers PBS/Torque batch statistics on jobs/nodes and submits them into
18                Ganglia's XML stream.
19
20                Through this daemon, users are able to view the PBS/Torque batch system and the
21                jobs/nodes that are in it (be it either running or queued).
22
[232]23        * jobarchived (optionally)
[221]24
[232]25                The Job Archiving Daemon.
[221]26
27                Listens to Ganglia's XML stream and archives the job and node statistics.
28                It stores the job statistics in a Postgres SQL database and the node statistics
29                in RRD files.
30               
31                Through this daemon, users are able to lookup a old/finished job
32                and view all it's statistics.
33
34                Optionally: You can either choose to use this daemon if your users have use for it.
[232]35                As it can be a heavy application to run and not everyone may have a need for it.
36
37                - Multithreaded:        Will not miss any data regardless of (slow) storage
38
39                - Staged writing:       Spread load over bigger time periods
40
41                - High precision RRDs:  Allow for zooming on old periods with large precision
42
43                - Timeperiod RRDs:      Allow for smaller number of files while still keeping advantage
44                                        of small disk space
[221]45               
46        * web
47
48                The Job Monarch web interface.
49
50                This interfaces with the jobmond data and (optionally) the jobarchived and presents the
51                data and graphs.
52
53                It does this in a similar layout/setup as Ganglia itself, so the navigation and usage is intuitive.
54
[232]55                - Graphical usage:      Displays graphical cluster overview so you can see the cluster (job) state
56                                        in one view/image and additional pie chart with relevant information on your
57                                        current view
58
59                - Filters:              Ability to filter output to limit information displayed (usefull for those
60                                        clusters with 500+ jobs). This also filters the graphical overview images output
61                                        and pie chart so you only see the filter relevant data
62
63                - Archive:              When enabling jobarchived, users can go back as far as recorded in the database
64                                        or archived RRDs to find out what happened to a crashed or old job
65
66                - Zoom ability:         Users can zoom into a timepriod as small as the smallest grain of the RRDS
67                                        (typically up to 10 seconds) when a jobarchived is present
68
[221]69REQUIREMENTS
70============
71
[222]72        all:
73
74                - Python 2.3 or higher
75
[221]76        jobmond:
77
[230]78                - pbs_python v2.8.2 or higher
[366]79                  https://subtrac.sara.nl/oss/pbs_python/
[221]80
[222]81                - gmond v3.0.1 or higher
[366]82                  http://www.ganglia.info/
[221]83
84        jobarchived:
85
[223]86                - Postgres SQL v7.xx
[366]87                  http://www.postgres.org/
[221]88
89                - rrdtool v1.xx
90                  http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/
91
[366]92                - py-rrdtool
93                  http://sourceforge.net/projects/py-rrdtool/
94
[222]95                - python-pgsql v4.x.x
96                  http://sourceforge.net/projects/pypgsql/
97
98                - gmetad v3.x.x
[366]99                  http://www.ganglia.info/
[221]100
101        web:
102
[222]103                - PHP v4.1 or higher
[221]104                  http://www.php.net
105
[222]106                - php-pgsql v4.x.x
107                  (should come with Postgres)
[221]108
[222]109                - GD v2.x
110                  http://www.boutell.com/gd/
111
112                - Ganglia web frontend v3.x.x
[223]113                  http://www.ganglia.info
[222]114
115
[221]116INSTALLATION
117============
118
119        Prior to installing the software make sure you meet the necessary requirements as
120        mentioned above.
121
[222]122        NOTE: You can choose to install to other path/directories if your setup is different.
[221]123
[222]124        * jobmond
[221]125
[222]126                1. Copy jobmond.py:
127
128                 > cp jobmond/jobmond.py /usr/local/sbin/jobmond.py
129
130                2. Copy jobmond.conf:
131               
132                 > cp jobmond/jobmond.conf /etc/jobmond.conf
133
134        * jobarchived
135
136                1. Create a Postgres SQL database for jobarchived:
137
138                 > createdb jobarchive
139
140                2. Setup jobarchived's tables:
141
142                 > psql -f jobarchived/job_dbase.sql jobarchive
143
144                3. Copy jobarchived/jobarchived.conf:
145
146                 > cp jobarchived/jobarchived.conf /etc/jobarchived.conf
147
[489]148                4. Copy jobarchived.py:
[222]149
150                 > cp jobarchived/jobarchived.py /usr/local/sbin/jobarchived.py
151
152        * web
153
154                1. Copy the Job Monarch Template to your Ganglia installation
155
156                 > cp -a web/templates/job_monarch /var/www/ganglia/templates
157
158                2. Copy the web interface files to the addon directory in Ganglia
159
[493]160                 > mkdir -p /var/www/ganglia/addons
[222]161                 > cp -a web/addons/job_monarch /var/www/ganglia/addons
162
[221]163CONFIGURATION
164=============
165
[222]166        After installation each component requires additional configuration.
[221]167
[222]168        * jobmond
169       
170                1. Edit Jobmond's config to reflect your settings:
171
172                 - In /etc/jobmond.conf
173
174                   ( see config comments for syntax and explanation )
175
176        * jobarchived
177
178                1. Edit Jobarchived's config to reflect your settings:
179
180                 - In /etc/jobarchived.conf
181
182                   ( see config comments for syntax and explanation )
183
184        * web
185
186                1. Change your Ganglia's web template to Job Monarch
187
188                 - In /var/www/ganglia/conf.php:
189
190                 > $template_name = "job_monarch";
191
192                2. Change Job Monarch's config to reflect your settings:
193
194                 - In /var/www/ganglia/addons/job_monarch/conf.php
195
196                   ( see config comments for syntax and explanation )
197
[221]198START
199=====
200
[222]201        * jobmond
[221]202
[222]203                The Job Monitor has to be run on a machine that is allowed to
204                query the PBS/Torque server.
205                Make sure that if you have 'acl_hosts' enabled on your PBS/Torque
206                server that jobmond's machine is in it.
[221]207
[222]208                1. Start the Job Monitor:
209
210                 > /usr/local/sbin/jobmond.py -c /etc/jobmond.conf
211
212        * jobarchived
213
214                1. Start the Job Archiver:
215
216                 > /usr/local/sbin/jobarchived.py -c /etc/jobarchived.conf
217
218        * web
219
220                Doesn't require you to (re)start anything.
221                ( make sure the Postgres database is running though )
222
[221]223CONTACT
224=======
225
226        To contact the author for anything from bugfixes to flame/hate mail:
227
[222]228        * Ramon Bastiaans
229
[235]230          <bastiaans ( a t ) sara ( d o t ) nl>
Note: See TracBrowser for help on using the repository browser.