Log Analysis

This is a diagram to represent the Application...
This is a diagram to represent the Application Lifecycle Management (ALM) concepts. (Photo credit: Wikipedia)

Sudama is going to meet an IT Firm‘s Primary Administrator today.   He  will ask the following questions to the Administrator.
Are you protecting the confidentiality, integrity, and availability of log. How do you ensure security of your system? Do you have any mechanism to assist IT Admin team regularly perform effective analysis of log data.

Sudama is already very Old, during his times IT Firms were smaller in every aspect.  He joined at a junior level during his early career.  From their he got into the core of Server Monitoring and Log Analysis.  He  says that today things are complex.

But Modern day IT environments are dynamic and complex, making it difficult to manage the enormous amounts of data coming at your disposal. They come from all your applications, diverse systems and multiple connected networks.

There is always a need to access the log files to know what changes happened to the server status/ Accessing and managing log files is a very challenging and time consuming task, in an IT Enterprise.  Traditionally in such environments, no user other than the Primary IT administrator had the right to total access to any production  systems. Log files are crucial in the application lifecycle management process.
So if any other user wants to access these files then temporary methods for isssuing permission need to be given.

So log management becomes a challenge when other users required access for troubleshooting critical issues. Typically the Dev and QA team require access, for whom log files are a necessity. There are other possible users requiring access to the production and pre-production machines.

Application Lifecycle Management Diagram
Application Lifecycle Management Diagram (Photo credit: Wikipedia)

Server Monitoring

Web Applications in Real Life
Web Applications in Real Life (Photo credit: HubSpot)

Here is Sudama looking into the area of Server Performance Monitoring.
Do you keep a check on your Server Performance Parameters : App Server Monitoring?


What is Server Configuration? Is there any way to know your Configuration in depth!

The picture explains that how wdadmin and GUI ...
The picture explains that how wdadmin and GUI can interact with IBM WebSphere Application Server. (Photo credit: Wikipedia)





Does your Organisation employ some technique so that
1. You bring all Server info at one place
2. You have a tabbed view of the Configuration details.
3.  All your users can view and search all server config details and make right decisions based on the server status without any delay.
4.  You can get  quick details on Server, Machine, Ports, Cluster Config, Web applications, EJB apps, Connection Pools, JMS queues, JMS topics

What is the meaning of Server Config and what are the important parameters your Admin should know?

Know the type and version of the installed server, supported Java platform and its version, server directory, and other directories associated with the servers. It also displays start date of the server
Machine Config
Get the Remote machine details where your server is running. Retrieves info about OS of the machine, available processor count in the machine, host name and host address of the machine
Monitor the available services in a server and the port numbers associated with each service. Ports serve as communication endpoints. Each port is associated with a unique IP address of the host, as well as the type of protocol used for communication.
Cluster Config
 Provides necessary information on cluster configuration and it Helps the user to check if a server is participating in the cluster or not.
 Web Applications
Provides information on web applications running currently. It helps the user to see available web applications in a particular server.
EJB Applications
The EJB Applications tab displays available EJB (Enterprise JavaBean) applications in a particular server.
Connection Pool
The connection pool acts as a reservoir for database connections. They are stored to be reused when future requests to the database are required.  The Connection Pool tab displays the list of connection pools available in the server and its status. 
JMS Queues
The JMS (Java Message Service) Queue is a pipeline that contains messages that have been sent and are waiting to be read.  JMS Queues tab displays available JMS queues in a particular server.
JMS Topics
The JMS (Java Message Service) Topic is a distribution mechanism for publishing messages that are delivered to multiple subscribes. JMS Topics displays available JMS topics in a particular server.

 Can your application get the Thread Dumps the Easier way!
By the way what the heck is Thread Dump ? You should have a simplified method for taking Thread Dumps.

Imagine this situation.
Ever caught up in a situation where the usual means for generating a thread dump does not work, making it difficult to track down irritating deadlock issues.

What to do to get out of the Deadlock ?
 Does your application helps you  by making Thread Dumps available in a centralized console.

Ask yourselves these questions
a) Does your application provides “Thread Dumps” feature
b) Does it  make it easier to take Thread Dumps, bringing the Thread Dump at your disposal without hassle.
c) Does it enables you to save and maintain Thread Dumps for future reference

Get to the Root Cause: Thread Dumps helps user analyze Server Hang Situations and the Root Cause of it.

Why we need a Thread Dump?
When the application server freezes or hangs or becomes sluggish for no apparent reason, Thread dumps will reveal the exact state of your App server

 Server Performance and JNDI Tree Utility!
Your Ideal Server Performance Application shall empower you with details. JNDI feature strengthens the administrators to confirm the deployment (EJB) status, validate JDBC data source, JMS queries, JMS Topics and JMS connection factories.

 JNDI provides a common interface to existing naming services, such as LDAP (Lightweight Directory Access Protocol) and DNS (Domain Name System).
Finding resources is of particular importance in medium to large-scale enterprise environments, where one application built may depend on services provided by applications written by other groups.
A well-designed naming infrastructure makes such projects possible by locating resources.
JNDI allows the components in distributed applications to locate each other.
Clients use the naming service to locate objects by name.

Is viewing the JNDI tree in the servers associated with it possible?
Do you get convenient JNDI view as part of your application’s admin console.?