Last modified by Pascal Robert on 2023/08/10 22:21

From version 111.1
edited by David Avendasora
on 2010/11/29 20:24
Change comment: There is no comment for this version
To version 109.1
edited by David Avendasora
on 2010/11/29 20:37
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -49,13 +49,15 @@
49 49  {{warning title="Database Changes"}}
50 50  
51 51  It is uncertain what will happen if the new version of your application makes changes to your database schema (e.g., uses [ERXMigrations|WO:Project WONDER-Frameworks-ERXMigration]). The old instances may raise exceptions before they can gracefully shut down because the schema no longer matches what the old application's EOF expects. *Try it out on a test server first and then update this page so everyone knows\!*
52 -{note}
53 53  
54 -h4. Statistics
53 +{{/warning}}
55 55  
56 -If you call {noformat:nopanel=true}http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/wa/statistics{noformat}, JavaMonitor will send you back statistics, in JSON format, about instances, per application.
55 +==== Statistics ====
57 57  
58 -{code:title=Statistics Example Results}
57 +If you call ##http:~/~/monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/wa/statistics##, JavaMonitor will send you back statistics, in JSON format, about instances, per application.
58 +
59 +{{code title="Statistics Example Results"}}
60 +
59 59  (
60 60   {
61 61   "configuredInstances" = "2";
... ... @@ -90,90 +90,93 @@
90 90   "sumTransactions" = "1";
91 91   }
92 92  )
93 -{code}
94 94  
95 -If JavaMonitor is configured with a password, and I hope you do, pass _pw=monitorpassword_ as a argument to the query :
96 +{{/code}}
96 96  
97 -[http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/wa/statistics?pw=monitorpassword]
98 +If JavaMonitor is configured with a password, and I hope you do, pass //pw=monitorpassword// as a argument to the query :
98 98  
99 -h4. Direct Actions to many tasks
100 +##http:~/~/monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/wa/statistics?pw=monitorpassword##
100 100  
101 -You can do most of the standard tasks you do in Monitor by calling direct actions. They are in a different query handler, _/admin_. They follow the same format and use the same query parameters. Those DA can be useful if you need to restart instances or other tasks within ant or other build/deployment systems.
102 +==== Direct Actions to many tasks ====
102 102  
103 -_?type=all_ : return details about all applications and instances
104 -_?type=app&name=AppName_ : return details about all instances of a specific application
105 -_?type=ins&name=AppName-InstanceNo_ : return details about one specific instance
104 +You can do most of the standard tasks you do in Monitor by calling direct actions. They are in a different query handler, ///admin//. They follow the same format and use the same query parameters. Those DA can be useful if you need to restart instances or other tasks within ant or other build/deployment systems.
106 106  
106 +//?type=all// : return details about all applications and instances
107 +//?type=app&name=AppName// : return details about all instances of a specific application
108 +//?type=ins&name=AppName-InstanceNo// : return details about one specific instance
109 +
107 107  For example, if you want to get details about all instances and applications, you call :
108 108  
109 -[http://hostname:56789/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=all]
112 +[[http://hostname:56789/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=all]]
110 110  
111 -To get details about the _AjaxExample_ application :
114 +To get details about the //AjaxExample// application :
112 112  
113 -[http://hostname:56789/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=app&name=AjaxExample]
116 +[[http://hostname:56789/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=app&name=AjaxExample]]
114 114  
115 115  And for a specific instance :
116 116  
117 -[http://hostname:56789/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=ins&name=AjaxExample-1]
120 +[[http://hostname:56789/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=ins&name=AjaxExample-1]]
118 118  
119 -The response for the direct actions will either send a JSON array or YES/NO. For example, the query _info_ for all instances will return :
122 +The response for the direct actions will either send a JSON array or YES/NO. For example, the query //info// for all instances will return :
120 120  
121 -{code}
124 +{{code}}
125 +
122 122  [Hudson Build Server for Wonder|http://webobjects.mdimension.com/hudson/job/Wonder54/lastSuccessfulBuild/artifact/dist/]
123 -{code}
124 124  
128 +{{/code}}
129 +
125 125  List of available direct actions :
126 126  
127 -_/info_ : return details (number of deaths, state, etc.; see above), in JSON, about an instance.
128 -_/running_ : return YES if the instance is running, NO if not.
129 -_/stopped_ : return NO if the instance is running, YES if not.
130 -_/bounce_: more on it later.
131 -_/clearDeaths_ : clear the number of deaths (same action as clicking the "Clear deaths" in JavaMonitor)
132 -_/turnScheduledOn_ : turn scheduling on for an application or instance. Call _/turnScheduledOff_ to do the opposite.
133 -_/turnRefuseNewSessionsOn_ : turn "Refuse new sessions" on, call _turnRefuseNewSessionsOff_ to do the opposite.
134 -_/turnAutoRecoverOn_ : guess what? It activate "Auto recover"\! And guess again? _/turnAutoRecoverOff_ do the opposite\!
135 -_/forceQuit_ : force quit an application, might be useful to call it from a monitoring system.
136 -_/stop_ : stop an application/instance the normal way.
137 -_/start_ : start an application/instance the normal way.
132 +///info// : return details (number of deaths, state, etc.; see above), in JSON, about an instance.
133 +///running// : return YES if the instance is running, NO if not.
134 +///stopped// : return NO if the instance is running, YES if not.
135 +///bounce//: more on it later.
136 +///clearDeaths// : clear the number of deaths (same action as clicking the "Clear deaths" in JavaMonitor)
137 +///turnScheduledOn// : turn scheduling on for an application or instance. Call ///turnScheduledOff// to do the opposite.
138 +///turnRefuseNewSessionsOn// : turn "Refuse new sessions" on, call //turnRefuseNewSessionsOff// to do the opposite.
139 +///turnAutoRecoverOn// : guess what? It activate "Auto recover" And guess again? ///turnAutoRecoverOff// do the opposite
140 +///forceQuit// : force quit an application, might be useful to call it from a monitoring system.
141 +///stop// : stop an application/instance the normal way.
142 +///start// : start an application/instance the normal way.
138 138  
139 -h4. Remote Control via REST Routes
144 +==== Remote Control via REST Routes ====
140 140  
141 -On September 28th 2010, REST routes were added in JavaMonitor. Those routes + the direct actions explained in this document allow you to control almost everything remotely (make sure that your JavaMonitor installation is secure\!). As the direct actions, append _?pw=XXXX_ to the URLs if JavaMonitor is password protected.
146 +On September 28th 2010, REST routes were added in JavaMonitor. Those routes + the direct actions explained in this document allow you to control almost everything remotely (make sure that your JavaMonitor installation is secure). As the direct actions, append //?pw=XXXX// to the URLs if JavaMonitor is password protected.
142 142  
143 143  Examples of REST calls :
144 144  
145 -Fetching the details of all applications :
146 -{code}
150 +{{code title="Adding a New Host"}}
151 +
152 +curl -X POST -d "{id: 'otherserver.com',type: 'MHost', osType: 'MACOSX',address: '192.168.20.5', name: 'otherserver.com'}" http://127.0.0.1:56789/apps/WebObjects/JavaMonitor.woa/ra/mHosts.json
153 +
154 +{{/code}}
155 +
156 +{{code title="Fetching Details for All Applications"}}
157 +
147 147  curl -X GET http://127.0.0.1:56789/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications.json
148 -{code}
149 149  
150 -Adding a new application :
160 +{{/code}}
151 151  
152 -{code}
162 +{{code title="Adding a New Application"}}
163 +
153 153  curl -X POST -d "{id: 'AjaxExample',type: 'MApplication', name: 'AjaxExample',unixOutputPath: '/opt/Local/Library/WebObjects/Logs', unixPath: '/opt/Local/Library/WebObjects/Applications/AjaxExample.woa/AjaxExample'}" http://127.0.0.1:56789/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications.json
154 -{code}
155 155  
156 -Adding a new instance :
166 +{{/code}}
157 157  
158 -{code}
159 -curl -X GET http://127.0.0.1:56789/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/addInstance&host=localhost
160 -{code}
168 +{{code title="Delete an Application"}}
161 161  
162 -Delete an application :
163 -
164 -{code}
165 165  curl -X DELETE http://127.0.0.1:56789/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample.json
166 -{code}
167 167  
168 -Delete an instance :
172 +{{/code}}
169 169  
170 -{code}
171 -curl -X GET http://127.0.0.1:56789/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/deleteInstance?id=1
172 -{code}
174 +{{code title="Adding a New Instance"}}
173 173  
174 -Adding a new host :
176 +curl -X GET http://127.0.0.1:56789/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/addInstance&host=localhost
175 175  
176 -{code}
177 -curl -X POST -d "{id: 'otherserver.com',type: 'MHost', osType: 'MACOSX',address: '192.168.20.5', name: 'otherserver.com'}" http://127.0.0.1:56789/apps/WebObjects/JavaMonitor.woa/ra/mHosts.json
178 +{{/code}}
178 178  
179 -{{/warning}}
180 +{{code title="Delete an Instance :"}}
181 +
182 +curl -X GET http://127.0.0.1:56789/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/deleteInstance?id=1
183 +
184 +{{/code}}