In Part 1 of this series, we discussed installing a Unix system in Hyper-V (see http://cameronfuller.spaces.live.com/blog/cns!A231E4EB0417CB76!1273.entry). In this article, we will take our Unix system and integrate it into Operations Manager using Cross-Plat (X-Plat) functionality. Our ultimate goal is to provide an environment with Microsoft virtualization technologies on 64-bit UNIX platforms, which we can then monitor using Operations Manager 2007.
Historically, OpsMgr 2007 has relied upon third party vendors to provide monitoring for non-Microsoft Operating Systems. With the addition of X-Plat, Microsoft can now provide out-of-the-box monitoring for a number of Unix-based Operating Systems. For information about the X-Plat announcement, see Kerrie’s write-up at http://www.networkworld.com/community/node/27354. To summarize that article, the Microsoft-provided agent running on the Unix system is open source, and integrates seamlessly with the Operations Manager 2007 environment. The X-Plat extensions are currently available at Microsoft’s Connect beta site (http://connect.microsoft.com).
It is extremely important to note that all the software discussed here currently is NOT production-released code. These are RC and Beta versions of software only. Please do NOT install this configuration in a production environment, as it will not be supported software. This article is specifically an example of evaluating some of the potential upcoming functionality.
As background, we currently have a host system running Windows Server 2008 with Hyper-V. This environment includes a domain controller and OpsMgr server (RMS) along with a Unix (SLES 10.2, 64-bit) server.
Step 1: X-Plat download and Install
After downloading the X-Plat extensions from the Connect site and installing the X-Plat software (SetupSCX.msi), next step is to add the management pack(s) for X-Plat as shown below. As this was a test environment, we added all the Unix-related management packs, as shown in the following two screenshots:
Step 2: RunAs Accounts and RunAs Profiles
For details on how to configure the RunAs accounts and profiles, see the "Configuration of Run As Accounts and Run As Profiles" section in the SCX-PlatSetupGuide.doc. This document is part of the X-Plat (OpsMgr2007-CrossPlatform-Beta.zip) download on the Connect site.
Step 3: X-Plat Agent Deployment Debugging
With the management packs successfully installed, the next step is to install the agent on the Unix system. You can push agents with the Operations console in the Monitoring space. Navigate to the Monitoring -> Cross Platform Servers -> Overview section, as displayed below:
Starting the Wizard brings up a welcome screen that explains the function of the wizard.
The wizard begins with discovering the remote system. We can discover the system in several ways:
- IP address
- DNS name (as used in this example)
- address range
Information required by the wizard includes
- Providing credentials for the user name to deploy the agent
- Specifying if the account is a superuser account
- Providing the port number the Unix system has for SSH (port 22 by default)
In the screenshot below, we deployed the agent by its fully qualified name, specifying a full privilege account created on the Unix system, and using the default port of 22 to connect for SSH (which is used to deploy the agent to the Unix system).
The next screen shows the computers we will discover and deploy an agent to, and the configuration for those systems (this consists of the scope of the discovery, the SSH port, and the credentials to use). In this case we have specified a scope of 192.168.1.84, port 22, and credentials of Administrator.
The screen below indicates a successful discovery where the system was discovered, and then the attempt to deploy the agent. This is when our first issue was encountered: the agent failed to deploy to the Unix system.
Because the agent did not deploy, it was time to troubleshoot.
To troubleshoot, we tested connectivity from the OpsMgr server to the Unix server. The connectivity test used a telnet from the OpsMgr server to the IP address of the Unix system. The telnet failed; we then determined it was necessary to hard-code the name of the Unix system in DNS and/or the host file, and also shut down the firewall on the Unix system to enable port 22 to allow the SSH connection. We used the the YaST Control Center’s Firewall Configuration panel to make these changes. The firewall was turned off, as shown below. Our changes enabled connectivity from the OpsMgr server to the Unix server on port 22 using the Unix server name.
After resolving the communication issues to the name/port of the Unix system, it was now time to deploy the agent. This required rerunning the wizard to complete discovery and start the deployment.
We thought we were in good shape, but this actually led to our next hiccup. In Part 1 of this series, we used a SLES 10.2 x64 system. This is NOT currently a supported platform. That “little” Oops hit at this point. OOPS!
After getting this far, the system could not actually be managed with OpsMgr, until Barry Shilmover of Microsoft gave us a good hint: A manual installation might work well in this situation.
Step 4: X-Plat Manual Agent Deployment
Our next step was to try manually installing the agent on the Unix system. Transferring data between these virtual machines was not simple! (See http://cameronfuller.spaces.live.com/blog/cns!A231E4EB0417CB76!1264.entry for reference.) The easiest approach was installing FTP on the OpsMgr server and placing the X-Plat installation file in the FTP site. For this system, the SLES 10.1 x86 version of the software was transferred to install, as shown in the next three screenshots (the agent installation was part of the UnixAgents.zip file).
After completing installation on the Unix system, we re-ran discovery on the OpsMgr server – which now could successfully start monitoring the Unix system, even though it was on an unsupported platform!
Step 5: X-Plat Integration with the Health Explorer
After our initial discovery of the system, the pieces of Health Explorer actually populated were rather limited. These included the Availability/Unix Heartbeat Monitor, and the Configuration pieces.
After a little while, additional sections started appearing (these are highlighted below in Red). The Operating System Availability Rollup and each of the core services were added, and the Performance counters started gathering data as well.
A while later, additional Health Explorer items started appearing. These included the Hardware Availability Rollup and the Hardware Performance Rollup sections, outlined in Red below.
One of the coolest parts of the X-Plat story is how seamlessly it integrates with OpsMgr 2007. The look and feel of the functionality is designed to look very similar to Windows Operating System monitoring. Some good examples of this include:
Performance / Logical Disk:
Performance / Memory Utilization:
Operating System Performance:
SUSE Diagram View:
If someone said earlier that this year we would be able to run a Unix x64 system within a Microsoft Virtualization environment and to use all Microsoft code to monitor it in Operations Manager 2007, it would have been laughable. However, it is working, and very close on the radar to being a publicly available solution!
A few good lessons learned while doing this process:
- Use the full documentation available as part of the Cross-Plat documentation, including the SCX-PlatSetupGuide.doc, and the Integration_Components_for_Linux_Read_Me.docx file.
- Prior to trying to discover or deploy OpsMgr agents to the Unix systems, do a test telnet to the fully qualified name of the system using port 22. If the name does not resolve, either add a DNS entry and/or a host file entry for the fully qualified name of the system. Also, turn off the firewall on the Unix system as it is enabled by default.
- Download a supported version of the Unix Operating System by verifying them with the documentation on both X-Plat and Hyper-V. At this point in time, the OS/version compatible with both products is SLES 10.1 x86.
- Manual agent installation may work for platforms that are not officially supported. After installing those agents, they can be viewed within OpsMgr.
UPDATE: Ian Blyth wrote up a great article on CrossPlat, which is available at http://ianblythmanagement.wordpress.com/2008/06/24/xplat-part-2-the-install/.