Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.lang.management.*
- import javax.management.ObjectName
- import javax.management.remote.JMXConnectorFactory as JmxFactory
- import javax.management.remote.JMXServiceURL as JmxUrl
- import groovy.swing.SwingBuilder
- import javax.swing.WindowConstants as WC
- def serverUrl = 'service:jmx:rmi:///jndi/rmi://localhost:9003/jmxrmi'
- String beanName = "com.webwars.gameplatform.data:type=udmdataloadsystem,id=0"
- def server = JmxFactory.connect(new JmxUrl(serverUrl)).MBeanServerConnection
- def dataSystem = new GroovyMBean(server, beanName)
- println "Connected to:n$dataSystemn"
- println "Executing jmxForceRefresh()"
- dataSystem.jmxForceRefresh();
- #!/bin/bash
- cmdLineJMXJar=./cmdline-jmxclient-0.10.3.jar
- user=yourUser
- password=yourPassword
- jmxHost=localhost
- port=9003
- #No User and password so pass '-'
- echo "Available Operations for com.company.data:type=datasystem,id=0"
- java -jar ${cmdLineJMXJar} ${user}:${password} ${jmxHost}:${port} com.company.data:type=datasystem,id=0
- echo "Executing XML update..."
- java -jar ${cmdLineJMXJar} - ${jmxHost}:${port} com.company.data:type=datasystem,id=0 jmxForceRefresh
- me@oddjob:jmx$ cd log4j/root/attributes
- me@oddjob:jmx$ cat priority
- me@oddjob:jmx$ echo "WARN" > priority
- me@oddjob:jmx$ cd Catalina/none/none/WebModule/localhost/helloworld/operations/addParameter
- me@oddjob:jmx$ echo "myParam myValue" > invoke
- ~$ ./check_jmx -U service:jmx:rmi:///jndi/rmi://localhost:1099/JMXConnector --username myuser --password mypass -O java.lang:type=Memory -A HeapMemoryUsage -K used
- JMX OK - HeapMemoryUsage.used = 445012360 | 'HeapMemoryUsage used'=445012360;;;;
- curl -s -X POST --user 'myuser:mypass'
- --data "action=invokeOp&name=App:service=ThisServiceOp&methodIndex=3&arg0=value1&arg1=value1&submit=Invoke"
- http://yourhost.domain.com/jmx-console/HtmlAdaptor
- http://yourhost.domain.com/jmx-console/HtmlAdaptor?action=inspectMBean&name=YourJMXServiceName
- form method="post" action="HtmlAdaptor">
- <input type="hidden" name="action" value="invokeOp">
- <input type="hidden" name="name" value="App:service=ThisServiceOp">
- <input type="hidden" name="methodIndex" value="3">
- <hr align='left' width='80'>
- <h4>void ThisOperation()</h4>
- <p>Operation exposed for management</p>
- <table cellspacing="2" cellpadding="2" border="1">
- <tr class="OperationHeader">
- <th>Param</th>
- <th>ParamType</th>
- <th>ParamValue</th>
- <th>ParamDescription</th>
- </tr>
- <tr>
- <td>p1</td>
- <td>java.lang.String</td>
- <td>
- <input type="text" name="arg0">
- </td>
- <td>(no description)</td>
- </tr>
- <tr>
- <td>p2</td>
- <td>arg1Type</td>
- <td>
- <input type="text" name="arg1">
- </td>
- <td>(no description)</td>
- </tr>
- </table>
- <input type="submit" value="Invoke">
- </form>
- use JMX::Jmx4Perl;
- use JMX::Jmx4Perl::Alias; # Import certains aliases for MBeans
- print "Memory Used: ",
- JMX::Jmx4Perl
- ->new(url => "http://localhost:8080/j4p")
- ->get_attribute(MEMORY_HEAP_USED);
- package com.my.company.jmx
- import groovy.util.GroovyMBean;
- import javax.management.remote.JMXServiceURL
- import javax.management.remote.JMXConnectorFactory
- import java.lang.management.*
- class Monitor {
- static main(args) {
- def serverUrl = 'service:jmx:rmi:///jndi/rmi://localhost:5019/jmxrmi'
- String beanName = "Catalina:type=DataSource,class=javax.sql.DataSource,name="jdbc/CommonDB""
- println "numIdle,numActive"
- while(1){
- def server = JMXConnectorFactory.connect(new JMXServiceURL(serverUrl))
- //make sure to reconnect in case the jvm was restrated
- server.connect()
- GroovyMBean mbean = new GroovyMBean(server.MBeanServerConnection, beanName)
- println "${mbean.numIdle},${mbean.numActive}"
- server.close()
- sleep(10000)
- }
- }
- }
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <compilerId>groovy-eclipse-compiler</compilerId>
- <source>1.7</source>
- <target>1.7</target>
- </configuration>
- <dependencies>
- <dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy-eclipse-compiler</artifactId>
- <version>2.8.0-01</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy-eclipse-batch</artifactId>
- <version>2.3.4-01</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </build>
- <dependencies>
- <dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy-all</artifactId>
- <version>2.4.3</version>
- </dependency>
- </dependencies>
- import javax.management.*;
- import javax.management.remote.*;
- public class JmxInvoke {
- public static void main(String... args) throws Exception {
- System.out.println(
- JMXConnectorFactory.connect(new JMXServiceURL(args[0]))
- .getMBeanServerConnection().invoke(new ObjectName(args[1]), args[2], new Object[]{}, new String[]{})
- );
- }
- }
- javac JmsInvoke.java
- java -cp . JmxInvoke [url] [beanName] [method]
Add Comment
Please, Sign In to add comment