Refine your search:

7
1

Thanks For Downloading!

Review the documentation below and follow any custom installation steps. If no install steps are listed, most Splunk Apps and Add-ons can be installed as follows:

Windows: Decompress the downloaded file using a tool like 7-Zip and place the resulting folder into %PROGRAMFILES%\Splunk\etc\apps. Then restart Splunk using the splunk restart command or the GUI.

Unix/Linux: Decompress the downloaded file using a tool like tar -xvf and place the resulting folder into $SPLUNK_HOME/etc/apps. Then restart Splunk using the splunk restart command or the GUI.

Description

SPLUNK for JMX can be used to poll local or remote JMX Management Servers running in Java Virtual Machines across your entire infrastructure and index MBean attributes and outputs from MBean operations.

Welcome to SPLUNK 4 JMX v1.5.3
by Damien T. Dallimore
April 2012
damien@dtdsoftware.com


OVERVIEW

This SPLUNK app provides the means to :

  • connect to any local or remote JVM's JMX server, either via the remote JMX interface,attaching to a local JVM process or using an MX4J HTTP based connector.
  • query any MBean running on that server
  • extract any MBean attributes (simple, composite or tabular)
  • invoke MBean operations
  • write attributes and operation results out in a default key/value format, or plugin your own custom format, for SPLUNK indexing and searching
  • transport events over STD out(default), TCP, Syslog, Splunk REST endpoint or direct to file.
  • declare clusters of JVM's for large scale JVM deployments
  • runs on *Nix and Windows

Tested to date against Hotspot ,JRockit and IBM J9 JVM's.

Currently supports the following JMX Connectors :

  • rmi (JSR160 Standard Implementation and MX4J's JSR160 Implementation)
  • iiop (JSR160 Standard Implementation and MX4J's JSR160 Implementation)
  • local (MX4J only)
  • soap (MX4J only)
  • hessian (MX4J only)
  • burlap (MX4J only)

This app is basically a custom scripted input comprising of a bash/bat script and a Java program. I have bundled it up as an app for convenience
and included some demo dashboards that graph up a selection of MBean attributes from the java.lang domain

Also refer to the application's "docs" directory for :

  • PDF User Guide
  • Javadoc API for creating a custom Formatter or Transport implementation
  • Configuration schema documentation

INSTALLATION

  • set the JAVA_HOME environment variable to the location of your JRE install location(version 1.6 +)
  • set the SPLUNK_HOME environment variable to the install root of SPLUNK
  • uncompress SPLUNK4JMX-1.5.3.tar.gz to SPLUNK_HOME/etc/apps
  • restart SPLUNK

The SPLUNK4JMX app sets up a custom index(index=jms) and a custom script input (sourcetype=jmx) that parses and executes an XML config file
By default, the input script is disabled and the schedule time is 60 seconds
After you configure your config XML file, you should then enable the input script for the platform you are running on.
There is a "sh" script for Nix and a "bat" script for Windows.

INSTALLED COMPONENTS

The only components you really need to know about are in the SPLUNK_HOME/etc/apps/SPLUNK4JMX/bin directory

  • bin/poll_jmx - this is the script that SPLUNK fires at scheduled intervals, this script invokes a Java program that has the logic for querying the JMX Server(s).
  • bin/poll_mx4j_jmx - same as the above script, however the MX4J JMX implementation will be used.You must use this script should you want to use the MX4J specific JMX connectors.
  • bin/config/config.xml - this is the config file where you specify JMX server(s), MBeans and MBean attributes/operations.You can create as many config files,with any name, as you want and set them up as the argument to the poll_jmx script on the SPLUNK Manager Data Inputs page.

CONFIG.XML

Note : also refer to the configuration schema documentation in the docs directory

Included in the SPLUNK4JMX app distribution is a comprehensive sample config.xml
This sample file queries various java.lang MBeans and obtains attributes
You can use this as a basis for creating your own config files for whatever MBeans and attributes/operations you need to poll across your environment
To try out this sample config.xml file , just set the values for your environment in the jmxserver element , and you should be good to go.

"jmxpoller" is the root xml element

A custom formatter can be specified.Only 1 may be specified for the entire configuration.
This is a Java implementation of the "com.dtdsoftware.splunk.formatter.Formatter" interface.
The formatter class must be placed on the java classpath.
If the optional formatter declaration is omitted, then the default formatter will be used.

A custom transport can be specified.Only 1 may be specified for the entire configuration.
This is a Java implementation of the "com.dtdsoftware.splunk.transport.Transport" interface.
The transport class must be placed on the java classpath.
If the optional transport declaration is omitted, then the default transport(STD out) will be used.

Refer to the javadoc API in the docs directory for viewing bundled Formatter and Transport implementations or the signature
of the interfaces for creating your own custom implementations.

1 or more "jmxserver" elements can be included in this XML defintion ie: if you need to accesss multiple different jmx sources within the same scheduled execution
Each "jmxserver" element you declare will be run in parallel.

"jmxuser" and "jmxpass" are optional , if not specified, they will be ignored

"host" can be a hostname, dns alias or ip address.

"jmxport" is the JMX server port to connect to.

"protocol"(default is rmi) is the jmx service protocol to use : rmi, iiop and mx4j specific protocols soap, hessian etc..

For more advanced finer grained control over the format of the jmx service URL you can also specify the "stubSource"(default is jndi), "encodedStub" and url "lookupPath"(default is jmxrmi).
Refer to the schema docs for more details.

Or, to facilitate complete user flexibility, you can enter the full jmx service url as a raw string using the "jmxServiceURL" attribute.

This is raw jmx service url in standard format "service:jmx:protocol:sap"

If this attribute is set, it will override any other set connection related attributes("host", "jmxport", "protocol", "stubSource", "encodedStub" and "lookupPath")

You can also attach directly to a locally running JVM process by specifying the Process ID in the "pid" attribute.
In this case, the "host", "jmxport", "jmxuser","jmxpass" attributes will not be used.
The host value will default to the localhost's name.

For more dynamic flexibility,rather than specifying a static Process ID value in the config xml , you can also specfy the name of a PID file that contains the JVM's Process ID.
You set this in the "pidFile" attribute.
Many long running Java processes output the PID value to a file, particularly if using a JVM Service Wrapper such as Tanuki.
Each time the Splunk JMX Poller runs, it will dynamically inspect the value of the PID from this file.
This way, you dont have to alter the config.xml each time you do a JVM restart.

You can also specify the path to a command to execute to output the JVM's PID.
You set this in the "pidCommand" attribute.
This command might be a custom script that looks for the JVM process and extracts the PID to STD OUT.
On Linux you could do this with a simple script that uses ps, grep and awk.

Example : ps -eafH | grep "java" | grep -v "grep" | awk '{print $2}'

Look at the example xml config file in the bin/config directory for usage examples.

Groups of jmxserver's that share that same mbeans can be grouped together in a cluster element,
so that you only have to declare the MBeans/MBean attributes/operations once ie: a cluster of JEE appservers, a cluster
of Hadoop or Cassandra nodes etc...This will be useful for enterprises with very large scale JVM deployments.
MBean inheritance is supported, so you can have mbeans defined that are common to the cluster, and mbeans that are
specific to a cluster member.

At index time the "host" field is extracted and transformed into the SPLUNK internal host value.

"jvmDescription" is just meta data, useful for searching on in SPLUNK where you might have multiple JVM's on the same host

By default, no timestamp is added , instead relying on the SPLUNK index time as the event time.
However you may customise the 3 bundled formatters and configure them to prepend a timestamp if you wish.
See the examples in the default config.xml file

For MBean definitions , standard JMX object name wildcard patterns * and ? are supported for the "domain" and "properties" attributes
http://download.oracle.com/javase/1,5.0/docs/api/javax/management/ObjectName.html

If no values are specified for the "domain" and "properties" attributes , the value will default to the * wildcard

The MBean's canonical objectname will be written out to SPLUNK.

If you would like the components of the MBean canonical objectname broken out into individual fields, then there is a custom formatter available
which you can declare in your config XML file to achieve this :

<formatter className="com.dtdsoftware.splunk.formatter.TokenizedMBeanNameFormatter" />

Single, composite and tabular MBean attributes are supported.

You can set the "dumpAllAttributes" value to true and all of an MBean's attributes will be extracted.

ie: dump all the attributes in the java.lang domain
<mbean domain="java.lang" properties="*" dumpAllAttributes="true"/>

ie: dump all the attributes in all of the cassandra domains
<mbean domain="org.apache.cassandra.*" properties="*" dumpAllAttributes="true" />

Or you can specify each individual attribute you want to extract using the "attribute" element.

For attributes that are multi level ie: composite and tabular attributes , then you can use a ":" delimited notation for specifying the attribute name.
See examples of this in config.xml

MBean operation invocation is supported.
You can declare operations that return a result or not , take arguments or not.
Operation overloading is supported for methods of the same name with different signatures.

The following parameter types are supported :

  • int
  • float
  • double
  • long
  • short
  • byte
  • boolean
  • char
  • string

Internally these get autoboxed into their respective Object counterparts.

See config_operations_example.xml for usage scenarios.

Example output line (default formatter)

host=damien-laptop,jvmDescription="My test JVM",mbean="java.lang:type=Threading",count="47"

SUPPORTED RETURN DATA TYPES FOR OPERATIONS AND ATTRIBUTES

Simple, Composite and Tabular MBean data structures are supported.

The value obtained from the Attribute or as the return type of an Operation can be :

1. Any primitive type(Object wrapped)
2. String
3. Array
4. List
5. Map
6. Set

Collection types will be recursively deeply inspected, so you can have Collections of Collections etc..

JVM "ATTACH" NATIVE LIBRARYS

When connecting directly to local JVM using a process ID, native librarys are used. You shouldn't need to do anything, they are loaded automatically.

Windows : JRE_HOME/bin/attach.dll
Linux : JDK_HOME/jre/lib/i386/libattach.so

NOTE : For some reason the Linux "attach" library is only packaged in the JRE that is part of a JDK install. Weird.

CREATING ADDITIONAL CONFIGURATION FILES

If required, you can easily create more config files to run at different schedules by "cloning"
the script input in Splunk Manager and specifying the name of the new config file as an argument to the poll_jmx script.
The config file should reside in SPLUNK_HOME/etc/apps/SPLUNK4JMX/bin/config

JMX SERVERS

To set up a JMX server for remote access via jvm system properties at startup, see this :
http://download.oracle.com/javase/1.5.0/docs/guide/management/agent.html#remote

MX4J SUPPORT

If you wish to use MX4J as your JMX implementation for remote connectors(rmi and iiop) or use any of the MX4J specific JMX connectors(soap, burlap, hessian, local), then it is simply a matter of using the poll_mx4j_jmx script rather than the standard poll_jmx script.

For more details about MX4J browse here : http://mx4j.sourceforge.net

Note : If using any of the HTTPS connectors(soap+ssl, hessian+ssl, burlap+ssl), the root certification authority must be present in the trusted certificates, normally stored in the "$JAVA_HOME/jre/lib/security/cacerts" file.

ADDING JAVA CLASSES TO THE APPLICATION CLASSPATH

You can dump a jar file in the "SPLUNK_HOME/etc/apps/SPLUNK4JMX/bin/lib/ext" directory and it will be automatically loaded.
Why would you want to do this ? Well perhaps you have created a custom formatter/transport implementation as described above.

ADDING JAVA CLASSES TO THE BOOT CLASSPATH

Any classes that you need prepended to the java bootclasspath should be put in "SPLUNK_HOME/etc/apps/SPLUNK4JMX/bin/lib/boot".
They won't be automatically loaded, you will need to specify each jar in the poll_jmx/poll_mx4j_jmx script.
Why would you want to do this ? Well perhaps you are targeting a JVM with some proprietary JMX logic that requires additional libraries on the JMX client side ie: using the IIOP connector with IBM Websphere products is one such scenario I've encountered.

LOGGING

By default , "error" level log events will be written to SPLUNK_HOME/etc/apps/SPLUNK4JMX/logs
The log file has a max size of 1MB and 1 backup.
If you need to tweak log settings, then the log4j.xml config file resides in jmxpoller.jar
The SPLUNK4JMX app will by default monitor it's own log files and present a "JMX Connectivity" view on the navigation
menu bar showing any errors.

TRANSPORTS

Bundled with the release are transport implementations for :

  • STD out : this is the default
  • TCP : stream events over a TCP socket.You will also need to setup a TCP input in SPLUNK

These 3 transports also use appenders/loggers in log4j.xml to facilitate their functionality
So if using one of these transports, you'll need to uncomment and configure the relevant appender/logger
definition in log4j.xml that resides in jmxpoller.jar

  • Syslog : send events over SYSLOG UDP.You will also need to setup a UDP input in SPLUNK
  • Splunk REST endpoint : stream events over HTTP/REST to Splunk.
  • File : write events to file.You will also need to setup a monitor input in Splunk.

TROUBLESHOOTING

  • check your firewall setup
  • check the correct spelling/case of your MBeans and MBean attribute/operation definitions
  • check your hostname and port
  • check your user and pass
  • check that your JVM remote JMX access is correctly setup , can you connect using JConsole ?
  • check that the SPLUNK_HOME and JAVA_HOME env variables have been correctly setup and exported
  • ensure you have enabled the poll_jmx.sh / poll_jmx.bat script input
  • check your process ID if trying to attach to a local JVM
  • ensure your XML config adheres to the XSD
  • look for errors in the log files or via Splunk search
  • check for JMX connection timeouts
  • check that the MBean server is not adding/removing domains and mbeans whilst you are concurrently polling them

Versions and Release Notes

Version 1.5.3 (current version - updated Apr 15, 2012)
release notes:
++added a configuration parameter(stripPattern) for Formatter declarations in config.xml that allows you to specify a regex pattern, or list of patterns, that if matched will strip the matched text from the raw MBean attribute/operations values++
show older versions »
Version 1.5.2 (updated Mar 19, 2012)
release notes:
++just a tweak to the build, some files were erroneously getting CHMOD'd executable in the tarball++
Version 1.5.1 (updated Mar 19, 2012)
release notes:
++Converted all the demo views to Advanced XML and added in dynamic time,host,jvm selectors++The new Advanced XML views use output generated by the TokenizedMBeanNameQuotesStrippedFormatter, this is the formatter now declared in the example config xml files, the DefaultFormatter is still available if you were using and still want to use that, but won't work with the new Advanced XML demo views++
Version 1.5 (updated Feb 14, 2012)
release notes:
++Refactored core engine so you can plugin both custom Formatters and custom Transports++Bundled STDout(default), Splunk Rest, TCP,Syslog,File Transport implementations++added ability to add parameters to Formatter and Transport declarations++3 bundled Formatters can be customised with various different parameters in the configuration xml file, such as the ability to prepend a date and specify the date format pattern++updated docs
Version 1.4 (updated Jan 31, 2012)
release notes:
Added a setup screen ++ Added a MAX_TIMESTAMP_LOOKAHEAD setting in props.conf to prevent erroneous epoch time rsolutions from non time fields ++ Added links in navigation bar to pdf/html docs
Version 1.3.4 (updated Jan 11, 2012)
release notes:
++minor adjustment to logging, no more daily rolling files , now only keeping 1MB with 1 backup as the JMX logs get indexed by Splunk anyway ++ documentation housekeeping
Version 1.3.3 (updated Nov 15, 2011)
release notes:
+ More robust handling of primitive type arrays + All Formatter implementations now strip out all newlines and tabs from attribute values and replace with single space characters, thus flattening out all possible attribute values into a single line
Version 1.3.2 (updated Sep 22, 2011)
release notes:
+++Added several new demo views, tables, charts...notably, CPU usage per JVM(based on the same algorithm that JConsole uses to derive the JVMs cpu usage), garbage collection, memory pools/memory managers , more thorough OS and Runtime metrics, enhanced connectivity errors page.+++no changes to core engine or config schema, so full backward compatibility maintained
Version 1.3.1 (updated Aug 10, 2011)
release notes:
Tweaked the demo forms and navigation bar >>Added a data input to monitor the splunk4jmx error logs and also added view on the navigation menu that reports on jmx connection errors.
Version 1.3 (updated Jul 18, 2011)
release notes:
Docs updated
Version 1.2.9 (updated Jul 18, 2011)
release notes:
Fixed minor bug in poll_mx4j_jmx.sh script
Version 1.2.8 (updated Jul 17, 2011)
release notes:
Added an optional "Formatter" implementation that rather than outputting the mbean name as a single canonical string, breaks up the mbean name into its constituent parts and outputs as individual fields.In your config XML file you can use this formatter by declaring.....<formatter className="com.dtdsoftware.splunk.formatter.TokenizedMBeanNameFormatter" />
Version 1.2.7 (updated Jul 16, 2011)
release notes:
Added support for discovering and extracting ALL attributes of an MBean.Provides an alternative to having to explicitly declare each attribute you want to extract. ...a few examples.... dump the attributes from every MBean from every domain : <mbean domain="*" properties="*" dumpAllAttributes="true" /> .... dump the attributes from all MBeans in the java.lang domain : <mbean domain="java.lang" properties="*" dumpAllAttributes="true"/> ... dump the attributes from all MBeans in all of the cassandra domains : <mbean domain="org.apache.cassandra.*" properties="*" dumpAllAttributes="true" />
Version 1.2.6 (updated Jul 13, 2011)
release notes:
MX4J support is now implemented, in addition to the standard JSR160 rmi and iiop connectors , there are now MX4J http/https connectors (hessian, burlap and soap). If your target JVM is using MX4J 3.0.2+ as its JMX implementation, then you can use these additional connectors. In my testing, these http connectors all work well for simple attributes. Hessian/Burlap work well with CompositeData attributes, but not so with TabularData attributes Soap seems to have issues with CompositeData and TabularData attributes. I would recommend the hessian connector if using an http based connector. I have also updated the lib layout and scripts to allow easier addition of custom jar files, 3rd party jar files etc... All documentation updated.
Version 1.2.5 (updated Jul 04, 2011)
release notes:
>>Tested against IBM J9 JVMs >>Fixed bug with multiple cluster elements in config xml file >> Tidied up processing of TabularData
Version 1.2.4 (updated Jun 30, 2011)
release notes:
>>>Added more thorough Java Collection type support for Attribute value and Operation return types. >>>Can now deal with Arrays, Lists, Maps, Sets and recursively deeply inspect Collections of Collections.>>>Docs updated.
Version 1.2.3 (updated Jun 27, 2011)
release notes:
Added support for JMX operations , updated documentation.
Version 1.2.3 (updated Jun 27, 2011)
release notes:
Added support for JMX operations , updated documentation.
Version 1.2.2 (updated Jun 25, 2011)
release notes:
Created a PDF User Guide
Version 1.2.1 (updated Jun 19, 2011)
release notes:
Added the notion of a "cluster" of JMX servers to the configuration schema. This will be beneficial when you have many JVMs with the same MBeans ie: JEE App server clusters, large scale deployments of Hadoop/Cassandra nodes on commodity hardware, JVM's across dev/test/qual/prod environments etc.. So the "cluster" element allows you to declare the MBean attributes to extract just once, followed by a list of the JMX servers.Avoids unnecessary repetition and potential bloating of the config file. For direct attachment to a local JVM using the Process ID , you can now also specify a script to execute to obtain the PID. This is specified in the "pidCommand" attribute of the jmxserver. ie: on *Nix a command such as ps -eafH | grep "com.foo.MyMainClass" | grep -v "grep" | awk '{print $2}' could be put in a script and used to output the Process ID of the JVM with main class "com.foo.MyMainClass" to STDOUT Added some more documentation javadoc API for creating a custom Formatter implementation schema documentation for the configuration XML
Version 1.2 (updated Jun 14, 2011)
release notes:
Added XSD and XSD validation for the config XML Tidied up bin/config and bin directorys Changed scripts to take the name of the config file as an argument(set from SPLUNK Manager) , rather than as a variable in the script itself. Adding logging for error level events Added Java API to allow users to create a custom "Formatter" for SYSOUT lines that are fed into SPLUNK indexing Logic to write out host name when connecting to localhost or 127.0.0.1
Version 1.1.2 (updated Jun 10, 2011)
release notes:
Tweaked windows script
Version 1.1.1 (updated Jun 10, 2011)
release notes:
Tweaked packaging
Version 1.1 (updated Jun 10, 2011)
release notes:
1. Added a script to provision running on Windows Operating Systems 2. Added functionality to connect directly to a locally running JVM using the JVM's Process ID or by looking up the Process ID from a PID file. This alleviates the need to remotely enable your JMX server for simple local access. 3. All features tested and working on Windows and Linux , HOTSPOT JVMs.
Version 1.1 (updated Jun 10, 2011)
release notes:
1. Added a script to provision running on Windows Operating Systems 2. Added functionality to connect directly to a locally running JVM using the JVM's Process ID or by looking up the Process ID from a PID file. This alleviates the need to remotely enable your JMX server for simple local access. 3. All features tested and working on Windows and Linux , HOTSPOT JVMs.
Version 1.0.2 (updated Jun 03, 2011)
release notes:
Updating screenshot for splunkbase page
Version 1.0.2 (updated Jun 03, 2011)
release notes:
Updating screenshot for splunkbase page
Version 1.0.1 (updated Jun 03, 2011)
release notes:
Added a screenshot to the release
Version 1.0.1 (updated Jun 03, 2011)
release notes:
Added a screenshot to the release
Version 1.0 (updated Jun 01, 2011)

posted 01 Jun '11, 08:52

Damien%20Dallimore's gravatar image

Damien Dalli...
2.6k27
accept rate: 21%

new version 15 Apr, 22:21


15 Reviews:
4 ratings

12next »

Great App, Thanks. Wondering what the best way is to combine generated properties (i.e. properties service=DataNode,name=DataNodeActivity-worker*) to a single mbean. As it is right now each host has a new mbean for its own jvm (worker1,2,3,etc.)

Thanks again

comments (1)

reviewed 24 Feb, 04:25

smcavoyams's gravatar image

smcavoyams
11
accept rate: 0%

A few different ways to go about this using the stats/chart/tiemchart search functions in Splunk...do you want to combine by "summing" the attributes together or by "listing" the attribute values ?

... mbean="hadoop:service=DataNode,name=DataNodeActivity-worker*" | eval mbean_combined_tag="data_node_workers" | stats sum(field_a) sum(field_b) by mbean_combined_tag,_time

... mbean="hadoop:service=DataNode,name=DataNodeActivity-worker*" | eval mbean_combined_tag="data_node_workers" | stats list(field_a) list(field_b) by mbean_combined_tag,_time

(25 Feb, 15:07) Damien Dalli...

Hi vbo,

I can't seem to reply directly in line to your post, hence this new post.

I had to really scratch my head on this one.I've never seen this before.

Regardless of whether you are polling simple,composite or tabular Mbean attributes or outputs from Mbean operations ,the default formatters in SPLUNK 4 JMX do not output any datetime fields.Instead relying on the index time for the value of the "_time" field in Splunk.

So on a hunch , I took the value heapCommitted="1216348160" , and parsed this as an epoch time:

Java code :

long timestamp = 1216348160; 
Date date = new Date(timestamp*1000);  
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
System.out.println(sdf.format(date));

Output : 2008.07.18 14:29:20

That output time looks pretty darn close to what you are seeing.

So I would suggest that somewhere in your Splunk setup you probably have an index time "time transform" rule that is for whatever reason pattern matching heapCommitted="1216348160"

Damien D.

comments (0)

reviewed 18 Jan, 14:06

Damien%20Dallimore's gravatar image

Damien Dalli...
2.6k27
accept rate: 21%

this is a very useful app, but I have a problem getting the memory data (I only tried the example config.xml) into splunk.

All the memory related attributes are added at 7/18/08 4:29:20.000 AM instead of today. The rest of the data is properly indexed and displayed in the dashboards. The only difference that I can see is that the Memory attributes are composites, so I tried removing all composite attributes and now the index date is correct but I still don't understand why.

this an example of a line that does not get indexed properly (output of poll_jmx.sh): host=myhost,jvmDescription="jonas",mbean="java.lang:type=Memory",heapCommitted="1216348160",nonHeapMax="243269632",nonHeapUsed="137309128",objectsPending="0",heapUsed="563289552",nonHeapCommitted="137723904",nonHeapInit="67272704",heapInit="536870912",heapMax="1216348160"

====> follow up on the reply of Damien (just above this post, I do not know how to reply on a post either...) It seems indeed that the indexer is desperately looking for a timestamp and "1216348160" looks good enough as a date for him! (then the indexer uses the last timestamp it "found" for the following events)

I added MAX_TIMESTAMP_LOOKAHEAD=1 to the [jmx] stanza in props.conf to prevent him from trying to look for any timestamp in the data and now everything works fine! thanks

comments (0)

reviewed 17 Jan, 14:44

vbo's gravatar image

vbo
211
accept rate: 0%

edited 18 Jan, 15:10

Hi rjyetter,

I can't seem to reply directly in line to your post, hence this new post. Are you referring to Splunk as a whole or just the Splunk for JMX app ? I am not familiar with New Relic so I couldn't really offer an objective comparison.

Regards, Damien D.

comments (0)

reviewed 15 Jan, 12:43

Damien%20Dallimore's gravatar image

Damien Dalli...
2.6k27
accept rate: 21%

Great product - we are using it to monitor our top tier applications. How does this compare to something like "New Relic?"

comments (0)

reviewed 11 Jan, 06:55

rjyetter's gravatar image

rjyetter
512
accept rate: 0%

Awesome App - was able to use it to grab stats from Weblogic and provide my dev teams with an great insight into our applications without giving them admin!

Brian

comments (2)

reviewed 04 Nov '11, 05:43

Brian%20Osburn's gravatar image

Brian Osburn
2.8k14
accept rate: 22%

Nice one!!

(04 Nov '11, 16:17) Damien Dalli...

PS : don't forget to vote !

(04 Nov '11, 23:33) Damien Dalli...

Great App! It is working fine, like +1

comments (1)

reviewed 02 Nov '11, 12:54

mkelderm's gravatar image

mkelderm
21
accept rate: 0%

That's what I like to hear :)

(02 Nov '11, 14:30) Damien Dalli...

Certainly.

With Websphere family products(App Server, ExtremeScale Grid...) and Weblogic , SPLUNK for JMX has the flexibility to be easily configured with the proprietary JMX client side jars from these vendors(I can't ship these), any additional command line options and custom JMX Service URLs.

In fact, if you can connect JConsole to WAS and Weblogic, then you should also be able to connect SPLUNK4JMX.

There's a bit of literature online, google "Websphere Jconsole" or "Weblogic Jconsole", useful for figuring out what jars are needed and what the format of the JMX URL should be. I tend to use JConsole or JRockit Mission Control when I am setting up SPLUNK4JMX config files to figure out what attributes and operations I am interested in Splunking.

You can also , at a simple level, declare JVM system propertys to enable remote JMX on the target Websphere/Weblogic app, and "bypass" their proprietary JMX implementation ie:

-Dcom.sun.management.jmxremote.port=34345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

This should give you access to the "java.lang" MBeans (memory, garbage collection, cpu, threading etc...).I used this approach for a customer with a Websphere ExtremeScale deployment, and also the Websphere mbeans were available.

This is actually a question I get quite a bit. In the next release of SPLUNK4JMX I am going to package a "how to" guide for later versions of WAS,Weblogic and JBoss , and also some example SPLUNK4JMX config files.

Most other JVM apps (Tomcat, Cassandra, Solr, Mule, Hadoop MR/Hbase etc...) are very trivial to connect to.

DD.

comments (0)

reviewed 20 Sep '11, 22:39

Damien%20Dallimore's gravatar image

Damien Dalli...
2.6k27
accept rate: 21%

Can this same app be used against Websphere or Weblogic?

comments (0)

reviewed 20 Sep '11, 06:51

dmaislin_splunk's gravatar image

dmaislin_splunk
4685
accept rate: 12%

Asking the audience...would anyone like Jolokia support added in SPLUNK 4 JMX ?

Currently I have not added it because the Jolokia HTTP connector is not a JSR160 implementation and I already have 3 other HTTP connectors(soap, hessian, burlap by way of MX4J) implemented that are JSR160 compliant.

That being said, Jolokia is a very nice JMX adaptor with a few features above and beyond the JSR160 spec...so I'd be happy to consider integrating it if anyone wants it.

DD.

comments (0)

reviewed 24 Jul '11, 15:25

Damien%20Dallimore's gravatar image

Damien Dalli...
2.6k27
accept rate: 21%

Your review

Did you find this app useful?

Preview toggle preview

Copyright © 2005-2012 Splunk, Inc. All rights reserved.