Partner Integrations

AppFirst has partnered with the following companies. Click on a name to view the integration instructions.

Engine Yard

If you are an Engine Yard user, you have the ability to activate AppFirst in the add-on marketplace. Through our partnership, AppFirst is already running on every Engine Yard instance (that means yours!). Activating AppFirst in your environment is a quick and easy process (don’t get intimidated by all the steps, we’re just thorough at AppFirst).

Step 1

From cloud.engineyard.com, go to the Engine Yard Cloud Add-ons. Once you’re there, click on the AppFirst logo.

1

Step 2

You will then be taken to the Activation page. Here you can see the details and pricing for the for AppFirst Add-on. Click the “Set it up” button under the logo to continue.

2

Step 3

A new window will open that will prompt you to enter an email address, customer name, and password. These should be the same as your Engine Yard credentials.

3

Step 4

After signing up, you’ll be asked to activate AppFirst on an application (environment). Select your chosen environment from the drop down menu and select “Activate.”

You can activate or deactivate multiple applications (environments) here.

4

Step 5

Once you’ve added an application (environment), click on the name of the of the application (environment) to get to the next screen.

For the examples below, we click on the text “Test (9aws_64-6).”

5

Step 6

You will then be taken to the Environment page. Here you can see the settings and alerts for this Environment.

By clicking “Apply,” you save any configuration change you may have made and you finish setting up this environment.

6

*Note: After you click “Apply” it will take a moment for the environment to set up and any changes to set.
During this time a progress bar will appear to the left of the environment name. Wait until the bar changes to a green light to continue.

Screen Shot 2013-01-07 at 2.37.50 PM————–>Screen Shot 2013-01-07 at 2.38.07 PM

Step 7

After you setup your Environment, go back to the Add-on marketplace.

7

Step 8

Once enabled, you will see an “Enabled” banner along the upper right corner. Click on the AppFirst logo to continue.

Step 9

Now you will be on the Activation page again. To get to AppFirst and see your data, click “AppFirst Dashboard” in the upper right.

8

Step 10

A new window will open to the AppFirst Workbench. Here you can start exploring the different areas of the product and see your data.

Browse through the rest of our documentation to learn more about the AppFirst product.

9

New Relic

As a New Relic user, you can integrate all of your data into AppFirst. Data you’re able to integrate some of your New Relic data into the AppFirst Dashboard.

How the Integration Works

To get New Relic data into AppFirst, we developed a module called Poll-aroid (you can learn more about Poll-aroid in our GitHub page).

Setting up the integration using AppFirst’s Poll-aroid

The following is a walkthrough for using Poll-aroid to collect data from New Relic for inclusion into the AppFirst backend. For more information on Poll-aroid, check out our GitHub page.

Finding Metrics in New Relic

First, collect the following information from your New Relic Account:

  • API Key
  • Application ID
  • Metric Name

For the API Key, you must enable API Access in your New Relic account. You can do this by selecting Account settings from the menu on the top right of your New Relic account.

1

Then navigate to Integrations – Data sharing, where you can create an API key for API access:

2

Once you have the API key, you need to use New Relic’s API explorer to find the metrics you want to collect. The API explorer is at https://rpm.newrelic.com/api/explore/. Once you’ve selected your account from the top right, you should see the full API list on the left of the window:

3

If you don’t see the Metric Names and Metric Data listings, you either don’t have the account selected, or are using a Lite account, which doesn’t support API data.

If you select the Metric Names option, you will be presented with the parameters page:

4

This is the first place to build your API query. This requires the use of your API key previously generated, and the application_id of the application you want metrics from. You can retrieve this value from the URL in your application:

5

The application ID in this example is 3088471.
Once you’ve entered this data and send the request, the page will update with a JSON formatted response:

6

The name field is the Metric name we’ll be using with Poll-aroid to bring the data into the AppFirst data stream. Once collected, you can then integrate this data with Poll-aroid.

Using Poll-aroid

AppFirst’s Poll-aroid can be downloaded from our GitHub account at http://github.com/appfirst/poll-aroid. You can clone this directly onto the system conducting the polling.

7

We’ve provided some basic shell scripts to assist with the setup and execution of poll-aroid commands. For full command line options, running the AfPoller.py with -h (or –help), will provide a list of accepted options.

An example of collecting the Apdex score from New Relic:
AfPoller.py --plugin=newrelic --newrelic-access-key-id= --newrelic-access-app-id=3088471 -m Apdex -a Magento

This will query New Relic Application ID 3088471 and request the Apdex metric name. The -a option specifies the application name for our StatsD bucket. The New Relic API explorer returns the following for Apdex:

8

When the command is run, Poll-aroid will retrieve this data from New Relic’s API and feed it into the AppFirst data stream. The StatsD bucket will then contain the following:
Magento.Apdex.s
Magento.Apdex.t
Magento.Apdex.f
Magento.Apdex.count
Magento.Apdex.score
Magento.Apdex.value
Magento.Apdex.threshold
Magento.Apdex.threshold_min

After you’ve tested the command, we recommend using the check_newrelic.sh script to protect your API key. The last step is scheduling Poll-aroid to run.

Running Poll-aroid

Navigate to Admin – Setup on click on the “Polled Data” tab. Then click the server to add the script for Poll-aroid. In the Polled Data Config File, and add the script below. Then click Save.

# Retrieve Apdex Score from New Relic
command[NR_Apdex]=/usr/share/appfirst/plugins/libexec/check_newrelic.sh

9

Now the check_newrelic.sh script will run and collect the Apdex score. You can then view this information in AppFirst using the StatsD name.

Viewing New Relic Data in the Dashboard

To view New Relic data in your Dashboard, you can use the StatsD widget. Select the metric you’d like to view as well as any other configurations, then click Save.

10

Viewing New Relic Data in Correlate

In Correlate, your New Relic data is listed under StatsD. You can search for it by typing “NewRelic” into the search bar. The metric will show up and include the New Relic account number you’ve used to connect with.

*Note: For each tenant, it’s possible to set up multiple New Relic accounts. The account name is used as part of the StatsD names.

Alerting on New Relic Metrics

You can also set up alerts on any of your New Relic metrics. Head to Admin – Setup and click on the Alerts tab. Choose StatsD as the Source Type, and then select the New Relic metric you’d like to alert on from the list of StatsD metrics. Choose the recipients for the alert, then click save.

11

PagerDuty

AppFirst integrates with PagerDuty to provide you with more enhanced alerting capabilities. That means you get AppFirst’s robust alerting features and PagerDuty’s notification, on-call, and escalation solution, combined into a complete alert management solution.

Integration

Create PagerDuty & AppFirst accounts if you haven’t already.

PagerDuty Configuration Steps

There are steps that need to be completed in PagerDuty in order to integrate AppFirst alerts. In general, users must:

  • Create a PagerDuty API key
  • Create one or more PagerDuty services that AppFirst alerts will be routed to

Create a PagerDuty API Key

In PagerDuty, navigate to the ‘API Access’ page. Enter a description for a new API key and click ‘Create Key.’ The new API key should now be listed in the table of API access keys.

12

Create a PagerDuty Service

In PagerDuty, navigate to the ‘Services’ page and click ‘Add New Service.’

13

Select ‘Generic API system’ and click the ‘Add service’ button.

14

AppFirst Configuration Steps

With PagerDuty configuration completed, it’s time to configure AppFirst.

Add PagerDuty in AppFirst

Navigate to Admin and click where it says “Admin Market” with a dotted line around where a widget would be.

15

This takes you into our Admin Market where you can configure all of our partner integrations. Click the “Add” button in the PagerDuty widget. A popup will display asking you to input your Account ID, API Key, and an optional Account Name.

  • Note: Your Account ID is the first part of your PagerDuty subdomain, e.g. CompanyName of CompanyName.PagerDuty.com

Once you add your API Key, you should see a green check which verifies your API Key. Click OK to finish the setup. A PagerDuty widget will now display in your Admin page.

16

Viewing PagerDuty Services

To view your PagerDuty services, navigate to Admin – Setup. Then click on the Alerts tab, and then the Services tab. All of your PagerDuty Services should be listed there.

17

Configuring AppFirst Alerts with PagerDuty Services

Whether you’re creating a new alert or editing a current one, you can configure the alert to send to PagerDuty. Once you have the alert set up and selected at least one recipient, click on the Services tab to enable that alert to be sent to that Service. Finish up by clicking the Save button.

18

View AppFirst Alerts in PagerDuty

Alerts from AppFirst will now be displayed in the PagerDuty dashboard. Alerts will be continue to be sent according to your PagerDuty settings.

19

Viewing Resolved Alerts

If the AppFirst alert condition is no longer being met or if the alert is manually resolved through the AppFirst Alerts page PagerDuty will automatically be notified of the resolution.

AppDynamics

How the Integration Works

To get AppDynamics data into AppFirst, we developed a module called Poll-aroid (you can learn more about Poll-aroid in our GitHub page).

AppDynamics Configuration Steps

Account Information

From AppDynamics, the following information should be gathered from your account:

  • Controller Name (Url)
  • Account Name
  • User Name
  • Account Access Key/Password

An example of this account information is shown below:

20

AppDynamics Metrics

Next, get the metric path names for each metric that will be collected in the AppFirst product. This can be accomplished using the “metric browser” which lists a tree of all metrics available for an application instance.

Using the metric browser, use either “Copy Full Path” or “Copy REST URL.” For this example, we’ll copy the Full Path. Ensure you also take note of the Application – for example, “TreehouseTest” in our example screenshot.

21

Also note, with the Metric option, you can specify an asterisk to grab all metrics available in the metric tree as listed in the AppDynamics browser.

Alternatively, a check_appdynamics.sh script is provided.

Setting up the Integration using Poll-aroid

Once the AppDynamics metrics have been chosen, it’s time to finish the AppFirst configuration. This includes installing the AppDynamics package, configuring metrics to be collected, and creating dashboards or correlated views.

Package Installation

Start by installing the AppDynamics plugin to the system where the AppFirst collector is running. This can be done either through AppFirst’s GitHub, or from the package downloaded from the AppDynamics Exchange. This package has been cloned to the repo directory /usr/share/appfirst/plugins/libexec, which is the default storage location for AppFirst.

git clone https://github.com/appfirst/poll-aroid/

The following supporting python modules should also be installed:

  • requests
  • afstatsd

Python for Linux

In order to install Python modules, from the Linux command line, utilize your favorite python package manager. For example, PIP:

sudo pip install requests
sudo pip install afstatsd

Python for Windows

For Windows, ActiveState Python supplies PyPM. Run the PyPM terminal, and use the command:

pypm install requests

For AFStatsD on Windows, you’ll need to download our Windows extended collector at:
https://github.com/appfirst/statsd_clients/tree/stable/python/AFStatsd.

Once downloaded, from the command line run:

python setup.py install

Configuration of AppDynamics Metrics

It’s time to build the script execution and add the AppDynamics metrics to the AppFirst configuration.

For AppDynamics the options are:

Usage: AfPoller.py – AppFirst Poller for AppDynamics

Options:
-h, –help –> show this help message and exit
-P PLUGIN, –plugin=PLUGIN –> [REQUIRED] Name of plug in appdynamics
-u USERNAME, –username=USERNAME –> AppDynamics username (usually name@domain format)
-p PASSWORD, –password=PASSWORD –> AppDynamics password
-a APPNAME, –application=APPNAME –> Name of your AppDynamics Application
-H HOSTNAME, –hostname=HOSTNAME –> Host name (including port) of your AppFirst Controller
-m METRICPATH, –metricpath=METRICPATH –> AppDynamics path (with \| separators) to the metric to poll. You may use wildcards ‘*’

As an example for Business Transactions, we arrive at the following command:
/usr/bin/python /usr/share/appfirst/plugins/libexec/poll-aroid/AfPoller/AfPoller.py --plugin=appdynamics -u username@account -p access_key -H controller_hostname -m "Business Transaction Performance|Business Transactions|novobiopharm|/my.aspx/results|Average Response Time (ms)" -a TreehouseTest --test --dry-run

The –test and –dry-run options execute the command, verbosely, without sending data to our backend. This is a good way to verify the information you are collecting. Once verified, you can remove these options and save the command in your Collector configuration.

Within the AppFirst product, navigate to Admin – Setup, click on the “Polled Data” tab, then click on the server you’re configuring. Below is an example of the command that should be added to the config file and what it looks like in the Polled Data Config editor:

command[ADPoll.TreehouseTest]=/usr/bin/python /usr/share/appfirst/plugins/libexec/poll-aroid/AfPoller/AfPoller.py –plugin=appdynamics -u appfirst@appfirst -p access_key -H appfirst.saas.appdynamics.com -m “Business Transaction Performance|Business Transactions|novobiopharm|/my.aspx/results|Average Response Time (ms)” -a TreehouseTest

22

Viewing AppDynamics Data in the Dashboard

To view AppDynamics data in your Dashboard, you can use the StatsD widget. Select the metric you’d like to view as well as any other configurations, then click Save.

Viewing AppDynamics Data in Correlate

In Correlate, your AppDynamics data is listed under StatsD. Once you search and find your metrics, you can click on them to add them to Correlate.

23

Alerting on AppDynamics Metrics

You can also set up alerts on any of your AppDynamics metrics. Head to Admin – Setup and click on the Alerts tab. Choose StatsD as the Source Type, and then select the AppDynamics metric you’d like to alert on from the list of StatsD metrics. Choose the recipients for the alert, then click save.

CloudWatch

For details on how to integrate your CloudWatch data into AppFirst, visit our GitHub page.