SCOM 2012 R2 Java APM – Install Ubuntu / Tomcat (Part 1)

Few weeks ago Microsoft released a new management pack for Java Application Performance Monitoring (Java APM). You might are familiar with the .NET Application Performance Monitoring (.NET APM) and now a similar solution is available for Java applications.

What is Java APM?

SCOM Java Application Performance Monitoring (Java APM) allows you to get performance and exceptions events for application servers. In this preview version only Tomcat is supported but there also might be other application server support in the near future. For better understanding of this lab what components we are going to install, I would like to show a brief architecture of the components. Note here in the lower right corner the new Java APM agent, which will deliver the performance and exception data from our applications.

image

According to Microsoft it will be possible to have the following data in SCOM Application Advisor (This is the same Advisor you are using for .NET APM monitoring):

  • Method and Resource timing for Performance Events
  • Stack Traces for Exception Events
  • Java Specific counters for events (JVM Memory, Class Loader etc.)
  • Subset of standard APM Reports are supported

In addition you will be able to be alerted (through monitors) on the following counters:

  • Requests / Second (high threshold)
    When Looking for alerting when requests per second over threshold
  • Requests / Second (low threshold)
    When looking for alerting when requests per second under threshold
  • Performance Events / Second
    When looking for alerting when performance event threshold is crossed
  • Exception Events / Second
    When looking for alerting when exception event rate threshold
  • Average Request Time
    When looking for alerting when average request time is over threshold

Lab Overview

As a first step we are going to deploy a SCOM agent to Linux and then monitor this server with the Linux management pack. As a next step we need to deploy JEE deep application monitoring for Tomcat and if this is in place we need to deploy the new Java APM agent and the Java APM management packs to get Java applications performance and exception data.

Java APM Support Matrix

According to the Java APM MP guide version 7.1.10137  the following systems are supported:

image

There are also certain application types / technologies which will be supported according to some TechEd Europe sessions:

  • GenericServlet
  • Struts
  • Struts2
  • Axis2

Lab setup

For this lab we are going to install Ubuntu 12.04.2 because it is supported by the Java APM management pack and in addition we will use Tomcat 6, which is part of the Ubuntu system. Then we will enable JEE deep monitoring which I had written a blog post last year and the finally we will enable Java APM monitoring.

This blog post series is split into 3 parts:

Part 1 – Install Ubuntu 12.04.2 and Tomcat 6
Part 2 – Configure JEE application deep monitoring
Part 3 – Install and configure Java APM

Prerequisites

For this first part we need the Linux distribution and a VM on Hyper-V:

Installation Ubuntu

Let’s install Ubuntu, therefore attach the Ubuntu ISO file to the VM and start the VM…

50

Select Install Ubuntu Server…

51

Choose Language…

52

Select Country…

53

Use the local settings…

54

Let automatically the keyboard detect, in my case Switzerland :)…

55

Yes, CH is correct for me…

56

And hardware detection starts…

57

Add the FQDN for your server, in my case ubuntu01.bigfirm.com…

58

Add a user name…

59

Add the password…

60

I don’t encrypt the home directory…

61

Yes, time zone is detected correctly…

62

I use the full disk for partitioning…

63

Disk is correct…

64

Partitioning is ok…

65

I don’t have a proxy…

66

No updates, because it is just a lab…

67

Here we are going to add OpenSSH server and Tomcat Java Server. We will need SSH for the SCOM agent to install and Tomcat Java Server will be our application server which we are going to monitor…

image

Yes we are going to install the GRUB boot loader…

69

Whoohoo…now its time to reboot…

70

Login as user01 and install a KDE like desktop first, because we are Windows guys, right :)?

image

Now, you can type startx this will load the desktop…

image

After the desktop has been loaded, open a web browser and navigate to http://localhost:8080 and check that this page appears…

image

Got to the /etc/tomcat6/tomcat-users.xml file and add these roles for managing tomcat…

image

Ubuntu Configuration

Next we need to configure a few things e.g permissions and network settings, which I am going to show in picture and/ or command  form…

1. In Ubuntu the root account is disabled. To enable the account we are going to change the password. Yes I know security and so on…hey it is a lab and it is much easier to test things.

image

2. We need to give root login permission for the desktop, open the file /etc/kde4/kdm/kdmrc and change the setting from false to true..

image

3. Turn off the firewall (because it is a lab :))…

79

4.  Check hostname in /etc/hosts, make sure the FQDN of your server is available…

image

5. Set network settings in /etc/network/interfaces

iface eth0 inet static
address 192.168.0.220
gateway 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
dns-nameservers 192.168.0.45

image

You might need to restart the networking by typing

/etc/init.d/networking restart

6. Check DNS server in /etc/resolv.conf using your favorite method / tool…

image

7. Now reboot the server and add a A and PTR record in your DNS server for ubuntu01.

8. As a last step create a user called monuser and configure the sudo file. How you can do that is described in a previous post here.

Note: It is important to understand that this is just a lab setup and only for testing purposes!

That’s it Linux server and Tomcat 6 are running and now we are ready to monitor in part 2…

3 Comments

  1. Pingback: Recommended: Tutorial for Using Java APM with SCOM 2012 R2 - Random, Happy Dev Thoughts - Site Home - TechNet Blogs

  2. Fantastic post! One thing I noticed when stepping through the instructions in my test environment is that I was not able to view/edit the contents of tomcat-users.xml without a few modifications in Terminal. I had to run

    sudo chmod 777 /etc/tomcat6/tomcat-users.xml
    and
    sudo vim /etc/tomcat6/tomcat-users.xml

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s