Monitoring Carbon Products
Monitoring Carbon Products
Monitoring Carbon Products
WSO2 Training
Module 05 - Monitoring Carbon Products
Alternatives to Monitoring Carbon
WSO2 Analytics
Log Files
Carbon Metrics
Carbon Dump
TCPMon
Memory and processing power usage information describe how memory and
resources are allocated among the processes.
Java Thread information can be used to identify the active threads at particular
point in time and what each thread is involved with.
These information is specifically useful when troubleshooting load related
issues.
Tools that comply with Java Management Extensions (JMX) specification are
commonly used in monitoring these information.
Another crucial factor is monitoring the errors logs on server logs, backend
servers and on the client side.These logs help troubleshooting and isolating
issues to a great extent.
WSO2 SP contains Siddhi as its core to collect, analyze and act on the incoming
events.
https://docs.wso2.com/display/SP440/Architecture
Logging
https://docs.wso2.com/display/admin44x/Monitoring+Logs
Logging is one the most important and commonly used monitoring tool of a
production server.
Logging enables identifying errors, security threads and usage
patterns.WSO2 products use a log4j based logging mechanism based on the
Apache Common Logging facade library.
Using these logs you can monitor server activities ,wire logs pertaining to
incoming and outgoing messages of the server, HTTP access logs , and stack
traces of various errors that occur during server runtime.
These logs are very helpful in debugging and isolating issues and identifying
their root causes.
In addition to the above the log mediator can be engaged to monitor and log
messages mediated within sequences.
Using Log Files
CARBON_HOME/repository/logs
https://docs.wso2.com/display/admin44x/Monitoring+Logs
https://docs.wso2.com/display/ADMIN44x/JMX-Based+Monitoring
You can connect to JMX clients by using the JMXServerManager JMX Service URL of
the Carbon server.
Monitoring Using JMX
https://docs.wso2.com/display/ADMIN44x/JMX-Based+Monitoring
The slide shows how memory usage, thread, classes and CPU usage graphs are
depicted on Jconsole.
You can monitor these information real-time.
Monitoring Using JMX
https://docs.wso2.com/display/ADMIN44x/JMX-Based+Monitoring
MBeans tab lists and allows to monitor and manage the server's Mbeans.
All the platform MXBeans and their various operations and attributes are
accessible via JConsole's MBeans tab.
Monitoring Using JMX
https://docs.wso2.com/display/ADMIN44x/JMX-Based+Monitoring
The tree on the left panel contains currently running MBeans. You can view
the MBeanInfo and MBean Descriptor, any attributes, operations or
notifications of a select MBean via this.
Carbon Metrics
https://docs.wso2.com/display/ADMIN44x/Monitoring+with+WSO2+Carbon+Metrics
WSO2 products based on Carbon 4.4.x Kernel versions are shipped with JVM
Metrics which is a form of Java Metrics.
The Java Metrics library contains metrics that are used for monitoring, thereby
allowing monitoring of statistics related to performance of Carbon Servers.
These are exposed via the WSO2 Carbon Metrics API in WSO2 products.
Carbon Dump
https://docs.wso2.com/display/ADMIN44x/Capturing+System+Data+in+Error+Situations
Carbondump is a tool that can be used to collect data from a carbon instance
at runtime during the occurrence of an error.
This tool captures operating system information such as installed modules and
running tasks, Memory information related to the Java process such as Objects
waiting for finalization, Java heap summary, Garbage collection algorithms
used, Carbon sitnance information such as log files, Database files, Thread
Dumps and checksum values of files contained in the $Cabon_home.
These information help analyze the server to determine root causes of issues.
You can run this tool by providing the process ID of the running Carbon
instance as given on the slide.
TCPMon Monitoring
8081 80
Client TCPMon
Server
https://docs.wso2.com/display/ADMIN44x/Monitoring+TCP-Based+Messages
You can see 2 connections in the diagram in between client and server.
1. Request from client to Server.
2. Response from Server to client.
The request happens between the client and Port 80 of the server.
When TCPMon is placed in between the client and server, it intercepts the call
by listening to the request at port 8081 and captures the request.
Then then this request is forwarded to the port 80 of the server.
The response coming from the backend server is captured by TCPMon at port
8081 and forwarded back to the client.
Other Third-Party Tools
● Nagios
● Dynatrace
● AppDynamics
● Prometheus
https://medium.com/@dilanasanga/monitor-wso2-apps-jvm-usage-with-nagi
os-c12f748aa70c
https://medium.com/@godwinamila/configure-dynatrace-jmx-plugin-to-collect-stats-fro
m-wso2-products-27b3f267b706
https://medium.com/@thejanrupasinghe/wso2-enterprise-integrator-performa
nce-monitoring-with-appdynamics-141c5d65fd88
https://medium.com/@wso2tech/monitor-wso2-products-using-appdynamics-8faf72e8
3a7
https://medium.com/@lashan/monitoring-wso2-products-with-prometheus-4ace34759
901
THANK YOU
wso2.com