Docs » Getting Started » Send Data to SignalFx

Send Data to SignalFx

For the quickest ways to get started sending data in to SignalFx, see Install the SignalFx collectd agent, Connect to AWS CloudWatch, or Connect to Google Cloud Platform.

SignalFx also lets you send in data for many other infrastructures or applications, such as Kubernetes, Docker, Elasticsearch, and the Windows Perfcounter Reporter. Click Integrations in the navigation bar to open the Integrations page, which lists the available ways you can connect to SignalFx to send data in and receive notifications out.

For more detailed information about how to use the data that is sent in, and for detailed information on monitoring a Kubernetes environment, refer to our Integrations Guide.

Install the SignalFx collectd agent

The SignalFx collectd agent is a fast, lightweight agent that collects detailed infrastructure data from its host and supports a wide ecosystem of plugins for application-specific monitoring. This is the best choice for monitoring most Linux systems.

To install the SignalFx collectd agent, open the Integrations page and click the SignalFx collectd agent tile. Display the Install tab and run the command listed on that page on any host or container for which you have administrative privileges. This command will download, install and configure the SignalFx collectd agent on that host.

../_images/shellscript.png

You can also add collectd to your automated deploy system using our Chef cookbook or Puppet recipe for collectd. Get started with automated collectd deployment for many hosts by clicking the Chef or Puppet options under “Additional Installation Options.”

../_images/shellscript-options.png

Connect to AWS CloudWatch

If you’re an AWS customer, SignalFx can automatically import metrics and metadata about your AWS services from CloudWatch. To connect SignalFx to CloudWatch, you’ll create a new IAM role in AWS for SignalFx to use, provide information from SignalFx to that new role, then provide SignalFx with the role’s ARN. You must be an administrator of your SignalFx account to connect SignalFx to CloudWatch.

  1. To get started, log in to your AWS account.
  2. Open Identity & Access Management, then click Policies. (If it’s your first time here, you may see a Welcome screen; select Get Started.) Click Create Policy and select the option to Create Your Own Policy.
../_images/iam-mgmt.png ../_images/createpolicy.png
  1. Give the new policy a name and description, then copy the following code and paste it into the Policy Document:
{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Effect": "Allow",
   "Action": [
    "dynamodb:ListTables",
    "dynamodb:DescribeTable",
    "dynamodb:ListTagsOfResource",
    "ec2:DescribeInstances",
    "ec2:DescribeInstanceStatus",
    "ec2:DescribeVolumes",
    "ec2:DescribeTags",
    "cloudwatch:ListMetrics",
    "cloudwatch:GetMetricStatistics",
    "cloudwatch:DescribeAlarms",
    "sqs:ListQueues",
    "rds:DescribeDBInstances",
    "rds:ListTagsForResource",
    "elasticloadbalancing:DescribeLoadBalancers",
    "elasticloadbalancing:DescribeTags",
    "elasticache:describeCacheClusters",
    "redshift:DescribeClusters",
    "lambda:ListFunctions",
    "lambda:ListTags"
   ],
   "Resource": "*"
  }
 ]
}

Click Validate Policy to confirm that the policy is valid. Once you receive confirmation, click Create Policy.

  1. Next, open Roles. Create a new role, and give it a name. For the role type, choose “Role for Cross-Account Access”, and then select “Allows IAM users from a 3rd party AWS account to access this account.”
../_images/roletype.png
  1. Next, you’ll provide the role with information from SignalFx. In a new tab, open SignalFx and click Integrations to open the Integrations page. Click the Amazon Cloudwatch tile. Display the Install tab, scroll down if necessary, then click New Integration. From the fields that appear, copy SignalFx Account ID and External ID into the AWS role. You will return to this SignalFx tab in a later step, so leave it open. Switch back to the AWS tab and click Next.
../_images/signalfx-account-id.png
  1. Find and select the policy that you created earlier in step 2, and click Next Step to attach it.
  2. Review the information that you’ve entered, then click Create Role. You have now created a role that SignalFx can use to connect to CloudWatch.
  3. Click on the role that you’ve created, and copy the Role ARN. Switch back to the SignalFx tab, and paste the ARN in the text field labelled Role ARN.
../_images/signalfx-role-arn.png
  1. Choose the data that you wish SignalFx to import from CloudWatch. You can change this configuration later.
  • “Synchronize metadata”: With this option selected, SignalFx will import the properties of your AWS hosts and services, including region, account ID, and more. You can use this information to search, filter and aggregate your metrics.
  • “Import CloudWatch”: With this option selected, SignalFx will import CloudWatch metrics. By default, SignalFx will import all available data for every CloudWatch-enabled service and region in your AWS account. You can choose to import only a subset by clicking All Services or All Regions and selecting the services or regions of interest to you.
    • If you have custom namespaces with CloudWatch metrics that you want SignalFx to import, provide their names as a comma-separated list in the “Custom Namespaces” field.
    • By default, SignalFx will import CloudWatch metrics every 5 minutes. You can increase the frequency to every 1 minute (“Detailed Monitoring”) by selecting “1 MIN” next to Poll Rate.
  1. Click Save. Within minutes, your CloudWatch data will appear in SignalFx. You can view data from CloudWatch in Built-In Dashboards and Charts, and in Infrastructure Navigator.

Connect to Google Cloud Platform

To connect SignalFx to Google Cloud Platform (GCP), you’ll create a new service account key for SignalFx to use and specify services to monitor in SignalFx. You must be an administrator of your SignalFx account to connect SignalFx to GCP.

Part 1 - Select a role for the GCP service account

The recommended method to connect to GCP is use a Project Viewer role for the service account you create. Choosing this role assures that any future functionality updates implemented in SignalFx will not require any changes to your GCP setup. If you plan to use this role, you can skip to Part 2 - Configure GCP.

If you want to create a role with more restrictive permissions than those available to the Project Viewer role, you can create a new role to use for the service account you create.

About permissions

If you don’t specify sufficient permissions for the role associated with the service account, you will see an error message when you try to connect the project in SignalFx. If you see this error, review the permissions assigned to the role and add any permissions that have not been enabled or, alternately, change the role for the service account to Project Viewer.

The following table specifies the permissions required for this role.

Permission Required?
monitoring.metricDescriptors.get yes
monitoring.metricDescriptors.list yes
monitoring.timeSeries.list yes
resourcemanager.projects.get if you want to sync project metadata, such as labels
compute.instances.list if the Compute Engine service is enabled
compute.machineTypes.list if the Compute Engine service is enabled
spanner.instances.list if the Spanner service is enabled
storage.buckets.list if the Spanner service is enabled

Part 2 - Configure GCP

  1. In a new tab, log in to your GCP account.

  2. Open the GCP web console and select a project you want to monitor.

  3. From the sidebar, select IAM & admin ‣ Service Accounts.

    ../_images/gcp-iam.png


  4. Click CREATE SERVICE ACCOUNT at the top of the screen and enter SignalFx as the service account name. Set the role as either Project ‣ Viewer or a role you created in Part 1.

    ../_images/gcp-add-service-account.png


  5. Select Furnish a new private key and specify a key type of JSON.

    ../_images/gcp-json.png


  6. Click CREATE. This will cause a new service account key file to be downloaded to your computer. Make sure you know where it is downloaded to, because you will need it later.

    ../_images/gcp-json-saved.png


  7. In a separate window or tab, go to https://console.cloud.google.com/apis/library/cloudresourcemanager.googleapis.com/ and confirm the Resource Manager API is enabled for this project. SignalFx uses this API to validate permissions on the service account keys.

  8. For each project you want to monitor using this integration, repeat the above steps so that you have downloaded a service account key and enabled the Resource Manager API for each project.

Part 3 - Complete the configuration in SignalFx

  1. Open SignalFx and click Integrations to open the Integrations page. Look for the tile named Google Cloud Platform. You can search for it by name, or find it in either the Essential Services or Services Monitored sections.

  2. Click the Google Cloud Platform tile. Display the Install tab, scroll down if necessary, then click New Integration to display the configuration options.

    ../_images/gcp-modal.png


  3. If you wish, change the default name for this integration.

  4. Click Add Project, then click Import Service Account Key. Select one or more of the JSON keys that you downloaded from GCP in the steps above. Select all the keys you want to add, then click Open. Project IDs corresponding to the service account keys you imported will be displayed.

    ../_images/gcp-added-project.png
  5. By default, all available services are monitored, and any new services that are added later will also be monitored. If you want to import metrics from only some of the available services, click the All Services link to display a list of the services you can monitor. Select the services you want to monitor and click Apply.

  6. The default poll rate is 5 minutes. If you prefer a more frequent poll rate, change the poll rate to 1 minute.

  7. If you selected Compute Engine as one of the services to monitor, you can enter a comma-separated list of Compute Engine Instance metadata keys to send as properties. As described in Monitor Google Cloud Platform, these are sent as properties named gcp_metadata_<metadata-key>.

  8. Click Save to complete the process of implementing this integration.

Tip

When you have completed the GCP and SignalFx configuration steps, SignalFx will start receiving metrics from GCP for the specified project(s). For information on GCP metrics and metadata that are available in SignalFx, see Monitor Google Cloud Platform.