Monitoring Oracle WebLogic Servers

This blog is contributed by my friend Luciano Gomes, a VMware Technical Account Manager in Rio de Janeiro Area, Brazil. Thank you, Lucky!

You can monitor Oracle WebLogic Server using vR Ops. This helps you see correlation between Applicatio and Infrastructure. I’ve created 3 custom dashboards to jump start your effort.

First of all, the pre-requisites:

  1. vR Ops Enterprise edition.
  2. Weblogic Solution Installed
    1. Download here and see here how to install
    2. We support WebLogic 10.3 and above. These dashboards were made for 10.3. If you have different version you need to update the metrics files)
  3. EP Ops Agent installed on each WebLogic servers that you want to monitor
    1. See here how to install
  4. Import all Dashboards, Views and re-create all metrics files available here
    1. See here how to import

To import, follow these 3 steps:

  1. Import the dashboards available here
  2. Import the views available here
  3. Recreate the Metrics files, available below (See here how to recreate this metrics files below). The files must have the same name as shown below.

weblogic-admin-server.xml

<?xml version="1.0" encoding="UTF-8"?>
 <AdapterKinds>
 <AdapterKind adapterKindKey="EP Ops Adapter">
 <ResourceKind resourceKindKey="Weblogic Admin 10.3">
 <Metric attrkey="PERFORMANCE|JVMTotalGarbageCollectionTime" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="PERFORMANCE|JVMTotalGarbageCollectionTimeperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="THROUGHPUT|InvalidLoginAttemptsperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="THROUGHPUT|JTAActiveTransactionsperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="THROUGHPUT|JTACommittedTransactionsperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|JMSActiveServers" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|JTASecondsActiveperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|JTASystemTransactionsRolledBackperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|JTATransactionsRolledBackperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|SocketsOpen" label="" unit="" yellow="" orange="" red=""/>
 </ResourceKind>
 </AdapterKind>
 </AdapterKinds>

weblogic-jdbc-connection-pool.xml

<?xml version="1.0" encoding="UTF-8"?>
 <AdapterKinds>
 <AdapterKind adapterKindKey="EP Ops Adapter">
 <ResourceKind resourceKindKey="Weblogic 10.3 JDBC Connection Pool">
 <Metric attrkey="UTILIZATION|ActiveConnections" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|FailurestoReconnectperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|HighActiveConnections" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|LeakedConnectionsperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|MaxConnectionsperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|TotalConnectionsperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="AVAILABILITY|ResourceAvailability" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|ConnectionDelayTime" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|TotalConnections" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|WaitingForConnectionCurrentCount" label="" unit="" yellow="" orange="" red=""/>
 </ResourceKind>
 </AdapterKind>
 </AdapterKinds>

weblogic-jta-resource.xml

<?xml version="1.0" encoding="UTF-8"?>
 <AdapterKinds>
 <AdapterKind adapterKindKey="EP Ops Adapter">
 <ResourceKind resourceKindKey="Weblogic 10.3 JTA Resource">
 <Metric attrkey="AVAILABILITY|ResourceAvailability" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="THROUGHPUT|TransactionHeuristicCommitsperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="THROUGHPUT|TransactionHeuristicHazardTotalperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="THROUGHPUT|TransactionHeuristicMixedTotalperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="THROUGHPUT|TransactionHeuristicRollbacksperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="THROUGHPUT|TransactionHeuristicsTotalperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="THROUGHPUT|TransactionsCommittedperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="THROUGHPUT|TransactionsRolledBackperMinute" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="THROUGHPUT|TransactionsTotal" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="THROUGHPUT|TransactionHeuristicCommits" label="" unit="" yellow="" orange="" red=""/>
 </ResourceKind>
 </AdapterKind>
 </AdapterKinds>

weblogic-webapp.xml

<?xml version="1.0" encoding="UTF-8"?>
 <AdapterKinds>
 <AdapterKind adapterKindKey="EP Ops Adapter">
 <ResourceKind resourceKindKey="Weblogic 10.3 Webapp">
 <Metric attrkey="AVAILABILITY|ResourceAvailability" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|CurrentActiveSessions" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|SessionsCreated" label="" unit="" yellow="" orange="" red=""/>
 <Metric attrkey="UTILIZATION|SessionsCreatedperMinute" label="" unit="" yellow="" orange="" red=""/>
 </ResourceKind>
 </AdapterKind>
 </AdapterKinds>

Once you got them imported, you’ll get the dashboards below. I’ve added some help on the dashboard image.

Weblogic Components Dashboard:

Weblogic Components Menu

Weblogic Overview

Hope you find it useful. Do reach out via Linkedin and Twitter. Thanks for reading!

Operationalize Your World: Lite edition

I travel globally meeting VMware customers. A very popular request among customers is a simple set of dashboards that answer these questions:

  1. Are the VMs served well?
    1. If not, which VMs are affected? By what problems (CPU, RAM, Disk, Network)? How bad?
    2. Is it because of Villain VMs, consuming excessive amount of shared resource? If yes, who are they?
    3. Are the problems spread across clusters, networks, datastores? Or are they isolated to specific part of my IaaS?
    4. How long has the problem been happening? Is there a pattern?
  2. Is my Infrastructure running hot?
    1. This could be a reason why the VMs were not served well.
    2. If yes, which part? I need to see the 4 IaaS elements (CPU, RAM, Disk, Network), and easily spot where the problems are.
      • Blue = 0% = cold. Not used.
      • Red = 100% = hot. Highly utilized
    3. Compute: Which cluster are running hot? Is it CPU or RAM?
      1. Are the cluster balanced? Hosts in the cluster should have similar color.
      2. Are the hosts of equal capacity? The bigger the host, the bigger the box, so I can spot it easily.
      3. Select an ESXi, then click dashboard navigation to drill down into Troubleshoot a Host dashboard.
    4. Storage: Which datastores are running hot?
      1. Hot = busy processing lots of IOPS.
      2. Select a datastore, then click dashboard navigation to drill down into Troubleshoot a Datastore dashboard.
    5. Network: Which LAN or VXLAN carries a lot of traffic?
      1. The bigger the network (no of VMs or ports), the bigger the box.
      2. The higher the traffic, the redder the color.

Using the dashboard best practices covered here, I translated the above into 4 dashboards. I added a simple VM Reclamation dashboard to complete the functionality. The picture below shows the functional relationship among the dashboards.

The result was 5 simple dashboards. It’s a lite version of Operationalize Your World, which has 50 dashboards. As a result, the import step is much simpler. It’s also upgradeable to the full OYW.

Are the VMs served well?

The above shows the present data. It’s suitable for live NOC screen, where you can see from a distance. All you want to see is green! You can customize the threshold, simply edit each widget.

Easy to spot the villain VMs. They are the biggest! If you have a large box occupying a relatively large area, that means you have a VM consuming a large percentage of your shared environment.

The above is not so good to show The Past. Unlike The Present (which has 1 data point), the past has many. For that, we need to use line chart. This is why the next dashboard is required.

Were the VMs served well?

Are my Infra running hot?

Was my Infra running hot?

  • Which clusters had the problem? Is it CPU or RAM? How bad is it?
    • Both max and average lines are shown so you get better idea.
    • If max is high but average is low, no one may complain yet. This is your proactive window!
  • Which datastores had the problem?
    • How bad is the situation?
    • Is the IO stuck in the queue?

What can I easily reclaim?

I focus on powered off VMs and Idle VMs as they are easier than active VMs.

From this dashboard, you can select a VM, then click dashboard navigation to drill down into VM Utilization dashboard.

Implementation

Compare to the Operationalize Your World import step, this is much easier. It does not require preparation, which is time consuming. The strikethrough steps are not required.

  • Plan which clusters & datastores belong to what service tier
  • Create service tier policy
  • Create a Group Type call “VM Types”.
  • Import Groups
  • Import super metrics, using dummy policy
  • Import super metrics. Then enable them on your base policy
  • Enable super metrics on each service-tier policy
  • Create XML interaction, manually
  • Create text widget content, manually
  • Create roles. Assign users to roles
  • Import dashboards & Import views

To get the file, download it from here.

A tool to help dashboard creation

This blog is contributed by my friend Luciano Gomes, a VMware Technical Account Manager in Rio de Janeiro Area, Brazil. Thank you, Lucky!

A quick tip to help you to spend a less time to create your vRealize Operations dashboards. Sometimes when creating a dashboard, you need to understand what metrics are available, the relationship between objects, properties and so on. I created this simple dashboard to help that.

Just import this dashboard and save your precious time! It looks like this:

Hope you find it useful. Do reach out via Linkedin and Twitter. Thanks for reading!