AppFirst Collectors and Warden Containers

Table of Contents:

AppFirst Collectors and Warden Containers

AppFirst now supports Warden container technology, which is used in CloudFoundry. Warden provides a service for managing a collection of containers and defines a protocol for clients to send requests to and receive responses from the server.

Warden containers make use of Linux cgroups. As such, many of the processes executing in a container are isolated from processes running in other containers as well as processes running in the underlying OS, outside of any cgroup context. This creates a scenario where details describing the application components running in the context of a container should be accessed from within the container context as opposed to from outside the container context in the underlying OS. This means that an AppFirst collector should be able to be installed in both the underlying OS and within each Warden container.

AppFirst support of CloudFoundry results in collectors installed using Bosh that provide details of the CloudFoundry system and servers. This install occurs when a CloudFoundry instance deploys servers. No user interaction should be required.

Examples of Installing a Warden Container

The examples offered below describe how to install the collector in a Warden container.

Supported Systems

Example using multiple buildpacks with Warden containers:

  1. Create new directory within /etc:
    • mkdir cf_app
  2. cd into the newly created directory:
    • cd cf_app
  3. Create a tid.conf file with your appropriate TID:
    • echo “XXXX”> tid.conf
    • Where “XXXX” is a tenant ID. Replace this with your AppFirst tenant ID.
    • You can locate your tenant ID from the AppFirst UI by selecting the settings icon in the upper right corner, then selecting “Account”. An “Account ID” will be displayed. This should be used as your tenant ID.
  4. Now create an application, (i.e. PHP project):
    • echo “<?php phpinfo(); ?>” index.php
  5. Create the collector buildpack configuration file, with multiple buildpacks:
  6. Last, deploy the application:

Example using a single AppFirst buildpack:

  1. Create a new directory within /etc:
    • mkdir cf_app
  2. cd into the newly created directory:
    • cd cf_app
  3. Last, deploy the application:
  4. Buildpacks Available

    The following buildpacks are available:

    AppFirst https://github.com/appfirst/cf-buildpack
    Go https://github.com/cloudfoundry/go-buildpack
    Java https://github.com/cloudfoundry/java-buildpack
    Node.js https://github.com/cloudfoundry/nodejs-buildpack
    PHP https://github.com/cloudfoundry/php-buildpack
    Python https://github.com/cloudfoundry/python-buildpack
    Ruby https://github.com/cloudfoundry/ruby-buildpack