2014-09-05

In the current software development world, deployment automation and cloud monitoring are pushing all of us to use tools like RPM, deb, MSI, Homebrew, Chef, and Puppet for deployment and solutions like Hyperic and New Relic for monitoring.

With this in mind, Pivotal provides packaging that streamlines the development, deployment, and scale of modern applications across public and private infrastructure. In this blog post, we highlight these specific offerings that facilitate middleware deployment and monitoring. Pivotal’s packaging engineering team has created OS-native install packages for the most popular operating systems as well as the leading provisioning automation platforms.

In this blog post, we cover deployment and monitoring of Pivotal App Suite’s Commercial and OSS middleware products on most popular OS platforms so that anyone can use familiar methods to quickly and accurately install and configure components of the Pivotal App Suite. The following commercial and open source projects are covered:

Commercial Products

Pivotal tc Server – with Spring Insight, Gemfire Session, and Hibernate caching

Pivotal RabbitMQ – includes the JMS client

Pivotal Web Server – includes the APR connector for Tomcat & tc Server

Open Source Projects

Redis

RabbitMQ

Spring XD

About the Pivotal App Suite Installers

Pivotal App Suite commercial products are available in many binary formats and supported on every major production and developer platform. The Pivotal engineering team has made installation a priority—making the experience lightweight and convenient for our customers and partners.

In most cases, you can install and get Pivotal App Suite products running with couple of commands. Pivotal provides public YUM and APT repositories for easy installation of Pivotal App Suite products on popular Linux platforms (RHEL, CentOS, and Ubuntu), Windows MSI installers for Windows server and desktop platforms, and a Homebrew tap for Mac OSX.

Installers

RHEL/CentOS

For RHEL and CentOS platforms, Pivotal App Suite products are available in RPM binaries and can be downloaded and installed manually from the Pivotal Network. But the recommended way is to use Pivotal’s yum repository to install on command line and automate upgrades. If you use Puppet or Chef there’s even better way to manage installation. Later we will also show you where to access our Puppet modules and Chef cookbooks.

To configure Pivotal’s yum repository as user root:
wget -q -O - packages.pivotal.io | sh

To configure Pivotal yum repository as an unprivileged user using sudo:
wget -q -O - packages.pivotal.io | sudo sh

Once you have the repository configured you can search and install Pivotal App Suite products:
yum search pivotal

sudo yum install pivotal-tc-server-standard

sudo yum install pivotal-web-server

sudo yum install pivotal-rabbitmq-server

sudo yum install pivotal-redis

sudo yum install spring-xd

Service scripts are provided and registered with chkconfig. By default the services will not start at boot. To change this behavior use chkconfig such as this:
chkconfig --level 35 rabbitmq-server on

This example configures rabbitmq-server to start on runlevels 3 and 5.

Pivotal App Suite products are installed under /opt/pivotal and processes run under unprivileged users which all use the pivotal group. Pivotal tc Server Standard and Pivotal Web Server require instances to be configured. For documentation on how to create instances and for specifics on other packages see these links:

Pivotal tc Server Standard

Pivotal Web Server

RabbitMQ

Redis

Spring XD

Debian/Ubuntu

Add Pivotal APT repository as user root:
wget -q -O - packages.pivotal.io | sh

Add Pivotal APT repository as an unprivileged user using sudo:
wget -q -O - packages.pivotal.io | sudo sh

Search and install Pivotal App Suite products
apt-cache search pivotal

sudo apt-get install pivotal-tc-server-standard

sudo apt-get install pivotal-web-server

sudo apt-get install rabbitmq-server

sudo apt-get install pivotal-redis

Service scripts are provided. Only rabbitmq-server starts automatically upon installation. Pivotal-tc-server-standard and pivotal-webserver require instances to be created prior to configuring startup runlevels. To enable startup upon boot use update-rc.d such as this:
update-rc.d pivotal-redis-6379 defaults

This example configures the default pivotal-redis instance to start on runlevels 2-5. Pivotal App Suite products are installed under /opt/pivotal and processes run under unprivileged users which all use the pivotal group.

For documentation specific to these packages see these links:

Pivotal tcServer Standard

Pivotal Web Server

RabbitMQ

Redis

Mac OSX

Assuming you have already installed Homebrew, add Pivotal’s homebrew tap.
brew tap pivotal/tap

Install Pivotal App Suite Products and more
brew install tcserver

brew install rabbitmq

brew install redis

brew install springxd

brew install springboot

brew install gemfire

Additional information for Pivotal’s Homebrew tap is available at https://github.com/pivotal/homebrew-tap.

Windows

For Windows we provide MSI package file formats for tc Server, Web Server and RabbitMQ. Windows installers can be downloaded from Pivotal Network.

Configuration and Deployment Management

For users already familiar with DevOps tools we have open sourced Puppet modules and Chef cookbooks for configuration and management of Pivotal App Suite. Both Chef and Puppet help automate software configuration and deployment for single or thousands of nodes. The starter scripts for both DevOps tools can help you automate the deployment and management of Pivotal App Suite products quickly.

Puppet

Pivotal App Suite products can be deployed and managed using Puppet. Modules for Pivotal App Suite products are available under following Github repository. Modules make use of Pivotal’s yum and apt-get repositories so you won’t have to search for App Suite binaries or download and install them manually.

https://github.com/pivotal/app-manage/tree/master/puppet

Chef

Pivotal App Suite products can be deployed and managed using Chef. Cookbooks for Pivotal App Suite products are available under following Github repository. The repo is organized by product name. Each product folder had a README file describing how to use the cookbook and the actions it provide. Similar to Puppet modules, cookbooks are tied to Pivotals yum and apt-get repositories so you won’t have to search for App Suite binaries or download and install them manually.

https://github.com/pivotal/app-manage/tree/master/chef-repo

Monitoring

Pivotal App Suite products expose extensive monitoring metrics through JMX, BMX and HTTP API interface. These metrics can be viewed via native UI plugins or external monitoring systems such as Hyperic and NewRelic.

Hyperic

VMware vCenter Hyperic monitors operating systems, middleware, and applications running in physical, virtual and cloud environments. Pivotal App Suite Products have Hyperic Agent plugins to monitor health of the product. Hyperic provides a single console with powerful dashboards from which you can easily check the health of your applications and underlying infrastructure. Plugins for tc Server, Web Server and RabbitMQ Server are distributed with Hyperic Server.

Pivotal tc Server

VMware vCenter Hyperic can manage the lifecycle of tc Runtime instances by starting, stopping, and restarting local or remote instances. In addition to health metrics Pivotal tc Server includes a full set of diagnostic features that make it easy to troubleshoot problems with tc Runtime instances and the applications that you deploy to them. For each diagnostic feature, the tc Server Hyperic plug-in has one or more corresponding preconfigured alerts.

Additional details on monitoring configuration and metrics are available at:

http://tcserver.docs.pivotal.io/doc/30/index.html#getting-started/src/tuthyperic.html

Pivotal Web Server

BMX is an Apache HTTPD framework that provides internal runtime information (performance metrics, status, configuration, and current capacity) that is consumed by Pivotal Hyperic Agent. The agent monitor the health of Pivotal Web Server instances by running BMX queries to gather metrics and configuration information.

Additional details on monitoring configuration and metrics are available at:

http://webserver.docs.pivotal.io/doc/60/index.html#web-server/src/config.html

Pivotal RabbitMQ Server

The rabbitmq-management plugin provides an HTTP-based API for management and monitoring of your Pivotal RabbitMQ server. Hyperic’s RabbitMQ plugin manages RabbitMQ brokers, the virtual hosts within a broker, and RabbitMQ exchanges, queues, connections, and channels. The plugin can discover and manage multiple RabbitMQ nodes on the same platform as the Hyperic Agent.

http://pubs.vmware.com/hyperic-58/topic/com.vmware.hyperic.resource.configuration.metrics.doc/GUID-B0E86A1F-90FE-4C64-86AD-F1610E6012D3.html

New Relic

New Relic provides real-time monitoring of Web applications on-premises or in the cloud. The NewRelic plugins provided by Pivotal gather metric data for App Suite products and display them in your New Relic dashboard. The plugins are available in a public GitHub repository located at https://github.com/gopivotal/newrelic_pivotal_agent. See the provided README for any usage notes. Monitoring for tc Server is available via NewRelic Java agent.

Show more