JBoss EAP 6, describing runtime JVM usage - jboss

I may be somewhat blind but cannot find any documentation related to the JBoss EAP 6 admin console JVM monitoring statistics. I am wondering about these:
"Heap Usage" and "Non Heap Usage", and the sub-categories "used, committed, init"

In EAP 6, you can get the JVM Memory details in bytes via cli.
To be specific, try the following command after connecting to your JBoss using CLI:
/core-service=platform-mbean/type=memory/:read-resource(recursive=true,proxies=true,include-runtime=true,include-defaults=true)

This doesn't exist in the admin console afaik. You need to use something like VisualVM, JConsole or a JBoss Monitoring or the CLI to get information about the memory in use.

Related

How can I monitor wildfly version 20 on zabbix 4.0?

I have done everything possible from my end.
OS Linux data is coming from server.
but data of wildfly (i.e heap thread etc.) is not coming.
does anyone have template of wildfly 20?
There are several solutions widely available on the internet
Zabbix-JBoss-Agent
Zabbix_wildfly_eap_jboss_monitoring
WildFly (formerly JBoss) is a Java application and can be monitored with JMX agent
I would strongly recommend upgrading to a newer version of Zabbix, as version 4.0 will become unsupported on October 31, 2021.

Jprofiler and WebSphere 8 Integration Issue

I'm having some issues getting JProfiler connected to a remote WebSphere 8.5.5 instance that is running on Linux. When I start JProfiler on my Windows 10 machine I select the "Profile an application server, locally or remotely" and select the option to integrate with IBM WebSphere 8.x Application Server.
The part I'm having an issue with is the "Specify the remote address" section of setting up the profile. The setup says I need the profiling agent running on target JVM. I download the tar file from the JProfiler website and extract it on Linux machine and run jpenable as it says I should but I get this message.
"No suitable Java Virtual Machine could be found on your system. The version of the JVM must be at least 1.6 and at most 11. Please define INSTALL4J_JAVA_HOME to point to a suitable JVM."
I have made edits to the arguments file that came with the JProfiler in order to remedy this issue but I just can't seem to get JProfiler to see the IBM Java that WebSphere is using on this machine. I have tried using the INSTALL_JAVA_HOME_OVERRIDE variable in the arguments file by putting the full path to the WebSphere Java install. I have tried using the INSTALL4J_JAVA_PREFIX variable and I have created a INSTALL4J_JAVA_HOME variable in the arguments file and put the full path to the WebSphere Java.
Any help would be appreciated greatly appreciated in getting me around this issue. I have verified that WebSphere is using Java version 1.8.0_171.
but I just can't seem to get JProfiler to see the IBM Java that WebSphere is using on this machine.
That's because IBM JVMs are not supported for attach mode.
The setup says I need the profiling agent running on target JVM.
Generally, this is achieved by adding an -agentpath VM parameter to the profiled VM. The remote address that you are asked for in the wizard will be added as an option to that parameter. The wizard will then modify the server config file and add the complete VM parameter, so you don't have to it manually.
More information is available at
https://www.ej-technologies.com/resources/jprofiler/help/doc/main/profiling.html

Using remote Red Hat AMQ 7 with Wildfly 10

We are using Wildfly 10 and we want to use Red Hat AMQ 7 (standalone) remotely. I checked few documentation and found that ActiveMQ Artemis is also inbuilt in Wildfly 10, and I also configured it successfully to send and receive messages.
But as per our requirement, we want to use a remote AMQ broker so that it can be used as a centralized server and will be best suited in our enterprise requirement. Even I also want to understand the exact difference in using the ActiveMQ Artemis embedded in Wildfly and a remote Red Hat AMQ 7 instance, but I could not find enough information about it. If anyone is having any idea about it, please explain it.
I think there are three approaches to implement remote Red Hat AMQ.
Use the embedded ActiveMQ Artemis as a standalone server. I mean if we will install this Wildfly 10 in a separate server and if we can use that only for integration purpose and use the embedded ActiveMQ Artemis to connect with our Java application running on separate servers.
Install Red Hat AMQ 7.x as separate broker and connect it from the java application deployed on Wildfly 10. I checked Red Hat documentation and one point bothered me about this implementation as Red Hat claims "Currently AMQ 7.2 is only supported as a stand-alone broker. It has not be certified with EAP 7.0 or earlier. It is planned to be tested both as the internal broker of EAP 7.1 and as an external broker with EAP.". This is my preferred approach but I am not getting any documentation to implement it even Red Hat also not did it yet.
Install Apache ActiveMQ Artemis 2.x and integrate it from the application deployed in Wildfly 10.
I tried to get this information but as of now there is not much information available on internet for Artemis. It will be a great help if someone can explain the differences with pros and cons in above approaches.
Regard's
Ram

How to install features in JBOSS FUSE?

I am able to check all the features using features:list
I wanted to install certain features in JBOSS Fuse, but the command
features:install camel-blueprint
is not working
I am getting error
Error executing command: The container is managed by fabric, please use fabric:profile-edit --featur
es camel-blueprint/0.0.0 target-profile instead. See fabric:profile-edit --help for more information.
How can install the required features in JBOSS FUSE.
in JBOSSFUSE_HONE/etc/org.apache.karaf.features.cfg file I have entry called featuresBoot and added all the needed features to be loaded in startup
But, the status for all the features are uninstalled.
JBoss Fuse uses profiles (fabric) to define what to install on container, so you edit profiles, and then assign profile(s) to containers.
Frankly its easier to watch a few videos to get more familiar
http://vimeo.com/album/2635012
For example the loan broker video is a good start.
If you do not want to use fabric, then you can install like old-school with manually commands like you do on Apache Karaf. But this requires you NOT to install fabric in JBoss Fuse.
Also there is the Red Hat JBoss Fuse documentation you can dive into (links to documentation from here)
http://www.jboss.org/products/fuse
You can also find more details at the fabric8 project (community project of JBoss Fuse) documentation at:
http://fabric8.io/#/site/book/doc/index.md?chapter=profiles_md
The short answer here is that you have probably already set up this instance of JBoss Fuse / Fuse Fabric to be container managed, via fabric:create.
To "reset" your local installation (be careful! this deletes all containers and related configuration), run this command in cygwin to delete data, instances and lock:
cd /wherever/fabric8-karaf-1.0.0.redhat-412
$ rm -rf data instances lock
Now, when you restart Fuse, you should be able to install features directly.
I have copied the text below from the error messages. It should work.
"please use 'fabric:profile-edit --features camel-blueprint/0.0.0 target-profile'"

How do I make a thread dump in JBoss 4.0.5 on Windows

I'm running JBoss 4.0.5 on Windows 2003 x64 and wonder if there is any way to get a dump of all threads?
It's stared with FireDaemon so I don't have a console windows in which to ctrl-break.
It's running under java 1.5 so jstack won't work.
I tried some program someone had made called sendsignal.exe, which I think actually crashed JBoss (not certain, but not going to try it again), if this was because JBoss runs under win x64 or because it runs as LocalSystem and I only have access to an "ordinary" user I don't know. It actually worked on my laptop, but it's 32-bit and I'm running as the same user as JBoss there.
Someone has any other ideas that might work?
I actually found a better way than what Gowri
suggested (after starting to implementing the jsp).
There is actually a way to dump the threads from the jmx-console in the Server Info MBean, see Generate a thread dump with the JMX Console
You could just write a jsp that does Thread.getAllStackTraces() and print out the stacktracelements in an amenable format. Then hitting the URL of that jsp at any time would give you the stack dump of all threads at that time.