rboss 0.9.1 → 0.9.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.idea/encodings.xml +5 -0
- data/.idea/misc.xml +5 -0
- data/.idea/modules.xml +9 -0
- data/.idea/rboss.iml +65 -0
- data/.idea/scopes/scope_settings.xml +5 -0
- data/.idea/vcs.xml +7 -0
- data/Gemfile +2 -2
- data/README.md +34 -397
- data/bin/rboss-cli +77 -28
- data/lib/rboss.rb +10 -12
- data/lib/rboss/cli/invoker.rb +31 -18
- data/lib/rboss/cli/mappings.rb +11 -10
- data/lib/rboss/cli/mappings/resources/connector.yaml +2 -2
- data/lib/rboss/cli/mappings/resources/datasource.yaml +5 -5
- data/lib/rboss/cli/mappings/resources/deployment-scanner.yaml +3 -3
- data/lib/rboss/cli/mappings/resources/interface.yaml +2 -2
- data/lib/rboss/cli/mappings/resources/jdbc-driver.yaml +12 -0
- data/lib/rboss/cli/mappings/resources/jms-queue.yaml +44 -0
- data/lib/rboss/cli/mappings/resources/runtime.yaml +34 -0
- data/lib/rboss/cli/mappings/resources/server.yaml +8 -8
- data/lib/rboss/cli/resource.rb +60 -37
- data/lib/rboss/cli/result_parser.rb +29 -5
- data/lib/rboss/plaftorm.rb +2 -25
- data/lib/rboss/utils.rb +2 -8
- data/lib/rboss/version.rb +1 -1
- data/lib/rboss/view/colorizers.rb +4 -2
- data/lib/rboss/view/formatters.rb +37 -0
- data/lib/rboss/view/table_builder.rb +2 -2
- data/rboss-cli-bash-completion +82 -0
- data/rboss.gemspec +12 -12
- data/rboss.iml +6 -7
- data/rboss.ipr +2 -11
- metadata +23 -53
- data/bin/rboss-profile +0 -125
- data/bin/rboss-twiddle +0 -204
- data/lib/rboss/bin/command_actions.rb +0 -125
- data/lib/rboss/cli/mappings/resources/jdbc_driver.yaml +0 -12
- data/lib/rboss/component_processor.rb +0 -179
- data/lib/rboss/components/component.rb +0 -58
- data/lib/rboss/components/datasource.rb +0 -179
- data/lib/rboss/components/deploy_folder.rb +0 -104
- data/lib/rboss/components/hypersonic_replacer.rb +0 -58
- data/lib/rboss/components/jbossweb.rb +0 -119
- data/lib/rboss/components/jmx.rb +0 -88
- data/lib/rboss/components/mod_cluster.rb +0 -81
- data/lib/rboss/components/org/6.0/deploy_folder.rb +0 -33
- data/lib/rboss/components/org/jmx.rb +0 -59
- data/lib/rboss/components/profile_folder.rb +0 -44
- data/lib/rboss/components/resource.rb +0 -52
- data/lib/rboss/components/restore_slimming.rb +0 -46
- data/lib/rboss/components/run_conf.rb +0 -90
- data/lib/rboss/components/run_conf.yaml +0 -22
- data/lib/rboss/components/service_script.rb +0 -55
- data/lib/rboss/components/slimming.rb +0 -107
- data/lib/rboss/components/slimming.yaml +0 -110
- data/lib/rboss/components/soa-p/hypersonic_replacer.rb +0 -79
- data/lib/rboss/components/soa-p/jmx.rb +0 -47
- data/lib/rboss/components/xadatasource.rb +0 -67
- data/lib/rboss/file_processor.rb +0 -111
- data/lib/rboss/jboss_path.rb +0 -74
- data/lib/rboss/jboss_profile.rb +0 -350
- data/lib/rboss/resources/jboss_init_redhat.sh.erb +0 -140
- data/lib/rboss/resources/mod_cluster.sar/META-INF/mod_cluster-jboss-beans.xml +0 -282
- data/lib/rboss/resources/mod_cluster.sar/mod_cluster-1.1.2.Final.jar +0 -0
- data/lib/rboss/resources/run.conf.bat.erb +0 -60
- data/lib/rboss/resources/run.conf.erb +0 -62
- data/lib/rboss/twiddle.rb +0 -25
- data/lib/rboss/twiddle/base_monitor.rb +0 -88
- data/lib/rboss/twiddle/mbean.rb +0 -148
- data/lib/rboss/twiddle/monitor.rb +0 -222
- data/lib/rboss/twiddle/twiddle.rb +0 -87
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e20ec4987337d606798b75b915e2b222598d025
|
4
|
+
data.tar.gz: de04752a875590d1fa5c4819988bd6bed4b08bbf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 709cd9e696f2963a3e59798c22666d175c11f8fac7b429bd2ee87aa591f0ccad35e87beced870b82f0640818f05b273cede7a0a0a9c97b64382a9d3c06cee0c4
|
7
|
+
data.tar.gz: df7b4d13cf2787d7a01ed1258ee422739de9f1d6aa39ec76d25b742a0f59d18e04fdca9c636450a9c4dbdce91c7352e5af1c4f8d23eb826989f6c6fee36cab3b
|
data/.idea/encodings.xml
ADDED
data/.idea/misc.xml
ADDED
@@ -0,0 +1,5 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<project version="4">
|
3
|
+
<component name="IdProvider" IDEtalkID="1EEE3103C92A9F3F24A791D6B22E1653" />
|
4
|
+
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="RVM: ruby-2.1.2" project-jdk-type="RUBY_SDK" />
|
5
|
+
</project>
|
data/.idea/modules.xml
ADDED
data/.idea/rboss.iml
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<module type="RUBY_MODULE" version="4">
|
3
|
+
<component name="FacetManager">
|
4
|
+
<facet type="gem" name="Ruby Gem">
|
5
|
+
<configuration>
|
6
|
+
<option name="GEM_APP_ROOT_PATH" value="$MODULE_DIR$" />
|
7
|
+
<option name="GEM_APP_TEST_PATH" value="" />
|
8
|
+
<option name="GEM_APP_LIB_PATH" value="$MODULE_DIR$/lib" />
|
9
|
+
</configuration>
|
10
|
+
</facet>
|
11
|
+
</component>
|
12
|
+
<component name="ModuleRunConfigurationManager">
|
13
|
+
<configuration default="false" name="Public Interface" type="RubyRunConfigurationType" factoryName="Ruby">
|
14
|
+
<module name="rboss" />
|
15
|
+
<RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
16
|
+
<RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$/bin" />
|
17
|
+
<RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
|
18
|
+
<RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
|
19
|
+
<RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
|
20
|
+
<envs />
|
21
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
|
22
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
23
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
24
|
+
<COVERAGE_PATTERN ENABLED="true">
|
25
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
26
|
+
</COVERAGE_PATTERN>
|
27
|
+
</EXTENSION>
|
28
|
+
<EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
|
29
|
+
<RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/bin/rboss-cli" />
|
30
|
+
<RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="--interface public" />
|
31
|
+
<RunnerSettings RunnerId="RubyRunner" />
|
32
|
+
<ConfigurationWrapper RunnerId="RubyRunner" />
|
33
|
+
<method />
|
34
|
+
</configuration>
|
35
|
+
<configuration default="false" name="IRB console: rboss" type="IrbRunConfigurationType" factoryName="IRB console" temporary="true">
|
36
|
+
<module name="rboss" />
|
37
|
+
<IRB_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
38
|
+
<IRB_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$" />
|
39
|
+
<IRB_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
|
40
|
+
<IRB_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
|
41
|
+
<IRB_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
|
42
|
+
<envs />
|
43
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
44
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
45
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
46
|
+
<COVERAGE_PATTERN ENABLED="true">
|
47
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
48
|
+
</COVERAGE_PATTERN>
|
49
|
+
</EXTENSION>
|
50
|
+
<EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
|
51
|
+
<IRB_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$USER_HOME$/.rvm/rubies/ruby-2.1.2/bin/irb" />
|
52
|
+
<IRB_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="--prompt simple" />
|
53
|
+
<IRB_RUN_CONFIG NAME="IS_RAILS_CONSOLE" VALUE="false" />
|
54
|
+
<RunnerSettings RunnerId="RubyRunner" />
|
55
|
+
<ConfigurationWrapper RunnerId="RubyRunner" />
|
56
|
+
<method />
|
57
|
+
</configuration>
|
58
|
+
</component>
|
59
|
+
<component name="NewModuleRootManager" inherit-compiler-output="false">
|
60
|
+
<content url="file://$MODULE_DIR$" />
|
61
|
+
<orderEntry type="inheritedJdk" />
|
62
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
63
|
+
<orderEntry type="library" scope="PROVIDED" name="bundler (v1.7.2, RVM: ruby-2.1.2) [gem]" level="application" />
|
64
|
+
</component>
|
65
|
+
</module>
|
data/.idea/vcs.xml
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,30 +1,21 @@
|
|
1
1
|
rboss
|
2
2
|
=============
|
3
3
|
|
4
|
-
|
5
|
-
a running JBoss AS or execute scripts.
|
6
|
-
|
4
|
+
This tool helps you manage a JBoss application server (EAP or Wildfly) by encapsulating `jboss-cli` in a usefull and customizable command line tool.
|
7
5
|
|
8
6
|
Installation
|
9
7
|
-----------
|
10
8
|
|
11
9
|
gem install rboss
|
12
10
|
|
13
|
-
### Direct Dependencies
|
14
|
-
|
15
|
-
* yummi
|
16
|
-
|
17
11
|
### Configuration
|
18
12
|
|
19
|
-
Set a RBOSS_CLI_HOME variable pointing to your JBoss AS home location that has jboss-cli
|
20
|
-
for using rboss-cli, for using twiddle, set a RBOSS_TWIDDLE_HOME variable pointing to you JBoss AS
|
21
|
-
that has twiddle.
|
13
|
+
Set a `RBOSS_CLI_HOME` variable pointing to your JBoss AS home location that has `jboss-cli` for using `rboss-cli`.
|
22
14
|
|
23
15
|
Using rboss-cli
|
24
16
|
-----------
|
25
17
|
|
26
|
-
rboss-cli is a helper tool for jboss-cli
|
27
|
-
invoke.
|
18
|
+
`rboss-cli` is a helper tool for `jboss-cli`, it maps resource paths and helps the operation invoke.
|
28
19
|
|
29
20
|
### Basics
|
30
21
|
|
@@ -40,22 +31,20 @@ You can scan resources, detail information and execute operations.
|
|
40
31
|
|
41
32
|
### Invoking Operations
|
42
33
|
|
43
|
-
To see the operations for a resource, use the
|
34
|
+
To see the operations for a resource, use the `--list-operations` or `-l` option:
|
44
35
|
|
45
36
|
rboss-cli --server --list-operations
|
46
37
|
|
47
|
-
To detail an operation, use the
|
38
|
+
To detail an operation, use the `--detail-operation` or `-d` option:
|
48
39
|
|
49
40
|
rboss-cli --server --detail-operation shutdown
|
50
41
|
|
51
|
-
This will print a table showing both request and response parameters. To invoke the
|
52
|
-
operation, use the "--operation" or "-o" option:
|
42
|
+
This will print a table showing both request and response parameters. To invoke the operation, use the `--operation` or `-o` option:
|
53
43
|
|
54
44
|
rboss-cli --server --operation shutdown
|
55
45
|
rboss-cli --server -o shutdown
|
56
46
|
|
57
|
-
Since this operation requires a parameter, rboss-cli will ask you to input them. If you
|
58
|
-
want to pass the required parameters, use the "--arguments" or "-a" option:
|
47
|
+
Since this operation requires a parameter, rboss-cli will ask you to input them. If you want to pass the required parameters, use the `--arguments` or `-a` option:
|
59
48
|
|
60
49
|
rboss-cli --server --operation shutdown --arguments restart=true
|
61
50
|
rboss-cli --server -o shutdown -a restart=true
|
@@ -64,42 +53,41 @@ Multiple arguments are supported using commas:
|
|
64
53
|
|
65
54
|
rboss-cli --some-resource -o operation -a arg1=value1,arg2=value
|
66
55
|
|
67
|
-
If you want to skip optional arguments, use the
|
68
|
-
you to input the arguments, leaving "--arguments" as the only way to set them.
|
56
|
+
If you want to skip optional arguments, use the `--skip-optional`. `rboss-cli` will not ask you to input optional arguments, leaving `--arguments` as the only way to set them.
|
69
57
|
|
70
|
-
See rboss-cli --help for a complete list of commands.
|
58
|
+
See `rboss-cli --help` for a complete list of commands.
|
71
59
|
|
72
|
-
###
|
60
|
+
### Bash Completion
|
73
61
|
|
74
|
-
|
75
|
-
detail operation or invoke operation for the operation add. This is caused because the
|
76
|
-
command '/subsystem=datasources/data-source=:read-operation-description(name=add)' needs
|
77
|
-
to be executed as
|
78
|
-
'/subsystem=datasources/data-source=ANY_VALUE:read-operation-description(name=add)',
|
79
|
-
leaving the '--datasource any' as a workaround.
|
62
|
+
You can also source the `rboss-cli-bash-completion` file to make use of the completion for the `rboss-cli`. The completion works for parameters, resource arguments and operations.
|
80
63
|
|
81
|
-
rboss-cli --
|
82
|
-
rboss-cli --datasource
|
64
|
+
$ rboss-cli --dat[TAB]
|
65
|
+
$ rboss-cli --datasource Exa[TAB]
|
66
|
+
$ rboss-cli --datasource ExampleDS
|
83
67
|
|
84
|
-
|
68
|
+
Keep in mind that if you need completion for a different server than `local` (the default server), you should start the command with `--connect` or `-c`:
|
85
69
|
|
86
|
-
|
87
|
-
|
88
|
-
|
70
|
+
$ rboss-cli --connect my[TAB]
|
71
|
+
$ rboss-cli --connect myserver
|
72
|
+
$ rboss-cli --connect myserver --dat[TAB]
|
73
|
+
$ rboss-cli --connect myserver --datasource Exa[TAB]
|
74
|
+
$ rboss-cli --connect myserver --datasource ExampleDS
|
89
75
|
|
90
|
-
|
76
|
+
### Configuring CLI mappings
|
77
|
+
|
78
|
+
To create and override mappings, just put a yaml file in `~/.rboss/rboss-cli/resources`. The filename will be used to identify the operation. Example: placing a file named datasource.yaml will override the `--datasource` option and a file named `logger.yaml` will create a new option (`--logger`). The yaml must contain the given definitions:
|
91
79
|
|
92
|
-
* description: an explaining text to appear in command usage (
|
93
|
-
* path: the path to invoke the operations, may take a
|
80
|
+
* description: an explaining text to appear in command usage (`--help`)
|
81
|
+
* path: the path to invoke the operations, may take a `${NAME}` if the path contains a resource name
|
94
82
|
* scan (optional): a command to scan resources (by using this, the option may take an array of resource names)
|
95
|
-
* print (optional): an array of table definitions to print with
|
83
|
+
* print (optional): an array of table definitions to print with `read-resource` operation.
|
96
84
|
|
97
85
|
Examples:
|
98
86
|
|
99
87
|
---
|
100
88
|
description: Datasource Information
|
101
|
-
path: /subsystem=datasources/data-source=${NAME}
|
102
|
-
scan: ls /subsystem=datasources/data-source
|
89
|
+
path: ${DOMAIN_HOST}${DOMAIN_SERVER}/subsystem=datasources/data-source=${NAME}
|
90
|
+
scan: ls ${DOMAIN_HOST}${DOMAIN_SERVER}/subsystem=datasources/data-source
|
103
91
|
print:
|
104
92
|
- id: config
|
105
93
|
title: Datasource Details
|
@@ -165,7 +153,7 @@ Examples:
|
|
165
153
|
|
166
154
|
---
|
167
155
|
description: Detail Server Information
|
168
|
-
path: /core-service=
|
156
|
+
path: ${DOMAIN_HOST}${DOMAIN_SERVER}/core-service=
|
169
157
|
print:
|
170
158
|
- id: platform
|
171
159
|
title: Operating System Information
|
@@ -208,7 +196,7 @@ To configure a table to print, just use the following parameters:
|
|
208
196
|
All mappings (formatter, colorizer and health checker) should be mapped using the following conventions:
|
209
197
|
|
210
198
|
* the key should be the property name (replace '-' with '_')
|
211
|
-
* the value should be the message to send to RBoss::Formatters
|
199
|
+
* the value should be the message to send to `RBoss::Formatters`, `RBoss::HealthCheckers` or `RBoss::Colorizers`
|
212
200
|
* if the message takes parameters, they must be specified in a form of a hash after the message
|
213
201
|
|
214
202
|
Examples:
|
@@ -239,7 +227,7 @@ Examples:
|
|
239
227
|
|
240
228
|
### Adding new components
|
241
229
|
|
242
|
-
To add new Colorizers
|
230
|
+
To add new `Colorizers`, `Formatters` or `HealthCheckers`, just put the code in the `~/.rboss/rboss.rb` file.
|
243
231
|
|
244
232
|
Example:
|
245
233
|
|
@@ -258,357 +246,6 @@ From now you can use this colorizer
|
|
258
246
|
|
259
247
|
The components included are defined in the following files:
|
260
248
|
|
261
|
-
*
|
262
|
-
*
|
263
|
-
*
|
264
|
-
|
265
|
-
Using rboss-twiddle
|
266
|
-
-----------
|
267
|
-
|
268
|
-
### Basics
|
269
|
-
|
270
|
-
Simply do a "cd" to your JBoss Home and use it
|
271
|
-
|
272
|
-
rboss-twiddle --help
|
273
|
-
|
274
|
-
You can scan resources like: datasources, queues, connectors, webapps, ...
|
275
|
-
|
276
|
-
rboss-twiddle --datasource --webapp
|
277
|
-
rboss-twiddle --all
|
278
|
-
|
279
|
-
If you don't need to scan for resources, you can specify them for monitoring:
|
280
|
-
|
281
|
-
rboss-twiddle --webapp jmx-console,admin-console
|
282
|
-
|
283
|
-
Combine with "watch" to get a simple and instantly monitoring:
|
284
|
-
|
285
|
-
watch --interval=1 rboss-twiddle --webapp jmx-console,admin-console
|
286
|
-
|
287
|
-
Retrieve property values with --get:
|
288
|
-
|
289
|
-
rboss-twiddle --get webapp:jmx-console,maxSessions
|
290
|
-
rboss-twiddle --get server-info,FreeMemory
|
291
|
-
|
292
|
-
Set values with --set:
|
293
|
-
|
294
|
-
rboss-twiddle --set connector:http-127.0.0.1-8080,maxThreads,350
|
295
|
-
|
296
|
-
Execute commands with --invoke:
|
297
|
-
|
298
|
-
rboss-twiddle --invoke server,shutdown
|
299
|
-
rboss-twiddle --invoke web-deployment:jmx-console,stop
|
300
|
-
|
301
|
-
Extending mbeans
|
302
|
-
|
303
|
-
You can use a file in ~/.rboss/twiddle.rb for mapping new mbeans or overriding the defaults
|
304
|
-
|
305
|
-
RBoss::Twiddle::Monitor.defaults[:http_request] = {
|
306
|
-
:description => 'Request for http protocol',
|
307
|
-
:pattern => 'jboss.web:type=GlobalRequestProcessor,name=http-127.0.0.1-8080',
|
308
|
-
:properties => %W(requestCount errorCount maxTime)
|
309
|
-
}
|
310
|
-
|
311
|
-
And use it normally
|
312
|
-
|
313
|
-
rboss-twiddle --http-request
|
314
|
-
|
315
|
-
You can do every action using custom mbeans
|
316
|
-
|
317
|
-
rboss-twiddle --invoke http-request,resetCounters
|
318
|
-
|
319
|
-
Configurations can be saved using --save
|
320
|
-
|
321
|
-
rboss-twiddle --save jon --port 2099
|
322
|
-
|
323
|
-
And used with -c or --config
|
324
|
-
|
325
|
-
rboss-twiddle -c jon --server-config
|
326
|
-
|
327
|
-
### Customizing MBeans
|
328
|
-
|
329
|
-
Every time you run the rboss-twiddle command, this gem will load the ~/.rboss/rboss.rb file,
|
330
|
-
which can be used to customize the mbeans.
|
331
|
-
|
332
|
-
defaults = RBoss::Twiddle::Monitor.defaults
|
333
|
-
defaults[:logger] = {
|
334
|
-
:description => 'Logger Service',
|
335
|
-
:pattern => 'jboss.system:service=Logging,type=Logger'
|
336
|
-
}
|
337
|
-
|
338
|
-
This will add a custom mbean whose identifier is 'logger'. From that, you can use therboss-
|
339
|
-
twiddle command on it.
|
340
|
-
|
341
|
-
rboss-twiddle --invoke logger debug,message
|
342
|
-
|
343
|
-
If your mbean name depends on a resource name (like the connector mbean), you can use
|
344
|
-
a '#{resource}' string to pass the resource in the command line.
|
345
|
-
|
346
|
-
defaults[:mymbean] => {
|
347
|
-
:description => 'My Custom MBean',
|
348
|
-
:pattern => 'jboss.custom:type=CustomMBean,name=#{resource}'
|
349
|
-
}
|
350
|
-
|
351
|
-
Don't forget to use single quotes on that. The rboss-twiddle command will be:
|
352
|
-
|
353
|
-
rboss-twiddle --get mymbean:Name,MBeanProperty
|
354
|
-
|
355
|
-
If this mbean is scannable, you can use a :scan key:
|
356
|
-
|
357
|
-
defaults[:mymbean] => {
|
358
|
-
:description => 'My Custom MBean',
|
359
|
-
:pattern => 'jboss.custom:type=CustomMBean,name=#{resource}',
|
360
|
-
:scan => proc do
|
361
|
-
# queries and pass each result do the block
|
362
|
-
query "jboss.custom:type=CustomMBean,*" do |path|
|
363
|
-
path.gsub "jboss.custom:type=CustomMBean,name=", ""
|
364
|
-
end
|
365
|
-
end
|
366
|
-
}
|
367
|
-
|
368
|
-
Now you can scan for resources of your custom MBean by using:
|
369
|
-
|
370
|
-
rboss-twiddle --mymbean
|
371
|
-
|
372
|
-
If your MBean has some properties that should appear in a table for instant monitoring,
|
373
|
-
just add a :properties key:
|
374
|
-
|
375
|
-
defaults[:mymbean] => {
|
376
|
-
:description => 'My Custom MBean',
|
377
|
-
:pattern => 'jboss.custom:type=CustomMBean,name=#{resource}',
|
378
|
-
:properties => %W(activeCount currentFree maxAvailable),
|
379
|
-
:header => ['Active Count', 'Current Free', 'Max Available'],
|
380
|
-
:scan => proc do
|
381
|
-
# queries and pass each result do the block
|
382
|
-
query "jboss.custom:type=CustomMBean,*" do |path|
|
383
|
-
path.gsub "jboss.custom:type=CustomMBean,name=", ""
|
384
|
-
end
|
385
|
-
end
|
386
|
-
}
|
387
|
-
|
388
|
-
If this MBean maps a component that can be monitored for health state, you can map the
|
389
|
-
limits by using a :health key:
|
390
|
-
|
391
|
-
defaults[:mymbean] => {
|
392
|
-
:description => 'My Custom MBean',
|
393
|
-
:pattern => 'jboss.custom:type=CustomMBean,name=#{resource}',
|
394
|
-
:properties => %W(activeCount currentFree maxAvailable),
|
395
|
-
:header => ['Active Count', 'Current Free', 'Max Available'],
|
396
|
-
:health => {
|
397
|
-
:active_count => {
|
398
|
-
:percentage => { # uses a percentage based check
|
399
|
-
:max => :max_available,
|
400
|
-
:using => :active_count #or use :free if you have the number of free resources
|
401
|
-
}
|
402
|
-
}
|
403
|
-
},
|
404
|
-
:scan => proc do
|
405
|
-
# queries and pass each result do the block
|
406
|
-
query "jboss.custom:type=CustomMBean,*" do |path|
|
407
|
-
path.gsub "jboss.custom:type=CustomMBean,name=", ""
|
408
|
-
end
|
409
|
-
end
|
410
|
-
}
|
411
|
-
|
412
|
-
Customizing health, formatters and colors are the same as customizing in rboss-cli. You can
|
413
|
-
use the indexes of the values (in that case, 2 for :max and 0 for :using) or the header values
|
414
|
-
in downcase and underscores.
|
415
|
-
|
416
|
-
Using rboss-profile
|
417
|
-
-----------
|
418
|
-
|
419
|
-
### Basics
|
420
|
-
|
421
|
-
Simply do a "cd" to your JBoss Home and use it
|
422
|
-
|
423
|
-
rboss-profile --help
|
424
|
-
|
425
|
-
All configuration can be stored in a single yaml file containing an array of components
|
426
|
-
and its configuration:
|
427
|
-
|
428
|
-
- deploy_folder: deploy/datasources
|
429
|
-
- deploy_folder: deploy/apps
|
430
|
-
- jmx
|
431
|
-
- run_conf:
|
432
|
-
:heap_size: 1024m
|
433
|
-
:perm_size: 512m
|
434
|
-
:debug: :socket
|
435
|
-
|
436
|
-
You can specify any command-line arguments directly in yaml file:
|
437
|
-
|
438
|
-
- :params:
|
439
|
-
:jboss_home: /home/user/jboss/org/jboss-5
|
440
|
-
:type: org
|
441
|
-
:version: 5.1
|
442
|
-
:base_profile: all
|
443
|
-
:profile: my_profile
|
444
|
-
|
445
|
-
### Configuring deploy folders
|
446
|
-
|
447
|
-
Use "deploy_folder" component and the desired folder. If the folder starts with a "/" or
|
448
|
-
doesn't start with "deploy", the entries in VFS will be added.
|
449
|
-
|
450
|
-
# Will be in $JBOSS_HOME/server/$PROFILE/deploy/application
|
451
|
-
- deploy_folder: deploy/applications
|
452
|
-
# Will be in $JBOSS_HOME/server/$PROFILE/custom/application
|
453
|
-
- deploy_folder: custom/applications
|
454
|
-
- deploy_folder: /opt/deploy
|
455
|
-
|
456
|
-
### Configuring jmx
|
457
|
-
|
458
|
-
Use "jmx" component:
|
459
|
-
|
460
|
-
# user and password are "admin" by default
|
461
|
-
- jmx
|
462
|
-
- jmx:
|
463
|
-
:user: admin
|
464
|
-
:password: admin
|
465
|
-
|
466
|
-
Basically, this will add an entry in the jmx-console-users.properties (depends on JBoss type).
|
467
|
-
For JBoss org, this will enable security in jmx-console since the enterprise versions have
|
468
|
-
jmx-console security by default.
|
469
|
-
|
470
|
-
### Configuring datasources
|
471
|
-
|
472
|
-
Use a "datasource" component
|
473
|
-
|
474
|
-
Configuration:
|
475
|
-
|
476
|
-
:folder => a folder where this datasource will be saved (default: $JBOSS_HOME/server/$CONFIG/deploy)
|
477
|
-
if a relative path is given, it will be appended to default value
|
478
|
-
:encrypt => a flag to indicate if the password should be encrypted (default: false)
|
479
|
-
:type => the type of the datasource
|
480
|
-
:name => a name for saving the file (default: :type)
|
481
|
-
:attributes => a Hash with the attributes that will be changed in template (the only required is :jndi_name)
|
482
|
-
|
483
|
-
Any attribute that is not present in datasource xml will be created using this template: <key>value</key>.
|
484
|
-
|
485
|
-
For converting the symbol attributes, the above rules are used taking by example a
|
486
|
-
value ":database_url":
|
487
|
-
|
488
|
-
1. The value "database_url"
|
489
|
-
2. The value "database-url"
|
490
|
-
3. The value "DatabaseUrl"
|
491
|
-
4. The value "DATABASE_URL"
|
492
|
-
|
493
|
-
The key for finding the correct datasource is the configuration attribute :type, which is
|
494
|
-
used to search in $JBOSS_HOME/docs/examples/jca for the file.
|
495
|
-
|
496
|
-
Any key that is not found in the datasource template will be added. If it is a Symbol,
|
497
|
-
the underlines will be converted to hyphens.
|
498
|
-
|
499
|
-
For saving the file, the configuration :name will be used in the form "${name}-ds.xml".
|
500
|
-
|
501
|
-
Example:
|
502
|
-
|
503
|
-
- datasource:
|
504
|
-
:type: postgres
|
505
|
-
:attributes:
|
506
|
-
:user_name: postgres
|
507
|
-
:password: postgres
|
508
|
-
:connection_url: jdbc:postgresql://localhost:5432/sample_database
|
509
|
-
:min_pool_size: 5
|
510
|
-
:max_pool_size: 15
|
511
|
-
|
512
|
-
### Replacing hypersonic
|
513
|
-
|
514
|
-
The same as Datasouce, but use the "default_ds" component instead.
|
515
|
-
|
516
|
-
- default_ds:
|
517
|
-
:type: postgres
|
518
|
-
:attributes:
|
519
|
-
:user_name: postgres
|
520
|
-
:password: postgres
|
521
|
-
:connection_url: jdbc:postgresql://localhost:5432/jboss_db
|
522
|
-
:min_pool_size: 5
|
523
|
-
:max_pool_size: 15
|
524
|
-
|
525
|
-
This will change the DefaultDS mapping to the desired datasource. Since JBoss SOA-Platform
|
526
|
-
already have a tool to do the work, it will be called with the correct mapped options
|
527
|
-
(see the file $SOAP_HOME/tools/schema/build.properties for the supported options)
|
528
|
-
|
529
|
-
- default_ds:
|
530
|
-
source.dir: postgresql84
|
531
|
-
db.name: jboss_soap_db
|
532
|
-
db.hostname: localhost
|
533
|
-
db.port: 5432
|
534
|
-
db.username: postgres
|
535
|
-
db.password: postgres
|
536
|
-
db.minpoolsize: 5
|
537
|
-
db.maxpoolsize: 15
|
538
|
-
|
539
|
-
### Installing mod_cluster
|
540
|
-
|
541
|
-
Use a "mod_cluster" component
|
542
|
-
|
543
|
-
Configuration:
|
544
|
-
|
545
|
-
:path => where the mod_cluster.sar is located
|
546
|
-
:folder => where the mod_cluster.sar should be installed (default: $JBOSS_HOME/server/$CONFIG/deploy)
|
547
|
-
|
548
|
-
The additional configurations are the entries in the bean ModClusterConfig (mod_cluster-jboss-beans.xml)
|
549
|
-
and can be in a String form (using the entry name) or in a Symbol form (using ruby nomenclature - :sticky_session)
|
550
|
-
|
551
|
-
### Configuring run.conf
|
552
|
-
|
553
|
-
### Slimming
|
554
|
-
|
555
|
-
Use a "slimming" component.
|
556
|
-
|
557
|
-
Configuration:
|
558
|
-
|
559
|
-
Use an array with the services to remove, the current supported are:
|
560
|
-
|
561
|
-
* Admin Console => :admin_console
|
562
|
-
* Web Console => :web_console
|
563
|
-
* Mail Service => :mail
|
564
|
-
* BeanShell => :bean_shell
|
565
|
-
* Hot Deploy => :hot_deploy
|
566
|
-
* UDDI => :uddi
|
567
|
-
* UUID Key Generator => :key_generator
|
568
|
-
* Scheduling => :scheduling
|
569
|
-
* JMX Console => :jmx_console
|
570
|
-
* JBoss WS => :jboss_ws
|
571
|
-
* JMX Remoting => :jmx_remoting
|
572
|
-
* ROOT Page => :root_page
|
573
|
-
* Management => :management
|
574
|
-
* IIOP => :iiop
|
575
|
-
* JBoss Web => :jboss_web
|
576
|
-
* SNMP => :snmp
|
577
|
-
* Profile Service => :profile
|
578
|
-
* EJB3 => :ejb3
|
579
|
-
* EJB2 => :ejb2
|
580
|
-
* JMX Invoker => :jmx_invoker
|
581
|
-
* HA HTTP Invoker => :ha_http_invoker
|
582
|
-
* Legacy Invoker => :legacy_invoker
|
583
|
-
* Transaction => :transaction
|
584
|
-
* Remoting => :remoting
|
585
|
-
* Properties Service => :properties
|
586
|
-
* Database/Datasource => :database
|
587
|
-
* JSR-88 => :jsr88
|
588
|
-
* XNIO => :xnio
|
589
|
-
|
590
|
-
Any slimmed service will be removed logically by using a ".rej" suffix in the files/directories.
|
591
|
-
|
592
|
-
Tools
|
593
|
-
-----------
|
594
|
-
|
595
|
-
### Command Line Slimming
|
596
|
-
|
597
|
-
You can do a slimming using only the command line, just put your terminal in the profile dir
|
598
|
-
and do the following:
|
599
|
-
|
600
|
-
rboss-profile --this --slimming services-here
|
601
|
-
|
602
|
-
This will slim the defined services. Use --verbose to see the changed files.
|
603
|
-
|
604
|
-
To restore slimmed services, use --restore.
|
605
|
-
|
606
|
-
rboss-profile --this --restore services-here
|
607
|
-
|
608
|
-
### Password Encryption
|
609
|
-
|
610
|
-
You can use the SecureIdentityLoginModule to encrypt a password for use with a login module
|
611
|
-
to secure a datasource password.
|
612
|
-
|
613
|
-
rboss-profile --encrypt your-password-here
|
614
|
-
|
249
|
+
* `/lib/rboss/view/colorizers.rb`
|
250
|
+
* `/lib/rboss/view/formatters.rb`
|
251
|
+
* `/lib/rboss/view/health_checkers.rb`
|